שרת GroupDocs MCP מאפשר ל‑Claude Desktop, Claude Code, Cursor, GitHub Copilot וללקוחות MCP אחרים לעבוד עם המסמכים שלך מקומית: הלקוח מפעיל את השרת כתהליך צאצא במחשב שלך, והקבצים נקראים ונכתבים בתיקיות שאתה בוחר. הארכיטקטורה המלאה והמודל האבטחה מתועדים בדף של כל מוצר על‑premise, לדוגמה Running GroupDocs MCP servers on-premise: architecture and security model. פוסט זה משווה את שלוש השיטות הנפוצות לחיבור סוכן AI למסמכים ומסביר מה יוצא ומה נשאר במכונה.

אילו ארכיטקטורות יכולות לחבר סוכן AI למסמכים?

יש שלוש. הן נבדלות בשאלה שהמבקר האבטחה שואל ראשונה: לאן הולך המסמך?

העלאת קובץ לענן API מתארח שרת MCP מקומי
איך זה עובד העוזר או תוסף מעלה את הקובץ לשירות של ספק הקוד או הסוכן שלך קורא ל‑REST API של ספק עם הקובץ לקוח ה‑AI מפעיל תהליך שרת במחשב שלך
לאן הולך המסמך ענן של צד שלישי ענן של צד שלישי או השוכר שלך לא לשום מקום: קורא ונכתב בתיקיות מקומיות
משטח רשת יציאה אל הספק יציאה אל הספק רק stdio; ללא קובץ רישיון, רק דוחות שימוש (ללא תוכן מסמך) עם רישיון מדוד
פורטים נכנסים לא ישים לא ישים אין
שימוש באוויר‑גפ לא אפשרי בדרך כלל לא; תלוי באפשרויות הפריסה של הספק אפשרי עם קובץ רישיון
מי מריץ זאת הספק הספק אתה, כחלק מלקוח ה‑AI

העמודה השלישית היא מה שמיישמים שרתי GroupDocs MCP. שאר הפוסט מסביר איך זה עובד והיכן הגבולות.

איך נראה זרימת הנתונים של שרת MCP מקומי?

לקוח ה‑AI משגר את השרת כתהליך צאצא ומתקשר איתו דרך קלט ופלט סטנדרטיים (stdio) באמצעות JSON‑RPC. השרת לעולם לא מאזין על פורט רשת, ובשימוש בקובץ רישיון הוא גם לא יוצר חיבורים יוצאים.

+--------------+          +--------------------+         +------------------+
|  AI client   |  stdio   | MCP server process | reads / | local filesystem |
| (Claude,     | <------> | (GroupDocs engine) | <-----> | storage / output |
|  Cursor, ..) | JSON-RPC |   child process    |  writes |     folders      |
+--------------+          +--------------------+         +------------------+
       |
       | prompts and quoted fragments only
       v
+--------------------+
|   model provider   |  (cloud, or a local model inside your network)
+--------------------+

בוחן האבטחה מקבל ארבעה הצהרות שניתן לבדוק:

  • Transport: קלט ופלט סטנדרטיים לתהליך צאצא. אין מה לחסום בחומת אש ואין מה לחשוף.
  • Inbound ports: אין.
  • Telemetry: אין. מנוע המסמכים פועל בתהליך.
  • Network use: רק בזמן ההתקנה, כדי למשוך את החבילה מ‑nuget.org או את הדימוי מ‑ghcr.io. בזמן הריצה השרת לא מבצע קריאות יוצאות, למעט חריגת רישיון המתוארת למטה.

אתה יכול לאמת זאת במקום לסמוך עליו: הרץ משימה וצפה ב‑sockets שמקשיבים ובחיבורים יוצאים.

מה יוצא מהמכונה כאשר סוכן מעבד מסמך?

המסמכים אינם יוצאים מהמכונה. ההנחיות והקטעים המצוטטים כן.

