MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add whatsapp-cloud --env WHATSAPP_ACCESS_TOKEN='<WHATSAPP_ACCESS_TOKEN>' --env WHATSAPP_PHONE_NUMBER_ID='<WHATSAPP_PHONE_NUMBER_ID>' --env WHATSAPP_BUSINESS_ACCOUNT_ID='<WHATSAPP_BUSINESS_ACCOUNT_ID>' -- npx -y @codespar/mcp-whatsapp-cloud~/.codex/config.toml
[mcp_servers.whatsapp-cloud]
command = "npx"
args = ["-y", "@codespar/mcp-whatsapp-cloud"]
env = { WHATSAPP_ACCESS_TOKEN = "<WHATSAPP_ACCESS_TOKEN>", WHATSAPP_PHONE_NUMBER_ID = "<WHATSAPP_PHONE_NUMBER_ID>", WHATSAPP_BUSINESS_ACCOUNT_ID = "<WHATSAPP_BUSINESS_ACCOUNT_ID>" }
# codex mcp add whatsapp-cloud --env WHATSAPP_ACCESS_TOKEN='<WHATSAPP_ACCESS_TOKEN>' --env WHATSAPP_PHONE_NUMBER_ID='<WHATSAPP_PHONE_NUMBER_ID>' --env WHATSAPP_BUSINESS_ACCOUNT_ID='<WHATSAPP_BUSINESS_ACCOUNT_ID>' -- npx -y @codespar/mcp-whatsapp-cloud~/.cursor/mcp.json
{
"mcpServers": {
"whatsapp-cloud": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-whatsapp-cloud"
],
"env": {
"WHATSAPP_ACCESS_TOKEN": "<WHATSAPP_ACCESS_TOKEN>",
"WHATSAPP_PHONE_NUMBER_ID": "<WHATSAPP_PHONE_NUMBER_ID>",
"WHATSAPP_BUSINESS_ACCOUNT_ID": "<WHATSAPP_BUSINESS_ACCOUNT_ID>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"whatsapp-cloud": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@codespar/mcp-whatsapp-cloud"
],
"env": {
"WHATSAPP_ACCESS_TOKEN": "<WHATSAPP_ACCESS_TOKEN>",
"WHATSAPP_PHONE_NUMBER_ID": "<WHATSAPP_PHONE_NUMBER_ID>",
"WHATSAPP_BUSINESS_ACCOUNT_ID": "<WHATSAPP_BUSINESS_ACCOUNT_ID>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"whatsapp-cloud": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-whatsapp-cloud"
],
"env": {
"WHATSAPP_ACCESS_TOKEN": "<WHATSAPP_ACCESS_TOKEN>",
"WHATSAPP_PHONE_NUMBER_ID": "<WHATSAPP_PHONE_NUMBER_ID>",
"WHATSAPP_BUSINESS_ACCOUNT_ID": "<WHATSAPP_BUSINESS_ACCOUNT_ID>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"whatsapp-cloud": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-whatsapp-cloud"
],
"env": {
"WHATSAPP_ACCESS_TOKEN": "<WHATSAPP_ACCESS_TOKEN>",
"WHATSAPP_PHONE_NUMBER_ID": "<WHATSAPP_PHONE_NUMBER_ID>",
"WHATSAPP_BUSINESS_ACCOUNT_ID": "<WHATSAPP_BUSINESS_ACCOUNT_ID>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"whatsapp-cloud": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-whatsapp-cloud"
],
"env": {
"WHATSAPP_ACCESS_TOKEN": "<WHATSAPP_ACCESS_TOKEN>",
"WHATSAPP_PHONE_NUMBER_ID": "<WHATSAPP_PHONE_NUMBER_ID>",
"WHATSAPP_BUSINESS_ACCOUNT_ID": "<WHATSAPP_BUSINESS_ACCOUNT_ID>"
}
}
}
}Environment variables
WHATSAPP_ACCESS_TOKENWHATSAPP_PHONE_NUMBER_IDWHATSAPP_BUSINESS_ACCOUNT_ID
Replace the placeholders with your own credentials and keep them out of version control.