whatsapp-mcp-server
The most complete MCP Server for WhatsApp Business Cloud API. 43 tools across 10 modules including messaging, templates, media, webhooks, analytics, AI auto-reply, and anti-spam protection.
README
<p align="center"> <h1 align="center">WA MCP Server</h1> <p align="center"> <strong>The most complete MCP Server for WhatsApp Business Cloud API</strong> </p> <p align="center"> <a href="https://spirit122.github.io/whatsapp-mcp-server/">Website</a> · <a href="https://spirit122.github.io/whatsapp-mcp-server/getting-started.html">Getting Started</a> · <a href="https://spirit122.github.io/whatsapp-mcp-server/tools.html">All Tools</a> · <a href="https://spirit122.github.io/whatsapp-mcp-server/pricing.html">Pricing</a> · <a href="https://spirit122.github.io/whatsapp-mcp-server/dashboard.html">Dashboard</a> </p> <p align="center"> <img src="https://img.shields.io/badge/tools-43-25D366?style=for-the-badge" alt="43 Tools" /> <img src="https://img.shields.io/badge/modules-10-0088cc?style=for-the-badge" alt="10 Modules" /> <img src="https://img.shields.io/badge/tests-72%20passing-brightgreen?style=for-the-badge" alt="72 Tests" /> <img src="https://img.shields.io/badge/TypeScript-strict-3178C6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript" /> <img src="https://img.shields.io/badge/Cloudflare%20Workers-deployed-F38020?style=for-the-badge&logo=cloudflare&logoColor=white" alt="Cloudflare" /> <img src="https://img.shields.io/badge/license-MIT-green?style=for-the-badge" alt="MIT License" /> </p> </p>
Overview
WA MCP Server connects AI assistants like Claude with the WhatsApp Business API. Send messages, receive replies, manage templates, set up AI chatbots, track analytics, and protect against spam — all through natural language.
You: "Send a message to +56 9 1234 5678 saying the order is ready"
Claude: Message sent! ID: wamid.HBgL...
Why this server?
| Feature | Other MCP Servers | WA MCP Server |
|---|---|---|
| Send messages (text, media, templates) | Yes | Yes |
| Interactive messages (buttons, lists, products) | Partial | Full |
| Receive messages (webhooks) | No | Yes |
| AI auto-reply chatbot (5 providers) | No | Yes |
| WhatsApp Flows (forms/surveys) | No | Yes |
| Analytics & quality monitoring | No | Yes |
| Anti-spam protection | No | Yes |
| Multi-tenant (each client uses own WhatsApp) | No | Yes |
| Hosted (zero installation) | No | Yes |
Quick Start
1. Add to Claude Desktop
Free tier (7 tools, no API key):
{
"mcpServers": {
"whatsapp": {
"type": "url",
"url": "https://whatsapp-mcp-server.eosspirit.workers.dev/mcp"
}
}
}
Pro / Enterprise (with API key):
{
"mcpServers": {
"whatsapp": {
"type": "url",
"url": "https://whatsapp-mcp-server.eosspirit.workers.dev/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}
Config file location:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
2. Restart Claude Desktop
3. Start messaging
"Send a text to +1234567890 saying hello"
"Show me my message templates"
"What's my phone quality rating?"
"Configure auto-reply with Groq"
Plans & Pricing
| Free | Pro | Enterprise | |
|---|---|---|---|
| Price | $0 | $29 USD/mo | $99 USD/mo |
| Tools | 7 | 27 | 43 |
| Messages (text, image, video, audio, docs) | 5 tools | 10 tools | 10 tools |
| Safety tools (allowlist, spam config) | 2 tools | 2 tools | 5 tools |
| Templates | - | 5 tools | 5 tools |
| Media | - | 3 tools | 3 tools |
| Interactive (buttons, lists, products) | - | 5 tools | 5 tools |
| Webhooks (receive messages) | - | 3 tools | 3 tools |
| Business profile | - | 3 tools | 3 tools |
| WhatsApp Flows | - | - | 2 tools |
| Analytics & quality | - | - | 4 tools |
| AI auto-reply chatbot | - | - | 3 tools |
| Enterprise safety (audit, reports) | - | - | 3 tools |
| Rate limit | 100/hr | 1,000/hr | 10,000/hr |
| Support | Community | Priority + SLA |
<p align="center"> <a href="https://spirit122.lemonsqueezy.com/checkout/buy/af231967-2bc4-4342-8d2e-e88cdd70ae42"><strong>Get Pro - $29/mo</strong></a> <a href="https://spirit122.lemonsqueezy.com/checkout/buy/5ec0efcf-f1b2-46bd-a1dc-6bd5a9a504b1"><strong>Get Enterprise - $99/mo</strong></a> </p>
All 43 Tools
Messages (10 tools)
send_text_message send_image_message send_video_message send_audio_message send_document_message send_sticker_message send_location_message send_contact_message send_reaction mark_as_read
Interactive Messages (5 tools) PRO
send_button_message send_list_message send_cta_url_button send_product_message send_product_list_message
Templates (5 tools) PRO
send_template_message list_templates create_template delete_template get_template_status
Media (3 tools) PRO
upload_media get_media_url delete_media
Webhooks (3 tools) PRO
get_recent_messages get_message_status_updates search_conversations
Business Profile (3 tools) PRO
get_business_profile update_business_profile get_phone_numbers
WhatsApp Flows (2 tools) ENTERPRISE
create_flow send_flow_message
Analytics (4 tools) ENTERPRISE
get_conversation_analytics get_phone_quality_rating get_messaging_limits get_delivery_stats
Safety Tools (2 tools)
manage_allowlist get_messaging_safety_status
Enterprise Safety (3 tools) ENTERPRISE
get_message_audit_log set_custom_rate_limits export_safety_report
AI Auto-Reply (3 tools) ENTERPRISE
configure_auto_reply get_auto_reply_status clear_conversation_history
See full tool reference with usage examples.
AI Auto-Reply Chatbot
Enterprise customers can enable AI-powered automatic replies. When a customer messages you on WhatsApp, the server calls an AI provider and sends the response back automatically.
5 supported providers:
| Provider | Free tier? |
|---|---|
| Groq (Llama 3.3 70B) | Yes |
| OpenAI (GPT-4o) | No |
| Claude (Anthropic) | No |
| Gemini (Google) | Limited |
| DeepSeek | No |
Each client uses their own AI API key — no AI costs on our side.
Customer: "Hola, cuanto cuesta?"
Bot: "Hola! Tenemos planes Free, Pro ($29/mes) y Enterprise ($99/mes).
Visita https://mysite.com para mas detalles."
Customer: "Tienen envio gratis?"
Bot: "Si, envio gratuito en pedidos mayores a $50."
Anti-Spam Protection
Every outbound message passes through MessageGuard before sending. No bad prompt can turn into spam.
| Protection | Free | Pro | Enterprise |
|---|---|---|---|
| Recipient allowlist | Yes | Yes | Yes |
| Messages per recipient/hr | 5 | 30 | 100 (custom) |
| Unique recipients/hr | 3 | 50 | 500 (custom) |
| Spam content detection | Yes | Yes | Yes |
| Audit logging | - | - | Yes |
| Compliance reports | - | - | Yes |
Architecture
Claude / AI Assistant
|
v
+---------------------------------+
| Cloudflare Worker (Edge) |
| - MCP Protocol (JSON-RPC) |
| - Auth + API Keys + Tiers |
| - Rate Limiting + Anti-Spam |
| - AI Auto-Reply Engine |
| - Billing (Lemonsqueezy) |
+--------+----------+------------+
| |
+----+----+ +--+-------------+
| WhatsApp| | Durable Objects |
| Cloud | | (webhooks, |
| API | | sessions) |
+---------+ +--+---------+----+
| |
+---+---+ +---+---+
| D1 | | KV |
| logs | | cache |
+-------+ +-------+
Tech stack: TypeScript (strict) | Cloudflare Workers | D1 | KV | Durable Objects | Zod | Vitest
Self-Hosting
git clone https://github.com/spirit122/whatsapp-mcp-server.git
cd whatsapp-mcp-server
npm install
# Create Cloudflare resources
wrangler d1 create whatsapp-mcp-db
wrangler kv namespace create CACHE
# Set secrets
wrangler secret put WHATSAPP_ACCESS_TOKEN
wrangler secret put WHATSAPP_PHONE_NUMBER_ID
wrangler secret put WHATSAPP_BUSINESS_ACCOUNT_ID
wrangler secret put WHATSAPP_WEBHOOK_VERIFY_TOKEN
wrangler secret put META_APP_SECRET
# Deploy
wrangler d1 execute whatsapp-mcp-db --remote --file=./schemas/d1-schema.sql
wrangler deploy
Full self-hosting guide: spirit122.github.io/whatsapp-mcp-server/self-hosting.html
Development
wrangler dev # Run locally
npm test # Run 72 tests
npm run typecheck # TypeScript strict check
API Endpoints
| Method | Path | Description |
|---|---|---|
GET |
/ |
Health check |
GET |
/tools |
List all tools |
POST |
/mcp |
MCP JSON-RPC (Claude) |
GET/POST |
/webhook |
WhatsApp webhooks |
POST |
/billing/webhook |
Payment webhooks |
Support
| Tier | Channel |
|---|---|
| Free | GitHub Issues |
| Pro | Email support |
| Enterprise | Priority support with SLA |
License
MIT - Built by spirit122 | Website | Product Hunt
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.