MCP server for WhatsApp integration, providing tools to search contacts, list messages, manage chats, and send messages via WhatsApp
WhatsApp MCP server has 9 tools with basic descriptions and parameter schemas, but significant gaps in quality. All tools have descriptions (10-200 chars, mostly adequate), and most parameters include type and description fields. However, schemas lack depth: no enums for constrained inputs (e.g., sort_by accepts 'last_active' or 'name' but no enum), no documented output schemas, and error handling is minimal. The send_message tool is destructive but has no confirmation pattern or dry-run option. Parameter descriptions are generic ('Optional search term') rather than actionable. No tool annotations (readOnlyHint/destructiveHint) despite clear read vs. write distinction. Naming is verb-first and clear (search_contacts, list_messages, send_message), following conventions well. Composition is reasonable, tools are single-purpose and chainable (e.g., search_contacts → get_contact_chats). However, output schemas are not documented, forcing LLMs to infer response structure.
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.
Get WhatsApp messages matching specified criteria with optional context.
No output schemas documented. LLMs cannot infer response structure (fields, types, nesting). Forces guessing on downstream tool chaining.
send_message is destructive (WRITE risk) but lacks confirmation pattern, dry-run, or idempotent hint. Agents can send duplicate messages on retry.
Constrained parameters (sort_by, date_range format) lack enum declarations. sort_by accepts 'last_active' or 'name' but no enum constraint, LLMs may hallucinate invalid values.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Search WhatsApp contacts by name or phone number.
Send a WhatsApp message to a person or group. For group chats use the JID.
Parameter descriptions are generic ('Optional search term', 'Optional phone number'). No guidance on format, constraints, or when to use each parameter.