MCP Server
Connect Claude, Cursor, and other AI tools to WhatsApp via MCP.
wakit exposes an MCP (Model Context Protocol) server that gives AI agents direct access to WhatsApp. Connect Claude Code, Claude Desktop, Cursor, or any MCP-compatible client to send messages, read conversations, and manage contacts — all through natural language.
Endpoint
https://api.wakit.ai/functions/v1/mcpFor self-hosted instances: https://{YOUR_PROJECT}.supabase.co/functions/v1/mcp
Authentication
Use your wakit API key (Settings > API Keys in the dashboard):
Authorization: Bearer {API_KEY}Connect to Claude Code
Add the MCP server from the terminal:
claude mcp add wakit --transport http https://api.wakit.ai/functions/v1/mcp \
-H "Authorization:Bearer sk_your_api_key"Restart Claude Code. The wakit tools will be available in your conversation.
Restrict to specific numbers
If your organization has multiple WhatsApp numbers, restrict which number the agent can use:
claude mcp add wakit --transport http https://api.wakit.ai/functions/v1/mcp \
-H "Authorization:Bearer sk_your_api_key" \
-H "Allowed-Accounts:5215588392274"Restrict to specific contacts
Limit which contacts the agent can see and message:
claude mcp add wakit --transport http https://api.wakit.ai/functions/v1/mcp \
-H "Authorization:Bearer sk_your_api_key" \
-H "Allowed-Accounts:5215588392274" \
-H "Allowed-Contacts:5215539875846"Full example
claude mcp add my-coach --transport http https://api.wakit.ai/functions/v1/mcp \
-H "Authorization:Bearer sk_your_api_key" \
-H "Allowed-Accounts:5215588392274" \
-H "Allowed-Contacts:5215539875846,5215551234567"Then tell Claude:
You have access to WhatsApp through the MCP server. Use
list_conversationsto check for new messages,fetch_conversationto read the full conversation, andsend_messageto reply.
Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"wakit": {
"url": "https://api.wakit.ai/functions/v1/mcp",
"headers": {
"Authorization": "Bearer sk_your_api_key"
}
}
}
}With restrictions:
{
"mcpServers": {
"wakit": {
"url": "https://api.wakit.ai/functions/v1/mcp",
"headers": {
"Authorization": "Bearer sk_your_api_key",
"Allowed-Accounts": "5215588392274",
"Allowed-Contacts": "5215539875846"
}
}
}
}Restart Claude Desktop after saving.
Connect to Cursor
In Cursor settings, add an MCP server with:
- Type: HTTP
- URL:
https://api.wakit.ai/functions/v1/mcp - Headers:
Authorization: Bearer sk_your_api_key
Available tools
| Tool | Description |
|---|---|
list_accounts | List connected WhatsApp numbers |
list_conversations | Get recent conversations with last message preview |
fetch_conversation | Fetch full message history for a contact (includes service window status) |
search_contacts | Find contacts by name or phone number |
send_message | Send a text or template message (enforces 24h service window) |
list_templates | List available WhatsApp message templates |
fetch_template | Get template details with components |
Tool parameters
list_conversations
| Parameter | Required | Description |
|---|---|---|
account_phone | No* | WhatsApp number (*required if multiple) |
limit | No | Max conversations (default 10) |
fetch_conversation
| Parameter | Required | Description |
|---|---|---|
contact_phone | Yes | Contact phone number |
account_phone | No* | WhatsApp number |
limit | No | Max messages (default 10) |
send_message
| Parameter | Required | Description |
|---|---|---|
contact_phone | Yes | Recipient phone number |
content | Yes | Message content (see below) |
account_phone | No* | WhatsApp number to send from |
Text message:
{ "kind": "text", "type": "text", "text": "Hello!" }Template message:
{
"kind": "template",
"type": "data",
"data": {
"name": "welcome",
"language": { "code": "es" },
"components": [
{
"type": "body",
"parameters": [{ "type": "text", "text": "Juan" }]
}
]
}
}search_contacts
| Parameter | Required | Description |
|---|---|---|
name | No | Search by name |
number | No | Search by phone number |
Headers reference
| Header | Description |
|---|---|
Authorization | Bearer {API_KEY} — required |
Allowed-Accounts | Comma-separated phone numbers to restrict which WhatsApp accounts the agent can use |
Allowed-Contacts | Comma-separated phone numbers to restrict which contacts the agent can see |
When no Allowed-* headers are set, the agent has access to all accounts and contacts in the organization.
Use cases
- Customer support agent: Connect Claude to respond to customer inquiries automatically
- Personal assistant: Have Claude manage your WhatsApp messages
- Notification bot: Let your CI/CD pipeline send WhatsApp alerts via Claude
- Coach/trainer: Build a personal coach that communicates via WhatsApp