המודל שמאחורי לקוח ה‑AI שלך רואה את השיחה. אם המודל מתארח בענן, טקסט ההוראות שלך מגיע לספק המודל, וכך גם כל מה שהסוכן מצטט בחזרה אליך. שני דוגמאות:

  • אחרי השוואה, סוכן מדווח שהסעיף בתשלום השתנה מ‑30 ל‑45 ימים. המשפט הוא חלק מהשיחה ונשלח לספק.
  • אחרי חילוץ, סוכן מדווח על סכום חשבונית. הקובץ לא זז, אך הערך כן.

הרגל מועיל הוא לנסח הנחיות כך שהתשובה תכיל פחות תוכן, למשל לשאול אילו קבצים חורגים מסף מסוים במקום לבקש את הסכומים. עבור קורפוסים רגישים, חבר את השרת עם מודל מתארח מקומית. כך כל הלולאה (לקוח, מודל, שרת, קבצים) נשארת בתוך הרשת שלך.

האם שרת מקומי צריך גישה לאינטרנט?

לא לעיבוד. זה תלוי במצב הרישיון:

  • License file: נקרא מהדיסק המקומי על‑ידי התהליך המקומי. זה עובד באופן מלא אופליין והוא הבחירה הנכונה לרשתות מבודדות.
  • Metered (pay‑per‑use): השרת מדווח usage ל‑GroupDocs, ולכן הוא זקוק ליציאה חיצונית. הדוח אינו מכיל תוכן מסמך, אך החיבור עצמו חייב להיות מורשה על‑ידי חומת האש.

אם הן מפתחות מדודים והן קובץ רישיון מוגדרים, מפתחות מדודים מקבלים עדיפות. שמור את המפתחות במשתני סביבה ולא בקונפיגורציה שמחויבת. דף הרישיון של כל מוצר מתאר את ההגדרה, וכלי get_license_status מדווח על המצב הפעיל.

איך מריצים את השרת בתוך ההיקף עם Docker?

דימוי Docker הוא לרוב האפשרות הקלה יותר לצוות פלטפורמה: דימוי אחד עם כל התלויות הטבעיות, ללא SDK על המארח, והגבול מוגבל לתיקיות שאתה מMount. לכל מוצר יש דימוי משלו, בשם ghcr.io/groupdocs-<product>/<product>-net-mcp. הפקודה למטה מציגה את הצורה עבור מוצר אחד; החלף את המשתנים.

docker run --rm -i \
  -v /srv/documents:/data \
  -v /srv/licenses:/license:ro \
  -e GROUPDOCS_MCP_STORAGE_PATH=/data \
  -e GROUPDOCS_LICENSE_PATH=/license/GroupDocs.<Product>.lic \
  ghcr.io/groupdocs-<product>/<product>-net-mcp:<tag>
  • Pin the tag. פקודות ההתחלה המהירות משתמשות ב‑:latest; עבור ייצור, קבע את התג לגרסה שבדקת כך שבנייה מחדש לא תשנה את ההתנהגות תחת זרימת עבודה רצה.
  • Mount deliberately. המכולה רואה רק את התיקיות שאתה נותן לה, מה שמספק גבול tighter מאשר תהליך שרץ כמשתמש שלך.
  • Mount the license read‑only.
  • Air‑gapped segments: משוך מראש את הדימוי, או שמור במטמון את חבילת NuGet, וקבע את הגרסה.

לקוח ה‑AI שלך מריץ פקודת docker run זו כפקודת השרת בתצורת MCP שלו, ולכן המכולה היא תהליך הצאצא בתרשים למעלה. המסמכים מתארים את הדימויים כ‑multi‑arch (linux/amd64 ו‑linux/arm64).

האם שרת MCP מקומי מתאים לתעשיות מוסדרות?

