ZapMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Acesso somente leitura às conversas do WhatsApp deste Mac, a partir de um índice local.
Para uma conversa específica: list_chats para achar o id (aceita nome aproximado), depois get_messages com o período.
Para um assunto sem conversa definida: search.
Cada mensagem vem numa linha: [AAAA-MM-DD HH:MM] Autor: texto, no horário local do Mac.
"Você" é o dono deste WhatsApp. "~ Nome" é o nome de perfil de alguém que não está na agenda.
Menções aparecem como @Nome (agenda) ou @~Nome (nome de perfil); @ seguido de número é alguém sem nome conhecido.
Mídias aparecem como marcadores: [imagem #123] legenda, [documento #456 · 1,2 MB] nome, [áudio 0:37].
Anexo com número pode ser aberto: view_images para imagens (até 5 por vez) e read_document para documentos, em partes. Sem número, o arquivo não está neste Mac. Abra só o que a pergunta precisa: cada imagem ocupa bastante contexto.
Áudios vêm transcritos no próprio Mac: [áudio 0:37] texto. A transcrição automática cobre os últimos 7 dias e os áudios novos, exceto em grupos arquivados; os que não têm transcrição aparecem como [áudio #123 0:37 · ainda não transcrito], e transcribe_audio transcreve na hora, inclusive os mais antigos e os de grupos arquivados. A transcrição pode errar nomes próprios e termos técnicos.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_chatsB | Lista conversas do WhatsApp (grupos e individuais): id, nome, tipo, última mensagem e total de mensagens. Sem |
| get_messagesB | Mensagens de uma conversa num período, em ordem cronológica, uma por linha. |
| searchA | Busca por palavras nas mensagens, das mais relevantes para as menos, com as mensagens ao redor de cada uma. Encontra palavras, não significado: para "prazo", tente também "entrega", "sexta" etc. |
| view_imagesB | Mostra imagens das conversas, com conversa, autor, data e legenda de cada uma. |
| read_documentA | Lê um documento anexado: PDF, Word, Excel, PowerPoint, HTML, texto ou a lista de um ZIP. O texto vem em partes de até ~15 mil caracteres. Páginas escaneadas de PDF vêm como imagem. |
| transcribe_audioA | Transcreve na hora áudios que ainda não foram transcritos. Espera até ~1,5 min pelo resultado. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct retrieval operation: chat listing, chronological messages, keyword search, images, documents, and audio. Minor overlap exists between `get_messages` and `search` (both return message text) and between `view_images`/`read_document` (both handle attachments), but the descriptions clearly delineate ranked search vs. time-ordered retrieval and visual vs. textual attachment reading.
Five of six tools follow a clean verb_noun snake_case pattern (list_chats, get_messages, view_images, read_document, transcribe_audio). The bare verb `search` is the only deviation, though its meaning remains clear in context.
Six tools is well-scoped for a WhatsApp read/analysis server, with each tool covering a distinct content type (chats, messages, search, images, documents, audio). No redundant or filler tools are present.
The server covers the full read-side surface of WhatsApp data: chat discovery, message history, search, and all major attachment types including OCR/transcription fallbacks. Write operations (sending messages) and explicit contact/metadata lookup are absent, but for an analysis-oriented server these are minor, workable gaps.