Frequentemente, não. Para uma pasta de contratos, relatórios ou e‑mail, um agente de IA com uma ferramenta de pesquisa de texto completo encontra os arquivos corretos, lê apenas as passagens correspondentes e as cita, e o índice é executado localmente sem modelo de incorporação e sem armazenamento vetorial. GroupDocs.Search.Mcp fornece ao Claude Desktop, Claude Code, Cursor ou Copilot essa ferramenta em um único comando Docker:
Indexe a pasta de contratos, então me diga quais contratos mencionam uma penalidade de rescisão e cite a cláusula.
A versão passo a passo com configuração e solução de problemas está na documentação: Como pesquisar documentos com agentes de IA usando MCP.
Por que todo mundo recorre primeiro às incorporações?
Porque a “geração aumentada por recuperação” chegou como uma receita: dividir os documentos em fragmentos, incorporar cada fragmento, armazenar os vetores, incorporar a pergunta, pegar os fragmentos mais próximos e colá‑los no prompt. Funciona, e para perguntas formuladas de forma muito diferente dos documentos é a ferramenta certa. Mas é um pipeline com um modelo de incorporação para chamar, um armazenamento para executar, fragmentação para ajustar e um trabalho de re‑incorporação toda vez que os documentos mudam. Para “quais dos meus 300 contratos mencionam uma penalidade de rescisão”, essa maquinaria responde a uma pergunta que um índice de pesquisa responde diretamente.
A evidência alcançou a intuição. Um estudo publicado no arXiv no final de 2025 (Keyword search is all you need) deu a um agente nada além de busca por palavra‑chave e regex em uma pasta e mediu isso contra um pipeline RAG padrão: mais de 90 % das pontuações RAG, sem banco de dados vetorial, e mais adequado a coleções que mudam frequentemente. Agentes de codificação já haviam mostrado o padrão na prática: eles buscam com grep, refinam e buscam novamente.
O que o agente faz em vez disso?
Três chamadas. GroupDocs.Search.Mcp expõe oito ferramentas; o loop precisa de três delas:
user agent Search MCP server
| "Quais contratos mencionam uma penalidade de rescisão?" |
|---------------->| |
| |-- add_to_index ------------------------->| lê o
| | {"documentsPath":"contracts", | arquivos uma vez,
| | "indexName":"contracts"} | armazena o texto
| |<- "5 documento(s) adicionado(s), 5 no índice" --|
| |-- search ------------------------------->|
| | {"query":"termination AND penalty"} |
| |<- {"documentsFound":3, "documents":[ ... | quais arquivos
| |-- get_text_fragments ------------------->|
| | {"query":"\"termination penalty\""} |
| |<- === contracts/acme-...-agreement.pdf ===| as passagens
|<- "Dois contratos contêm uma: Acme (3 taxas mensais, 12,3), |
| Globex (50% das taxas restantes). Initech a exclui."|
add_to_index lê os arquivos uma vez e mantém o texto em um índice nomeado no disco. search devolve os arquivos correspondentes como JSON com contagens de ocorrências. get_text_fragments devolve cada correspondência com algumas palavras de contexto, de modo que o agente cita a cláusula em vez de carregar o contrato inteiro.
Aqui está o que o servidor realmente retornou em nosso teste, contra cinco contratos sintéticos:
-> 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)) ===
…uma penalidade de rescisão de três taxas mensais se aplica, pagável
dentro de 30…
=== contracts/globex-consulting-agreement.docx (1 occurrence(s)) ===
…Penalidade de rescisão antecipada: o Cliente paga 50 por cento das taxas…
Observe o terceiro contrato. O NDA da Initech correspondeu a termination AND penalty porque diz “não há taxa e nem penalidade associada à rescisão”. A passagem é o que diferencia uma correspondência de uma mera menção, e um agente que lê as passagens indica isso. Isso é fundamentação: cada afirmação na resposta aponta para um arquivo e uma frase que você pode abrir.
Onde cada abordagem vence?
Pipeline de incorporação Pesquisa de texto completo agente
------------------------------------- -------------------------------------
dividir, incorporar, armazenar em um armazenamento vetorial add_to_index: um índice local de texto completo
incorporar a pergunta, pegar os k fragmentos principais agente busca, refina, busca novamente
colar os fragmentos no prompt get_text_fragments: passagens citadas
reincorporar quando os documentos mudam update_index relê o que mudou
necessita de um modelo de incorporação e um armazenamento sem chamadas de modelo, sem rede em tempo de execução
corresponde ao significado; classificação é opaca corresponde a palavras; cada acerto é explicável
A pesquisa de texto completo perde quando a pergunta e o documento não compartilham palavras: “quais contratos são arriscados para nós?” não tem palavra‑chave. Ela vence quando o vocabulário é compartilhado, o que descreve a maioria das perguntas que as pessoas fazem sobre seus próprios documentos: o nome de uma cláusula, um produto, um cliente, um número de fatura, um intervalo de datas. Quando uma consulta falha, o agente tenta renewal OR renews, ou uma correspondência difusa, como uma pessoa faria. O servidor ajuda: uma consulta de duas palavras sem aspas não corresponde a nada no GroupDocs.Search, e o resultado vazio traz um hint que indica ao agente citar a frase.
Qual ferramenta para qual pergunta?
| O usuário pergunta | O agente chama |
|---|---|
| “Indexe esta pasta” | add_to_index |
| “Quais arquivos mencionam X?” | search |
| “O que diz sobre X?” | get_text_fragments |
| “Arquivos alterados, atualizar” | update_index |
| “Esqueça a pasta de rascunhos” | remove_from_index |
| “O que está no índice?” | get_index_info |
| “Iniciar um índice separado” | create_index |
| “Por que apenas 10 resultados?” | get_license_status |
O índice entende 82 formatos, incluindo PDF, Office, OpenDocument, HTML e arquivos de e‑mail (PST, OST, MSG, EML) com seus anexos.
Como executá‑lo?
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 com GitHub Copilot e os outros clientes usam o mesmo contêiner em seu próprio arquivo de configuração: Registrar em clientes de IA. No Linux adicione --user "$(id -u):$(id -g)" para que o contêiner possa gravar seu índice na sua pasta. O servidor executa o mecanismo GroupDocs.Search 26.10, cujo novo formato de índice torna os índices menores e reduz aproximadamente à metade o uso de memória (notas de lançamento).
Limitações honestas
- No modo de avaliação, um índice contém no máximo 100 documentos e uma pesquisa retorna no máximo 10; cada resposta indica isso. Chame
get_license_statusprimeiro. - É pesquisa de texto completo, não pesquisa semântica: corresponde a palavras, não ao significado.
- Sem OCR: PDFs escaneados sem camada de texto são indexados apenas por suas propriedades de arquivo.
- É distribuído apenas como imagem Docker (a ferramenta empacotada ultrapassa o limite de tamanho do NuGet).
Perguntas Frequentes
Claude pode pesquisar meus documentos locais sem enviá‑los?
Sim. O servidor roda em um contêiner na sua máquina e lê a pasta que você monta; somente as passagens que o agente cita chegam ao modelo.
Isso é RAG?
É recuperação aumentada, mas agente: o modelo decide o que buscar e quando tem o suficiente, usando um índice de texto completo em vez de incorporações.
O que acontece quando meus documentos mudam?
Peça ao agente para atualizar. update_index relê apenas os arquivos alterados, adicionados e excluídos.
Aprofunde-se
- Documentação, guia canônico: Como pesquisar documentos com agentes de IA usando MCP
- Hub de documentação: GroupDocs.Search MCP Server
- Para agentes de codificação: grep não consegue ler PDF: dê ao seu agente de codificação um índice de documentos
- Relacionado: Por que um agente de IA não deve ler 300 contratos para responder a uma pergunta
- Relacionado: Respostas fundamentadas a partir dos seus arquivos: cite a passagem, não a memória do modelo
- Relacionado: Pesquise seu arquivo de e‑mail com um agente de IA: PST, MSG, EML e os anexos internos
- Relacionado: Memória de projeto para agentes de IA: um índice por projeto, mantido atualizado
- On‑premise e modelo de segurança: 3 arquiteturas para processamento de documentos com IA, e a que mantém os arquivos dentro da sua rede
- Lançamento do motor: GroupDocs.Search for .NET 26.10 – Destaques do lançamento de outubro de 2026
- Perguntas: Fórum GroupDocs Search
- Fonte: GroupDocs.Search.Mcp no GitHub