Jeder neue Chat beginnt mit einem Agenten, der Ihre Dokumente vergessen hat. Er kann sie erneut einlesen, was Zeit und Kontext kostet, oder er kann etwas zu Rate ziehen, das sich erinnert. GroupDocs.Search.Mcp hält einen benannten Volltextindex auf der Festplatte, lokal, der zwischen Sitzungen und Container‑Neustarts überlebt, sodass Claude Desktop, Cursor oder Copilot jede Sitzung mit den bereits durchsuchbaren Projektdokumenten starten und sie mit einem Aufruf aktualisieren, wenn sich Dateien ändern:
Ich habe einige Verträge bearbeitet. Aktualisieren Sie den Vertragsindex und sagen Sie mir dann, welche Verträge jetzt eine Strafe erwähnen.
Die schrittweise Version mit Konfiguration und Fehlersuche finden Sie in der Dokumentation: Wie man einen Dokumentenindex bei Dateiänderungen aktuell hält.
Was bedeutet „Gedächtnis“ für einen Agenten?
In der Praxis zwei Dinge: ein Zustand, der außerhalb der Unterhaltung persistiert, und ein günstiger Weg, diesen Zustand wahr zu halten. Der Chatverlauf scheitert an beidem: er endet mit der Sitzung und nichts aktualisiert ihn, wenn sich ein Dokument ändert. Ein Suchindex passt besser zu Dokumenten. Er liegt auf der Festplatte neben ihnen, beantwortet „welche Dateien sagen X“ ohne sie zu laden und kann inkrementell aktualisiert werden.
session 1 add_to_index --> index "contracts" --+
| kept on disk in
session 2 search, get_text_fragments <--------+ /data/.groupdocs-search-
(nothing is re-read) index/contracts
files edit update_index --> re-reads changed, added, deleted files only
new project create_index {"indexName":"legal-2026"} --> a separate index
Wie funktioniert das Aktualisieren?
update_index vergleicht den Index mit den Dateien auf der Festplatte und liest nur das erneut ein, was sich geändert hat. Hier ist, was der Server in unserem Test zurückgab, nachdem einem Vertrag zwischen zwei Aufrufen eine Strafklausel hinzugefügt wurde:
-> get_index_info {"indexName":"contracts"}
<- { "documentCount": 5, "indexedPaths": [ "contracts" ],
"documentsWithErrors": [], "status": "Ready" }
-> update_index {"indexName":"contracts"}
<- Index 'contracts' updated: 0 added, 1 updated, 0 removed;
5 document(s) in the index.
-> search {"query":"penalty","indexName":"contracts"}
<- documentsFound 3, including the edited initech-nda.docx
Die Zählungen zeigen, was passiert ist: eine Datei wurde erneut eingelesen, sonst nichts wurde berührt. Gelöschte Dateien fallen beim selben Aufruf heraus.
Warum ein Index pro Projekt?
Weil separate Korpora separate Antworten verdienen. Eine Frage zu den diesjährigen Verträgen sollte nicht die Entwürfe des Vorjahres hervorbringen, und die Dokumente eines Kunden sollten nicht mit denen eines anderen Kunden vermischt werden. Indexnamen sind günstig:
-> create_index {"indexName":"legal-2026"}
<- Index 'legal-2026' created. Add documents with add_to_index
(indexName: 'legal-2026').
Jeder Index ist ein Ordner unter /data/.groupdocs-search-index, und get_index_info ohne Namen listet sie alle auf. Sie benötigen create_index selten explizit, weil add_to_index beim ersten Gebrauch einen Index erstellt, aber sie bewusst zu benennen ist das, was „ein Index“ in „das Gedächtnis dieses Projekts“ verwandelt.
Die eine Regel zum Entfernen
Die Engine entfernt Pfade, die hinzugefügt wurden, nicht einzelne Dateien darin. Der Server sagt das deutlich, wenn Sie es versuchen:
-> remove_from_index {"documentPath":"contracts/hooli-supply-terms.txt",...}
<- Removal failed for 'contracts/hooli-supply-terms.txt':
'contracts/hooli-supply-terms.txt' is inside the indexed folder
'contracts'. GroupDocs.Search removes whole indexed paths only: ...
Planen Sie also entsprechend: Wenn Sie erwarten, später einen Teil eines Korpus zu entfernen, etwa ein Jahr, einen Kunden oder die Entwürfe, indexieren Sie diese Teile als separate Pfade (contracts/2025, contracts/2026) und jeder kann einzeln entfernt werden. Das Löschen einer Datei auf der Festplatte und das Ausführen von update_index entfernt sie ebenfalls.
Aktuell halten, ohne zu fragen
create_index (optional)
|
v
add_to_index ---> search ---> get_text_fragments
^ ^
| | get_index_info: counts, paths, status
update_index (files changed on disk)
|
remove_from_index (only a path that was given to add_to_index)
Drei praktische Möglichkeiten, das Aktualisieren zu automatisieren:
- In den Anweisungen des Agenten. Eine Zeile in
CLAUDE.mdoderAGENTS.md, „rufeupdate_indexfür den Index dieses Projekts auf, bevor du antwortest, falls sich Dateien geändert haben“, lässt den Agenten dies zu Beginn einer Sitzung tun. - Nach Zeitplan. Jede MCP‑fähige Automatisierung kann
update_indexnachts aufrufen; wenn sich wenig geändert hat, ist der Aufruf schnell. - Nach einem Massenkopiervorgang. Ein Aufruf erfasst jede hinzugefügte Datei.
Indizes überstehen auch Upgrades: Indizes, die von GroupDocs.Search 22.7 bis 26.8 erstellt wurden, werden beim ersten Gebrauch konvertiert, wobei ein Backup daneben aufbewahrt wird.
Was der Agent entscheidet und was der Index tut
| Was der Agent entscheidet | Was der Index tut |
|---|---|
| welcher Index zu einer Frage gehört | hält jeden benannten Index in einem eigenen Ordner |
| wann Dateien sich geändert haben könnten | liest nur geänderte, hinzugefügte und gelöschte Dateien erneut ein |
| welche Wörter zu suchen sind und welche Varianten zu versuchen | findet Wörter, Phrasen, Bereiche; meldet die gefundenen Begriffe |
| wie viel Kontext zu zitieren ist | gibt Passagen mit der gewünschten Anzahl an Wörtern davor und danach zurück |
| was Ihnen gesagt werden soll | nichts: es gibt Zählungen, Pfade und Text zurück, nie Schlussfolgerungen |
Die Aufteilung ist bewusst. Das Urteil bleibt beim Modell, und die Fakten, aus denen es schlussfolgert, stammen aus einem Werkzeug, dessen Ausgabe Sie prüfen können.
Ehrliche Grenzen
- Im Evaluierungsmodus enthält ein Index höchstens 100 Dokumente und eine Suche liefert höchstens 10 Ergebnisse. Rufen Sie
get_license_statusauf, bevor Sie sich auf einen Index als Wahrheitsquelle verlassen. - Der Index bleibt nur erhalten, wenn
/data(oder das Index‑Volume) ein gemounteter Host‑Ordner ist; andernfalls verschwindet er mit dem Container. - Der Index enthält den Text der Dokumente: schützen und entsorgen Sie ihn wie die Dokumente.
- Nur Docker; unter Linux fügen Sie
--user "$(id -u):$(id -g)"hinzu, damit der Container den Index schreiben kann.
FAQ
Erinnert sich der Agent an meine Dokumente zwischen Sitzungen?
Mit einem persistenten Index ja: Der Index bleibt auf der Festplatte und die nächste Sitzung durchsucht ihn, ohne etwas erneut einzulesen.
Muss ich den Index neu erstellen, wenn sich Dateien ändern?
Nein. update_index liest nur geänderte, hinzugefügte und gelöschte Dateien erneut ein.
Kann ich den Index von schreibgeschützten Dokumenten trennen?
Ja. Mounten Sie die Dokumente schreibgeschützt, mounten Sie einen beschreibbaren Ordner unter /index und setzen Sie GROUPDOCS_MCP_INDEX_PATH=/index.
Weiterführende Informationen
- Dokumentation, kanonische Anleitung: Wie man einen Dokumentenindex bei Dateiänderungen aktuell hält
- Dokumentationszentrum: GroupDocs.Search MCP Server
- Hier starten: Benötigen Sie eine Vektordatenbank, um Fragen zu einem Ordner mit Dokumenten zu stellen?
- Verwandt: grep kann PDF nicht lesen: Geben Sie Ihrem Coding-Agenten einen Dokumentenindex
- Verwandt: Warum ein KI-Agent nicht 300 Verträge lesen sollte, um eine Frage zu beantworten
- Verwandt: Fundierte Antworten aus Ihren Dateien: Zitieren Sie den Abschnitt, nicht das Gedächtnis des Modells
- Verwandt: Durchsuchen Sie Ihr E‑Mail‑Archiv mit einem KI‑Agenten: PST, MSG, EML und die darin enthaltenen Anhänge
- On‑Premise und Sicherheitsmodell: 3 Architekturen für KI‑Dokumentenverarbeitung und die, die Dateien in Ihrem Netzwerk hält
- Engine‑Release: GroupDocs.Search für .NET 26.10 – Highlights der Oktober 2026 Veröffentlichung
- Fragen: GroupDocs Search Forum
- Quelle: GroupDocs.Search.Mcp auf GitHub