MCP server for sending WhatsApp messages via WAHA (WhatsApp HTTP API) and managing contacts
Two tools with minimal documentation. send_message has a basic description (67 chars) and input schema with type strings and descriptions, but lacks output schema documentation and error guidance. list_contacts has a trivial description (43 chars) and no parameters. Neither tool declares what happens on failure, how to retry, or what fields the response contains. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Descriptions are below the 194-char baseline for production tools. No pagination support despite list_contacts returning arrays. send_message is a WRITE operation with no confirmation or dry-run pattern.
Retorna a lista de contatos pré-carregados.
Envia uma mensagem de texto via WAHA. Args: number: número no formato internacional (ex: "+5511999887766") text: texto a ser enviado Returns: JSON de resposta do WAHA
send_message lacks output schema documentation. Callers cannot know what fields the WAHA response contains or how to chain downstream operations.
send_message is a destructive WRITE operation (sends a message) but has no tool annotation (destructiveHint) and no confirmation/dry-run pattern. Agents cannot know this is irreversible.
send_message error handling is minimal. Exceptions are caught and logged but no actionable recovery guidance is returned to the LLM (e.g., 'Invalid number format. Use international format: +5511999887766').
list_contacts description is trivial (43 chars, below 20-char floor for scoring). Does not explain when to call it, what structure it reveals, or how many contacts are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
list_contacts returns an unbounded array with no pagination, limit, or offset parameters. If contacts grow large, response will bloat context window.