wakit
AI Agents

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/mcp

For 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_conversations to check for new messages, fetch_conversation to read the full conversation, and send_message to 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

ToolDescription
list_accountsList connected WhatsApp numbers
list_conversationsGet recent conversations with last message preview
fetch_conversationFetch full message history for a contact (includes service window status)
search_contactsFind contacts by name or phone number
send_messageSend a text or template message (enforces 24h service window)
list_templatesList available WhatsApp message templates
fetch_templateGet template details with components

Tool parameters

list_conversations

ParameterRequiredDescription
account_phoneNo*WhatsApp number (*required if multiple)
limitNoMax conversations (default 10)

fetch_conversation

ParameterRequiredDescription
contact_phoneYesContact phone number
account_phoneNo*WhatsApp number
limitNoMax messages (default 10)

send_message

ParameterRequiredDescription
contact_phoneYesRecipient phone number
contentYesMessage content (see below)
account_phoneNo*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

ParameterRequiredDescription
nameNoSearch by name
numberNoSearch by phone number

Headers reference

HeaderDescription
AuthorizationBearer {API_KEY} — required
Allowed-AccountsComma-separated phone numbers to restrict which WhatsApp accounts the agent can use
Allowed-ContactsComma-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

On this page