הוא מסיר את השאלה המרכזית בביקורת פרטיות, שהיא העברת מסמכים למעבד צד שלישי. צוותים משפטיים, פיננסיים, בריאותיים ובמגזר הציבורי שהמדיניות שלהם אוסרת העלאת מסמכים יכולים להשתמש בו כבלוק בנייה לעבודה בהתאם ל‑HIPAA או GDPR. תיאור זה מתמקד רק בהתאמה ארכיטקטונית. שרתי GroupDocs MCP אינם מוסמכים עבור אף תקנה, והחובות שלך עדיין תלויות במודל שאתה משלב איתו, במצב הרישיון ובבקרות שלך.

מה הגבולות של מודל זה?

  • שרת אחד משרת תהליך לקוח אחד. שרת stdio נפתח על‑ידי לקוח אחד במכונה אחת. הוא אינו שירות מרובה‑משתמשים. לשירות משותף, הצב שירות משלך לפני ספריית GroupDocs במקום להריץ שרתי MCP מרובים.
  • רישיון מדוד דורש יציאה. דוחות שימוש נשלחים החוצה, כפי שתואר למעלה. בחר קובץ רישיון אם הרשת חייבת להיות סגורה.
  • ההנחיות עדיין מגיעות לספק המודל אלא אם אתה משתמש במודל מתארח מקומית.
  • מצב הערכה עם מגבלות. ללא רישיון השרתים פועלים במצב הערכה עם הגבלות ספציפיות למוצר. לדוגמה, שרת Comparison משווה רק את 2 העמודים הראשונים ומסמן את התוצאה במים. קרא get_license_status תחילה וקרא את דף הרישיון של המוצר שלך.
  • Parser ו‑Search זמינים רק כדימויי Docker. ל‑GroupDocs.Parser.Mcp ול‑GroupDocs.Search.Mcp אין חבילת NuGet, ולכן הנתיב דרך Docker הוא היחיד עבור מוצרים אלה. במארח Linux, הרץ את המכולות שלהם עם --user "$(id -u):$(id -g)" כדי שיוכלו לכתוב לתיקיות שאתה מMount.
  • חריגות פלטפורמה. שתי פעולות ספציפיות ל‑PDF נכשלות כרגע ב‑Linux, כולל דימוי Docker, מכיוון שהטיפול בתמונות במנוע PDF תלוי ב‑System.Drawing.Common, שה‑.NET תומך בו רק ב‑Windows: GroupDocs.Annotation.Mcp generate_pages_preview על קבצי PDF (קבצי Word מוצגים), ו‑GroupDocs.Redaction.Mcp redact_image_area ו‑erase_metadata על קבצי PDF (redact_text על PDF, וכל שלוש על קבצי Word, פועלים). הרץ אותם ב‑Windows עם dnx; ראה פוסטים של המוצר.

שאלות נפוצות

האם MCP בטוח למסמכים רגישים?
עם שרת GroupDocs MCP המסמכים מעובדים בתהליך על‑המחשב שלך דרך stdio, ללא פורטים מאזינים וללא טלמטריה. מה שנשאר להעריך הוא המודל שה‑AI שלך משתמש בו, מכיוון שההנחיות והקטעים המצוטטים נשלחים לשם.

האם אפשר להריץ כלי Claude ללא שליחת נתונים לענן?
המסמכים נשארים מקומיים בכל מקרה. כדי לשמור גם על ההנחיות מקומיות, השתמש בלקוח שתומך במודל מתארח מקומית, כך שאין חלק מהשיחה שעוזב את הרשת שלך.

איזה נתונים שולח שרת MCP?
בזמן ריצה, שרת GroupDocs MCP לא שולח דבר ברשת כאשר משתמשים בקובץ רישיון. עם רישיון מדוד הוא שולח דוחות שימוש ל‑GroupDocs, אך לעולם לא תוכן מסמך.

לפי מוצר: דפי on‑premise בתיעוד

כל דף מכסה את אותה ארכיטקטורה עם הפקודות למוצר זה. אלו הן ההתייחסויות הקנוניות לביקורת אבטחה.

לפי מוצר: היכן להתחיל בבלוג

לכל מוצר יש סדרת פוסטים — ארבעה ברובם, שש עבור Search. הראשון מסביר את התבנית; השאר מיישמים אותה.