WAHooks

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

Project-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 connections

Available Tools

The MCP server exposes 18 tools:

CategoryTools
Connectionslist_connections, create_connection, get_or_create_scannable_connection, get_connection, delete_connection, restart_connection, get_qr
Messagessend_message, send_image, send_document, send_video, send_audio, send_location, send_contact, get_chats, get_profile
Webhookslist_webhooks, create_webhook, update_webhook, delete_webhook, get_webhook_logs, test_webhook
Tokenslist_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.

On this page