WhatsApp Messaging API

Send WhatsApp messages from Claude. No Meta Business approval or WhatsApp Business account.

OtherTypeScriptv1.0.3

WhatsApp Messaging API — MCP Server

Send WhatsApp messages from Claude, Cursor, or any MCP client. Create a session, scan a QR code, and send text, images and files — no Meta Business approval and no WhatsApp Business account required.

Wraps the WhatsApp Messaging API.

Quick start

  1. Get a free API key from RapidAPI — no credit card.

  2. Add this to your MCP client config (Claude Desktop: claude_desktop_config.json):

    {
      "mcpServers": {
        "whatsapp": {
          "command": "npx",
          "args": ["-y", "whatsapp-messaging-api-mcp"],
          "env": {
            "WHATSAPP_API_KEY": "your-rapidapi-key"
          }
        }
      }
    }
    
  3. Restart the client. Ask it to create a WhatsApp session and show you the QR code.

Nothing to install or build — npx fetches the package on first run.

Tools

ToolDescription
list_sessionsList all sessions on this API key
create_sessionCreate a new session
get_session_statusCheck a session's current status
get_qr_codeGet the QR code to authenticate a session
request_pairing_codeGet an 8-digit pairing code instead of a QR
check_contact_existsCheck if a phone number is on WhatsApp before sending
send_text_messageSend a text message
send_imageSend an image via URL
send_fileSend a file (PDF, document) via URL

Typical flow

  1. create_session → get_qr_code → scan with WhatsApp (Settings → Linked Devices)
  2. get_session_status until it reports WORKING
  3. check_contact_exists, then send_text_message / send_image / send_file

Sessions stay authenticated between runs, so steps 1-2 are one-time per number.

Configuration

VariableRequiredDescription
WHATSAPP_API_KEYyesYour RapidAPI key. The server exits on startup if it is missing.

The key is read from the environment and sent only to the API host. It is never logged.

Local development

git clone https://github.com/jevil25/whatsapp-messaging-api-mcp.git
cd whatsapp-messaging-api-mcp
npm install
npm run dev      # runs src/index.ts directly via tsx, no build step
npm run build    # compile to dist/
npm test         # boots the built server and drives a real MCP handshake

npm test needs no credentials — it passes a dummy key, which gets far enough to list tools because nothing in the handshake makes an API call.

To point an MCP client at your local build, use "command": "node" with "args": ["/absolute/path/to/dist/index.js"].

See DEVELOPING.md for the release process.

Links

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y whatsapp-messaging-api-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-jevil25-whatsapp-messaging-api-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "whatsapp-messaging-api-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

whatsapp-messaging-api-mcpnpm

Compatible MCP Clients

WhatsApp Messaging API works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More