WhatsApp MCP server for Cursor, VS Code, Gemini CLI and Codex
Add a hosted WhatsApp Business API MCP server to Cursor, VS Code (Copilot), Windsurf, Gemini CLI or Codex in one config line, and send WhatsApp messages from your editor or terminal.
Updated September 25, 2026 · 3 min read
If you build with an AI coding assistant, you can give it WhatsApp: send a test notification while you develop, submit the template your app needs, check delivery status — or have it wire WhatsApp into your app through the REST API, without leaving the editor. SendFromChat is a hosted MCP server for Meta's official WhatsApp Cloud API, so there's nothing to run locally.
Why a hosted MCP server
You could call Meta's Graph API directly, but you'd be rebuilding the parts that take time: token storage, template validation, the 24-hour window rules, webhook handling, pacing under messaging limits, opt-out tracking. A hosted server gives your assistant all of that as tools, over streamable HTTP — the transport every current MCP client supports.
Two ways to connect:
- Sign in (recommended): use
https://sendfromchat.com/api/mcp. Clients that support MCP sign-in open a browser where you sign in to SendFromChat and click Allow — no key in any file. - Private connector URL: for clients without sign-in, use
https://sendfromchat.com/api/mcp/YOUR_KEY, generated on the Connect your AI assistant card in the dashboard. Or use the plain URL with anAuthorization: Bearer YOUR_KEYheader, if your client supports headers.
The examples below use the plain URL. If your client doesn't offer to sign in, swap in your private URL.
Cursor
Settings → MCP → Add new MCP server, or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"sendfromchat": { "url": "https://sendfromchat.com/api/mcp" }
}
}
VS Code (GitHub Copilot, Agent mode)
Command Palette → MCP: Add Server → HTTP, paste the URL, name it sendfromchat. Or in .vscode/mcp.json:
{
"servers": {
"sendfromchat": { "type": "http", "url": "https://sendfromchat.com/api/mcp" }
}
}
Windsurf
In ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"sendfromchat": { "serverUrl": "https://sendfromchat.com/api/mcp" }
}
}
Gemini CLI
In ~/.gemini/settings.json:
{
"mcpServers": {
"sendfromchat": { "httpUrl": "https://sendfromchat.com/api/mcp" }
}
}
Start gemini and run /mcp to confirm it's connected.
Codex
In ~/.codex/config.toml:
[mcp_servers.sendfromchat]
url = "https://sendfromchat.com/api/mcp"
Claude Code
claude mcp add --transport http sendfromchat https://sendfromchat.com/api/mcp
Then run /mcp, choose sendfromchat → Authenticate, and allow it in the browser. Ask it to "add WhatsApp order confirmations to this app" and it writes the integration with your real templates, saving the API key straight into .env.local — the key never appears in the chat.
Anything else
Any MCP client that supports remote servers over streamable HTTP works: add a server, choose HTTP, paste the URL. If your client only supports local (stdio) servers, use a small bridge such as mcp-remote.
Useful developer prompts
- "Send the hello_world template to my number to check the integration."
- "Create a UTILITY template for password-reset codes in English and Spanish and tell me when they're approved."
- "Is my webhook receiving delivery receipts? Show the last five messages and their status."
- "Upload test-users.csv as a list called staging_testers."
- "Add WhatsApp order confirmations to this app, with a webhook for replies."
The full list of tools is in the MCP tools reference.
Security notes
- Prefer signing in: nothing secret ends up in a config file, and you can disconnect any client under Settings → Connected apps.
- A private connector URL grants full access to your workspace. Keep configs containing it out of version control (use a user-level config, not a repo file), or use the header form with an environment variable where your client supports it. Regenerating it in the dashboard immediately disables the old one.
- API keys your assistant sets up for an app are saved straight into
.env.localor your host, never shown in the conversation.
Do this from your AI assistant
SendFromChat connects Claude, ChatGPT, Cursor or any MCP client to the WhatsApp Business API — templates, bulk sends, inbox, chatbots and sequences, just by asking. 30 days free, no card.
Start freeMore guides
Send WhatsApp messages from PHP and Laravel: a working example
Send WhatsApp template messages from plain PHP (cURL) or Laravel's HTTP client with a REST API — test keys, safe retries, errors by type and signed webhook verification.
WhatsApp for Black Friday: a dated plan to be ready to send on 27 November 2026
Black Friday is Friday 27 November 2026. A step-by-step plan for a first WhatsApp campaign - connect a number, collect opt-in, get templates approved, warm up and send - with the limits that decide how many people you can reach.
Track WhatsApp delivery status in your app: sent, delivered, read and failed
Store the status of every WhatsApp message you send, handle receipts that arrive late or twice, read the failure reason, and fall back to polling when a webhook is missed. TypeScript example with a REST API.
Do you need a Facebook login for the WhatsApp Business API? What 'Continue with Facebook' asks
What the Facebook window asks you to do when you connect a WhatsApp number, which two permissions it gives an app, what you keep, and how to remove the access later. Based on Meta's own pages, read 31 Oct 2026.