Váš programovací agent je velmi dobrý v hledání věcí v repozitáři, pokud jsou textové. Požádejte Claude Code nebo Cursor, co datasheet senzoru říká o provozní teplotě, a on použije grep, nic nenajde a buď hádá, nebo se vzdá, protože datasheet je PDF a záznam rozhodnutí je Word soubor. GroupDocs.Search.Mcp běží lokálně v Dockeru a poskytuje agentovi full‑textový index nad těmito dokumenty, se stejným cyklem hledat‑pak‑číst, který už používá pro kód:
Indexujte složku docs a pak mi řekněte, co datasheet senzoru říká o provozní teplotě a který ADR rozhodl o úložišti telemetrie.
Verze krok za krokem s konfigurací a řešením problémů je v dokumentaci: Jak nechat Claude Code nebo Cursor prohledávat PDF a Word dokumenty v repozitáři.
Proč grep vrací prázdný výsledek?
Protože PDF a DOCX neukládají svá slova jako prostý text. DOCX je zip archiv; PDF komprimuje své textové proudy. Hledat po bajtu a slova tam nejsou. Otestovali jsme to na malém repozitáři: jeden PDF datasheet, záznam rozhodnutí o architektuře a požadavkový dokument v DOCX a zdrojový soubor.
$ grep -ri "TimescaleDB\|operating temperature\|I2C" docs/
$ grep -rn "datasheet" src/
src/sensor.py:1:MAX_TEMP_C = 85 # see docs/datasheet
Jediný výskyt je komentář v kódu, který odkazuje na dokument, který agent nemůže přečíst. To je mezera: důvod za konstantou, rozhodnutí za návrhem, požadavek za testem často žijí právě v těchto souborech.
Co se změní s indexem?
Agent získá nástroj pro vyhledávání dokumentů. Zaregistrujte server z kořene repozitáře, aby byl repozitář připojen jako složka úložiště:
claude mcp add groupdocs-search -- docker run --rm -i \
-v "$(pwd)":/data ghcr.io/groupdocs-search/search-net-mcp:latest
Pak stejné otázky vrátí odpovědi. Toto server vrátil v našem testovacím repozitáři (cesty zobrazené relativně ke kořenu repozitáře):
-> add_to_index {"documentsPath":"docs","indexName":"gateway"}
<- Indexed 'docs' into index 'gateway': 3 document(s) added,
3 in the index.
-> search {"query":"TimescaleDB","indexName":"gateway"}
<- documentsFound 1: docs/adr-007-telemetry-storage.docx
-> get_text_fragments {"query":"I2C","indexName":"gateway"}
<- === docs/requirements-v2.docx (1 occurrence(s)) ===
…REQ-15: the I2C bus runs at 400 kHz.…
=== docs/tmp117-sensor-datasheet.pdf (1 occurrence(s)) ===
…I2C address selection: ADD0 pin to GND gives 0x48…
Jeden dotaz našel požadavek a řádek z datasheetu dohromady, což je typ křížové reference, kterou je obtížné provést ručně a nemožné pomocí grep. Na našem malém indexu se vyhledávání vrátilo za 80 až 240 milisekund po prvním volání.
Smyčka, kterou agent už zná
user agent Search MCP server
| "What does the datasheet say about I2C addresses?" |
|---------------->| |
| |-- search {"query":"I2C"} --------------->|
| |<- requirements-v2.docx, |
| | tmp117-sensor-datasheet.pdf ------------|
| |-- get_text_fragments {"query":"I2C"} --->|
| |<- "...ADD0 pin to GND gives 0x48..." -----|
|<- "0x48 with ADD0 to GND, 0x49 to V+ (datasheet, p.1); |
| REQ-15 runs the bus at 400 kHz." |
search odpovídá, které soubory, get_text_fragments vrací odpovídající řádky s několika slovy kontextu a agent cituje obojí. Je to tvar grep, rozšířený na 82 formátů: PDF, DOCX, XLSX, PPTX, HTML, Markdown, dokonce i e‑mailové vlákna, která někdo exportoval do repozitáře.
Řekněte agentovi, kdy to použít
Agenti následují projektové instrukce o tom, kdy sáhnout po nástroji. Tři řádky v CLAUDE.md nebo AGENTS.md dělají rozdíl mezi agentem, který zkouší grep, selže a vzdá se, a tím, který nejprve prohledá index:
PDF, DOCX and XLSX files under docs/ are indexed in the groupdocs-search MCP index
'docs'. grep cannot read them: use search (quote phrases) and get_text_fragments
for anything in specs, datasheets or ADRs, and cite the file.
Run update_index (indexName: docs) after pulling changes.
Dva úklidové body. Index se zapisuje do .groupdocs-search-index/ v kořeni připojené složky, takže jej přidejte do .gitignore. A po pullu update_index znovu načte jen to, co se změnilo, takže udržování indexu aktuálního stojí jedno volání.
Cursor a VS Code
Stejný kontejner funguje v libovolném MCP klientovi. Ve VS Code může pracovní prostor .vscode/mcp.json připojit libovolnou otevřenou složku, takže index sleduje projekt:
{
"servers": {
"groupdocs-search": {
"type": "stdio",
"command": "docker",
"args": [ "run", "--rm", "-i",
"-v", "${workspaceFolder}:/data",
"ghcr.io/groupdocs-search/search-net-mcp:latest" ]
}
}
}
Cursor používá stejný command a args pod mcpServers v .cursor/mcp.json. Zacommitujte konfigurační soubor a každý vývojář v projektu získá nástroj; udržujte samotný index mimo git.
Proč nejprve nepřevádět vše na text?
Můžete: nechat agenta převádět každý PDF, když ho potřebuje, nebo kontrolovat Markdown kopie v repozitáři. Obě možnosti fungují pro několik souborů. Index provede konverzi jednou, udržuje ji aktuální jedním voláním a odpovídá, který soubor je důležitý, ještě předtím, než agent něco přečte – to je krok, který udržuje kontext dlouhé relace malý. Motor za tím je GroupDocs.Search, který čte Office a PDF dokumenty přímo, místo přes konvertor, který byste museli udržovat.
Upřímná omezení
- V režimu hodnocení index obsahuje maximálně 100 dokumentů a vyhledávání vrátí maximálně 10; nejprve zavolejte
get_license_status. - Full‑text, ne sémantické: agent musí použít slova, která dokumenty používají, nebo zkusit varianty.
- Žádné OCR: naskenovaný datasheet bez textové vrstvy je indexován jen podle vlastností souboru.
- Pouze Docker. Na Linuxu přidejte
--user "$(id -u):$(id -g)", aby kontejner mohl zapisovat index do repozitáře, který vlastníte.
Často kladené otázky
Může Claude Code číst PDF soubory v mém repozitáři?
Ne pomocí grep. S MCP serverem GroupDocs.Search jej může vyhledávat a citovat lokálně, aniž by je nejprve převáděl.
Funguje to také v Cursor a VS Code?
Ano. Použijte stejné argumenty docker run v .cursor/mcp.json nebo .vscode/mcp.json; VS Code může připojit ${workspaceFolder}.
Bude index skončit v mých commitech?
Jen pokud to povolíte. Přidejte .groupdocs-search-index/ do .gitignore.
Ponořte se hlouběji
- Dokumentace, kanonický návod: Jak nechat Claude Code nebo Cursor prohledávat PDF a Word dokumenty v repozitáři
- Dokumentační hub: GroupDocs.Search MCP Server
- Začněte zde: Potřebujete vektorovou databázi k dotazování na složku dokumentů?
- Související: Základní odpovědi z vašich souborů: citujte úryvek, ne paměť modelu
- Související: Projektová paměť pro AI agenty: jeden index na projekt, udržovaný aktuální
- Související: Proč by AI agent neměl číst 300 smluv, aby odpověděl na jednu otázku
- Související: Prohledejte archiv e‑mailů s AI agentem: PST, MSG, EML a přílohy uvnitř
- On‑premise a bezpečnostní model: 3 architektury pro AI zpracování dokumentů a ta, která drží soubory uvnitř vaší sítě
- Otázky: GroupDocs Search fórum
- Zdroj: GroupDocs.Search.Mcp na GitHubu