MCP server for WhatsApp integration providing tools to search contacts, list messages and chats, send messages and files, and manage WhatsApp communications
Server has 12 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_, list_, get_, send_, download_). Descriptions are present but vary in quality (avg ~120 chars, below the 194-char baseline). Parameters are typed and described, but lack constraints (enums, ranges, patterns). Output schemas are not documented. Error handling is minimal, no recovery guidance or categorization. Security concern: send_message and send_file are destructive operations without confirmation patterns. Missing idempotency guidance for write operations.
Download media from a WhatsApp message and get the local file path.
Get WhatsApp chat metadata by JID.
Get all WhatsApp chats involving the contact.
Get WhatsApp chat metadata by sender phone number.
Get most recent WhatsApp message involving the contact.
Get context around a specific WhatsApp message.
Get WhatsApp chats matching specified criteria.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does send_message return? Does it include message_id for later reference?).
Destructive operations (send_message, send_file, send_audio_message) lack confirmation or dry-run patterns. Agents can accidentally send messages without user approval.
Parameter constraints missing. 'limit' and 'page' parameters lack min/max bounds (e.g., is limit 1 - 1000? Is page 0-indexed?). 'sort_by' in list_chats accepts free-form strings instead of enum.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Get WhatsApp messages matching specified criteria with optional context.
Search WhatsApp contacts by name or phone number.
Send any audio file as a WhatsApp audio message to the specified recipient. For group messages use the JID. If it errors due to ffmpeg not being installed, use send_file instead.
Send a file such as a picture, raw audio, video or document via WhatsApp to the specified recipient. For group messages use the JID.
Send a WhatsApp message to a person or group. For group chats use the JID.
Error handling is absent. No recovery guidance, categorization, or actionable error messages. If send_message fails, the LLM has no guidance on retry vs. user-fixable vs. fatal.
Descriptions lack dependency hints and prerequisites. E.g., send_message says 'recipient can be phone or JID' but doesn't explain when to use search_contacts first or how to resolve ambiguous names.