Muitos conhecimentos de negócios estão em e‑mails, e a parte que você precisa geralmente está em um anexo: a cotação, a emenda assinada, o cronograma revisado. GroupDocs.Search.Mcp, executando localmente em Docker, abre arquivos de e‑mail e arquivos de arquivamento (PST, OST, MSG, EML) e indexa cada mensagem e cada anexo, de modo que Claude Desktop, Cursor ou Copilot possam pesquisar um arquivo no local e dizer exatamente de qual anexo veio a correspondência:

Indexe a pasta de e‑mail. Qual mensagem menciona um aumento de preço e o que exatamente diz?

A versão passo a passo com configuração e solução de problemas está na documentação: Como pesquisar arquivos de e‑mail e anexos com um agente de IA, localmente.

Por que o e‑mail é difícil para um agente?

Porque um arquivo é um contêiner de contêineres. Um PST contém pastas, as pastas contêm mensagens, as mensagens contêm anexos, e os anexos são arquivos Word, PDFs e planilhas por si mesmos. Um agente com ferramentas de arquivos vê um único arquivo binário grande. Exportar o arquivo para arquivos soltos primeiro funciona, mas é lento, duplica dados sensíveis no disco e precisa ser repetido quando o arquivo muda. E um modelo não consegue ler um PST de forma alguma.

O mecanismo de busca lida com o aninhamento por conta própria. Cada mensagem e cada anexo tornam‑se um item pesquisável, e um resultado registra tanto onde está o contêiner quanto onde dentro dele a correspondência foi encontrada.

Como é uma correspondência dentro de um anexo?

Aqui está o que o servidor retornou em nosso teste com três mensagens EML. A frase “aumento de preço” aparece apenas dentro da cotação Word anexada a uma delas; o corpo da mensagem simplesmente diz “por favor, encontre a cotação atualizada em anexo”.

-> add_to_index {"documentsPath":"mail","indexName":"mail"}
<- Indexed 'mail' into index 'mail': 3 document(s) added, 3 in the index.

-> search {"query":"\"price increase\"","indexName":"mail"}
<- { "documentsFound": 1, "documents": [
     { "filePath": "mail/2026-09-18-re-q3-pricing.eml",
       "innerPath": "quotation-Q-2026-118.docx",
       "occurrences": 1 } ] }

-> get_text_fragments {"query":"\"price increase\"","indexName":"mail"}
<- === mail/2026-09-18-re-q3-pricing.eml → quotation-Q-2026-118.docx
   (1 occurrence(s)) ===
     …Due to raw material costs we announce a price increase
   of 6 percent from 2026-11-01.…

filePath é a mensagem; innerPath é o anexo. O agente pode responder “a mensagem Re: Q3 pricing da Contoso, na cotação anexada Q‑2026‑118: um aumento de 6 % a partir de 1 de novembro”, e cada parte dessa frase é rastreável.

mail/2026-09-18-re-q3-pricing.eml          <- filePath
  |- body: "please find the updated quotation attached"
  '- attachment: quotation-Q-2026-118.docx  <- innerPath
        "...we announce a price increase of 6 percent..."

Perguntas que funcionam em e‑mail

A linguagem de consulta usual se aplica, e alguns padrões são especialmente úteis para correspondência. Todos foram testados na mesma caixa de correio de teste:

  • “Qual mensagem da Fabrikam menciona um atraso na entrega?”: fabrikam AND delay. Endereços de remetente são indexados com a mensagem, de modo que contoso também encontrou uma fatura cujo corpo nunca nomeia a empresa.
  • “Encontre todo e‑mail que menciona o pedido 77812”: 77812. Números inteiros são palavras.
  • “Quais faturas vencem em outubro?”: invoice AND content: daterange(2026-10-01 ~~ 2026-10-31). Isso corresponde a datas escritas no texto da mensagem, aqui “due on 2026-10-22”. O prefixo content: importa: sem ele, um intervalo de datas também corresponde às datas que o motor registra para cada arquivo.

Por que local importa mais para e‑mail do que para qualquer outra coisa

E‑mail é onde está o material sensível: dados pessoais, negociações, discussões de RH, aconselhamento jurídico. Ferramentas de busca que exigem o upload ou sincronização da caixa de correio para um serviço são inviáveis para muitas equipes. Aqui o arquivo é montado como somente‑leitura em um contêiner na máquina, indexado lá e pesquisado lá. O único texto que sai é o que o agente cita em sua resposta, e isso com um modelo hospedado localmente, nem mesmo isso.

Para uma configuração mais restrita, monte o arquivo como somente‑leitura e dê ao índice seu próprio volume:

docker run --rm -i \
  -v /srv/mail:/data:ro \
  -v /srv/mail-index:/index -e GROUPDOCS_MCP_INDEX_PATH=/index \
  ghcr.io/groupdocs-search/search-net-mcp:latest

Delimitando um arquivo grande

Um arquivo com dezenas de milhares de mensagens indexa bem com uma licença, mas vale a pena ser deliberado. Indexe por pasta ou por ano como caminhos separados (mail/2025, mail/2026), de modo que um ano possa ser removido ou reconstruído isoladamente, já que o motor remove caminhos indexados inteiros em vez de arquivos individuais. Mantenha o e‑mail em seu próprio índice, separado de contratos ou relatórios, para que uma pergunta sobre correspondência não precise percorrer tudo o mais. E quando o arquivo crescer, update_index captura novas mensagens sem reler as antigas.

Limites honestos

  • No modo de avaliação um índice contém no máximo 100 documentos e uma pesquisa retorna no máximo 10, e toda mensagem e anexo contam, portanto um arquivo real precisa de licença. Chame get_license_status primeiro.
  • Um PST grande leva tempo para indexar: cada mensagem e anexo são abertos. Indexe uma vez, depois use update_index.
  • Anexos escaneados sem camada de texto são indexados apenas por suas propriedades de arquivo; não há OCR.
  • Apenas Docker; no Linux adicione --user "$(id -u):$(id -g)" a menos que use a configuração somente‑leitura acima.

Perguntas Frequentes

Posso pesquisar um arquivo PST com IA sem Outlook?
Sim. O motor lê PST, OST, MSG e EML diretamente; o Outlook não está envolvido e nada é exportado.

Ele pesquisa dentro dos anexos de e‑mail?
Sim. Os anexos são indexados como itens da respectiva mensagem, e uma correspondência dentro de um anexo volta com innerPath indicando o anexo.

Minha caixa de correio é enviada para algum lugar?
Não. Ela é lida dentro de um contêiner local; apenas os trechos que o agente cita chegam ao provedor do seu modelo.

Aprofunde‑se