לעיתים, לא. עבור תיקייה של חוזים, דוחות או אימייל, סוכן AI עם כלי חיפוש טקסט מלא מוצא את הקבצים הנכונים, קורא רק את הקטעים המתאימים ומצטט אותם, והאינדקס פועל מקומית ללא מודל הטמעה וללא מאגר וקטורים. GroupDocs.Search.Mcp מספק ל‑Claude Desktop, Claude Code, Cursor או Copilot את הכלי הזה בפקודה אחת של Docker:
אינדקס את תיקיית החוזים, ואז תגיד לי אילו חוזים מזכירים קנס סיום וצטט את הסעיף.
הגרסה שלב‑אחר‑שלב עם תצורה ופתרון בעיות נמצאת בתיעוד: כיצד לחפש מסמכים עם סוכני AI באמצעות MCP.
למה כולם פונים להטמעות ראשונה?
כי “הפקת‑תשובה משולבת‑חיפוש” הגיעה כמתכון: לחלק את המסמכים לחלקים, להטמיע כל חלק, לאחסן את הווקטורים, להטמיע את השאלה, לקחת את החלקים הקרובים ביותר ולהדביק אותם לתוך הפרומפט. זה עובד, ולשאלות שמנוסחות בצורה שונה לחלוטין מהמסמכים זה הכלי הנכון. אבל זה צינור עם מודל הטמעה שיש לקרוא, מאגר שיש להריץ, חיתוך שיש לכוונן, ומשימת הטמעה מחדש בכל פעם שהמסמכים משתנים. עבור “אילו מה-300 חוזים שלי מזכירים קנס סיום”, המערכת הזו משיבה על שאלה שהאינדקס מחפש משיב עליה ישירות.
הראיות השיגו את האינטואיציה. מחקר שפורסם ב‑arXiv בסוף 2025 (Keyword search is all you need) נתן לסוכן רק חיפוש מילות‑מפתח ו‑regex על תיקייה ומדד אותו מול צינור RAG סטנדרטי: יותר מ‑90% מציוני ה‑RAG, ללא מאגר וקטורים, ומתאים יותר לאוספים שמשתנים לעיתים קרובות. סוכני קוד כבר הראו את הדפוס בפועל: הם מחפשים עם grep, משפרים, ומחפשים שוב.
מה הסוכן עושה במקום זאת?
שלושה קריאות. GroupDocs.Search.Mcp חושף שמונה כלים; הלולאה דורשת שלושה מהם:
user agent Search MCP server
| "Which contracts mention a termination penalty?" |
|---------------->| |
| |-- add_to_index ------------------------->| reads the
| | {"documentsPath":"contracts", | files once,
| | "indexName":"contracts"} | stores text
| |<- "5 document(s) added, 5 in the index" --|
| |-- search ------------------------------->|
| | {"query":"termination AND penalty"} |
| |<- {"documentsFound":3, "documents":[ ... | which files
| |-- get_text_fragments ------------------->|
| | {"query":"\"termination penalty\""} |
| |<- === contracts/acme-...-agreement.pdf ===| the passages
|<- "Two contracts carry one: Acme (3 monthly fees, 12.3), |
| Globex (50% of the remaining fees). Initech excludes it."|
add_to_index קורא את הקבצים פעם אחת ושומר את הטקסט באינדקס בשם על הדיסק. search מחזיר את הקבצים המתאימים כ‑JSON עם ספירות הופעות. get_text_fragments מחזיר כל התאמה עם כמה מילים של הקשר, כך שהסוכן מצטט את הסעיף במקום לטעון את כל החוזה.
להלן מה שהשרת החזיר בפועל בבדיקה שלנו, נגד חמישה חוזים סינתטיים:
-> search {"query":"termination AND penalty","indexName":"contracts"}
<- documentsFound 3: acme-master-services-agreement.pdf,
globex-consulting-agreement.docx, initech-nda.docx
-> get_text_fragments {"query":"\"termination penalty\"",...}
<- === contracts/acme-master-services-agreement.pdf (1 occurrence(s)) ===
…a termination penalty of three monthly fees applies, payable
within 30…
=== contracts/globex-consulting-agreement.docx (1 occurrence(s)) ===
…Early termination penalty: the Client pays 50 percent of the fees…
שימו לב לחוזה השלישי. ה‑NDA של Initech התאמה ל‑termination AND penalty מכיוון שהוא אומר “אין שום עמלה ואין קנס הקשור לסיום” . הקטע הוא מה שמבדיל התאמה מזכירה, וסוכן הקורא את הקטעים מציין זאת. זהו חיזוק: כל טענה בתשובה מציינת קובץ ומשפט שניתן לפתוח.
היכן כל גישה מנצחת?
צינור הטמעה חיפוש טקסט מלא מבוסס‑סוכן
------------------------------------- -------------------------------------
פיצול, הטמעה, אחסון במאגר וקטורים add_to_index: אינדקס טקסט מלא מקומי
הטמעת השאלה, לקיחת k‑החלקים העליונים agent searches, refines, searches again
הדבקת החלקים לתוך הפרומפט get_text_fragments: קטעים מצוטטים
הטמעה מחדש כאשר המסמכים משתנים update_index קורא מחדש את מה שהשתנה
דורש מודל הטמעה ומאגר אין קריאות למודל, אין רשת בזמן ריצה
מתאים למשמעות; דירוג אינו שקוף מתאים למילים; כל התאמה ניתנת להסבר
חיפוש טקסט מלא מפסיד כאשר השאלה והמסמך אינם חולקים מילים: “אילו חוזים מסוכנים עבורנו?” אין מילות מפתח. הוא מנצח כאשר המילון משותף, מה שמתאר את רוב השאלות שאנשים שואלים על המסמכים שלהם: שם סעיף, מוצר, לקוח, מספר חשבונית, טווח תאריכים. כאשר שאילתה מפספסת, הסוכן מנסה renewal OR renews, או התאמה מעורפלת, כמו אדם. השרת מסייע: שאילתה של שני מילים ללא ציטוטים לא מתאימה לשום דבר ב‑GroupDocs.Search, והתוצאה הריקה כוללת hint שמורה לסוכן לצטט את הביטוי.
איזה כלי עבור איזו שאלה?
| המשתמש שואל | הסוכן קורא |
|---|---|
| “אינדקס את התיקייה הזו” | add_to_index |
| “אילו קבצים מזכירים X?” | search |
| “מה הוא אומר על X?” | get_text_fragments |
| “הקבצים השתנו, רענן” | update_index |
| “שכח את תיקיית הטיוטות” | remove_from_index |
| “מה נמצא באינדקס?” | get_index_info |
| “התחל אינדקס נפרד” | create_index |
| “למה רק 10 תוצאות?” | get_license_status |
האינדקס תומך ב‑82 פורמטים, כולל PDF, Office, OpenDocument, HTML, וארכיוני אימייל (PST, OST, MSG, EML) עם הקבצים המצורפים שלהם.
איך מריצים את זה?
claude mcp add groupdocs-search -- docker run --rm -i \
-v /path/to/documents:/data ghcr.io/groupdocs-search/search-net-mcp:latest
Cursor, Claude Desktop, VS Code עם GitHub Copilot והלקוחות האחרים משתמשים באותו מכולה בקובץ ההגדרה שלהם: הירשם בלקוחות AI. בלינוקס הוסיפו --user "$(id -u):$(id -g)" כדי שהמכולה תוכל לכתוב את האינדקס לתיקייה שלכם. השרת מריץ את מנוע GroupDocs.Search 26.10, שהפורמט החדש של האינדקס מקטין את האינדקסים וכמעט מחצית את השימוש בזיכרון (release notes).
מגבלות כנות
- במצב הערכה אינדקס מכיל לכל היותר 100 מסמכים וחיפוש מחזיר לכל היותר 10; כל תגובה מציינת זאת. קראו קודם
get_license_status. - זה חיפוש טקסט מלא, לא חיפוש סמנטי: הוא מתאים מילים, לא משמעות.
- אין OCR: קבצי PDF סרוקים ללא שכבת טקסט מאונדקסים רק לפי מאפייני הקובץ.
- הוא משוגר רק כתמונת Docker (הכלי הארוז חורג ממגבלת הגודל של NuGet).
שאלות נפוצות
האם Claude יכול לחפש במסמכים המקומיים שלי ללא העלאה?
כן. השרת פועל במכולה במחשב שלך וקורא את התיקייה שאתה מ mount; רק הקטעים שהסוכן מצטט מגיעים למודל.
האם זה RAG?
זה משולב‑חיפוש, אך סוכני: המודל מחליט מה לחפש ומתי יש מספיק, תוך שימוש באינדקס טקסט מלא במקום הטמעות.
מה קורה כאשר המסמכים שלי משתנים?
בקש מהסוכן לרענן. update_index קורא מחדש רק את הקבצים שהשתנו, נוספו או נמחקו.
להעמיק יותר
- תיעוד, מדריך קנוני: How to search documents with AI agents using MCP
- מרכז תיעוד: GroupDocs.Search MCP Server
- עבור סוכני קוד: grep לא יכול לקרוא PDF: תן לסוכן הקוד שלך אינדקס מסמכים
- קשור: למה סוכן AI לא צריך לקרוא 300 חוזים כדי לענות על שאלה אחת
- קשור: תשובות מבוססות מהקבצים שלך: צטט את הקטע, לא את זיכרון המודל
- קשור: חפש בארכיון האימייל שלך עם סוכן AI: PST, MSG, EML והקבצים המצורפים בפנים
- קשור: זיכרון פרויקט לסוכני AI: אינדקס אחד לכל פרויקט, מתעדכן
- מודל פריסה וביטחון: 3 ארכיטקטורות לעיבוד מסמכי AI, והזו ששומרת קבצים בתוך הרשת שלך
- שחרור מנוע: GroupDocs.Search for .NET 26.10 – אוקטובר 2026 – נקודות מרכזיות של השחרור
- שאלות: פורום GroupDocs Search
- מקור: GroupDocs.Search.Mcp ב‑GitHub