Send WhatsApp messages from Claude. No Meta Business approval or WhatsApp Business account.
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.
Get a free API key from RapidAPI — no credit card.
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"
}
}
}
}
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.
| Tool | Description |
|---|---|
list_sessions | List all sessions on this API key |
create_session | Create a new session |
get_session_status | Check a session's current status |
get_qr_code | Get the QR code to authenticate a session |
request_pairing_code | Get an 8-digit pairing code instead of a QR |
check_contact_exists | Check if a phone number is on WhatsApp before sending |
send_text_message | Send a text message |
send_image | Send an image via URL |
send_file | Send a file (PDF, document) via URL |
create_session → get_qr_code → scan with WhatsApp (Settings → Linked Devices)get_session_status until it reports WORKINGcheck_contact_exists, then send_text_message / send_image / send_fileSessions stay authenticated between runs, so steps 1-2 are one-time per number.
| Variable | Required | Description |
|---|---|---|
WHATSAPP_API_KEY | yes | Your 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.
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.
io.github.jevil25/whatsapp-messaging-api-mcpMIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y whatsapp-messaging-api-mcpMerge 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.
{
"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 referencewhatsapp-messaging-api-mcpnpmWhatsApp 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.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..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.