MCP Server
Connect WAHooks to Claude, Cursor, Windsurf, and other AI assistants
The WAHooks MCP server lets AI assistants manage WhatsApp connections, send messages, and configure webhooks. It uses OAuth 2.1 with PKCE — your browser opens once to authorize, and the token is saved automatically.
Claude Code
Add to .mcp.json in your project root:
{
"mcpServers": {
"wahooks": {
"type": "http",
"url": "https://api.wahooks.com/mcp"
}
}
}Or use the CLI:
claude mcp add --transport http wahooks https://api.wahooks.com/mcpProject-scoped config (.mcp.json) is recommended so your team can share the same setup via version control.
On first use, Claude Code will open your browser to authorize with your WAHooks account.
Cursor
Add to .cursor/mcp.json in your project root (or globally at ~/.cursor/mcp.json):
{
"mcpServers": {
"wahooks": {
"url": "https://api.wahooks.com/mcp"
}
}
}Restart Cursor after saving. On first tool use, a browser window will open for OAuth authentication.
Windsurf
Add to your Windsurf MCP config:
- macOS/Linux:
~/.codeium/windsurf/mcp_config.json - Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
"mcpServers": {
"wahooks": {
"serverUrl": "https://api.wahooks.com/mcp"
}
}
}Windsurf uses serverUrl (not url) for remote servers — this differs from other clients.
Restart Windsurf after saving.
Claude Desktop
Claude Desktop uses stdio-based servers. Use the mcp-remote wrapper:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"wahooks": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.wahooks.com/mcp"]
}
}
}Fully quit and restart Claude Desktop after editing the config.
Verify
Ask your AI assistant:
List my WAHooks connectionsAvailable Tools
The MCP server exposes 18 tools:
| Category | Tools |
|---|---|
| Connections | list_connections, create_connection, get_or_create_scannable_connection, get_connection, delete_connection, restart_connection, get_qr |
| Messages | send_message, send_image, send_document, send_video, send_audio, send_location, send_contact, get_chats, get_profile |
| Webhooks | list_webhooks, create_webhook, update_webhook, delete_webhook, get_webhook_logs, test_webhook |
| Tokens | list_tokens, create_token, revoke_token |
Troubleshooting
Authentication fails — Make sure you have a WAHooks account. Check that pop-ups aren't blocked in your browser.
Tools not showing up — Restart your AI assistant after adding the config. Verify the JSON syntax is valid. In Claude Code, run claude mcp list to check.
Windsurf not connecting — Use serverUrl (not url) in the config.
Connection refused — Verify https://api.wahooks.com is accessible from your network.