Cursor can read your code, but the bug report, the spec change, and the "can you also..." request often live in a WhatsApp chat. With the right connection, you can ask Cursor to pull that context in without leaving the editor. The way in is an MCP server. MCP (the Model Context Protocol) is the open standard that lets an AI app call outside tools, and Cursor can add any MCP server that is reachable over HTTP.
This guide connects Cursor to WhatsApp using Automata, a free, open-source WhatsApp MCP server. Cursor supports remote MCP servers with custom headers, which is exactly how Automata authenticates: a bearer key in the Authorization header. You add one entry to mcp.json and Cursor does the rest.
Don't want to run anything yourself? Automata has a hosted option at mcp.getautomata.app. Sign up, pair WhatsApp, and use https://mcp.getautomata.app/mcp as the URL in step 4.
What you need
- A WhatsApp account. Use a spare number while testing, because unofficial clients carry some risk of rate limits or bans.
- Cursor, signed in, on a version that supports MCP servers.
- Automata, either hosted at mcp.getautomata.app (no server to run), or your own instance with a public HTTPS URL. For self-hosting, the quickest option is the one-click Railway template; you can also self-host with Docker.
- About ten minutes.
How the connection works
Three pieces are involved, and only the middle one is new:
- Cursor is the MCP client. It sends requests to a URL and attaches your key in the
Authorizationheader. - Automata is the MCP server. It checks the key on every request, enforces which chats are allowed, and exposes the WhatsApp tools.
- WhatsApp is paired to Automata as a linked device, so Cursor never touches your phone or your account credentials.
Because the permission check happens in Automata and not in the prompt, Cursor cannot talk its way into a chat you did not allow. Read more about how Automata enforces permissions.
Step 1: Deploy Automata
Choose hosted or self-hosted and make sure you can open the Automata dashboard over HTTPS. If you are starting from scratch, steps 1 to 3 of How to connect WhatsApp to Claude walk through deploying, pairing, and choosing chats. They are identical for every client, so this guide only covers what is different for Cursor.
Step 2: Pair WhatsApp
In the dashboard, create a WhatsApp connection and scan the QR code from WhatsApp → Settings → Linked devices → Link a device. Wait until the connection shows as connected, and let the history sync finish so Cursor has messages to search.
Step 3: Choose the chats
Open the connection's permissions and decide what Cursor may do. Start narrow:
- Give read access to one or two chats you actually want Cursor to use, such as a project group or a client chat.
- Leave write access off for now. You can add it later for a single chat.
Anything you do not allow is invisible to Cursor, not just discouraged.
Step 4: Add it to Cursor
Create a connector token for Cursor in the dashboard and copy it. You need two values:
Endpoint: https://your-automata.example.com/mcp
Authorization: Bearer <connector-token>
For hosted Automata the endpoint is always https://mcp.getautomata.app/mcp.
Cursor reads MCP servers from mcp.json. Use ~/.cursor/mcp.json to make the server available in every project, or .cursor/mcp.json inside a single project. Open Customize in the sidebar (in some versions, Settings → Tools & MCP) to add a server, or edit the file directly:
{
"mcpServers": {
"automata-whatsapp": {
"url": "https://your-automata.example.com/mcp",
"headers": {
"Authorization": "Bearer ${env:AUTOMATA_TOKEN}"
}
}
}
}
The ${env:AUTOMATA_TOKEN} part tells Cursor to read the token from an environment variable, so the key never sits in the file. Set AUTOMATA_TOKEN in your shell profile and restart Cursor so it picks the value up. If you prefer to paste the token straight into the Authorization value, use the global ~/.cursor/mcp.json and never the project file, because project files are often committed.
Save the file, then check that automata-whatsapp appears in the MCP list with a green indicator and a list of tools. Automata only registers the tools your token allows, so a read-only token shows fewer tools than one that can also send messages.
A token in a committed .cursor/mcp.json is a token in your git history. Keep it in an environment variable or the global config, and if it leaks, revoke that one token in Automata and create a new one.
Step 5: Test it
Open the Agent chat in Cursor and start with a safe, read-only request:
Use the automata-whatsapp tools to check the WhatsApp connection status.
Cursor asks for approval before running an MCP tool. Click the arrow next to the tool name to see the arguments, then approve it. Then move to prompts that match the chats you allowed:
- List my chats, then summarize what the Client A group asked for since Monday.
- Find the message where Sam described the login bug and turn it into a bug report with steps to reproduce.
- Check the Project Launch chat and list every change request I have not acted on yet.
- Draft a reply to Client A confirming Thursday. Do not send it.
These work best when the answer shapes the code you write next. For example, you can ask Cursor to read the spec change in WhatsApp and then update the matching component in your repo.
Keep it safe
- Start read-only. Add write access only for the chats where you want Cursor to reply.
- Keep tool approval on. Cursor asks before calling MCP tools by default. Read the message it is about to send, and avoid auto-running write tools.
- Use a separate token for Cursor. You can then revoke it without breaking Claude or any other client.
- Watch for prompt injection. A message in an allowed chat can contain instructions aimed at the AI, and Cursor can also edit files and run commands. Keep write access narrow and review changes before accepting them.
- Keep a spare number for experiments and avoid bulk or unsolicited messaging.
Troubleshooting
| Symptom | Likely cause and fix |
|---|---|
| The server shows a red dot or no tools | The URL is wrong or not reachable. Use your deployed HTTPS URL, not localhost, and make sure the path ends in /mcp. |
Cursor reports a 401 error | The token is wrong, expired, or revoked. Create a new connector token and update it. |
${env:AUTOMATA_TOKEN} is sent literally or empty | Cursor was started before the variable was set. Set it in your shell profile and restart Cursor completely. |
| Cursor asks you to sign in with OAuth | The entry is missing the headers block, so Cursor tries OAuth. Add the Authorization header and reload. |
| Fewer tools than expected | The token only allows some tools. Raise the permission on the chats you need, then toggle the server off and on. |
| A chat is missing from the results | It is not allowed on this token, or it has no stored messages yet. Check the chat permissions and your history sync. |
| Sending is refused | The WhatsApp account is disconnected, or the chat does not have write access. Re-pair the account or raise the permission. |
To see what Cursor is doing, open the Output panel (Cmd+Shift+U or Ctrl+Shift+U), choose MCP Logs, and look for connection and authentication errors. More fixes are in the troubleshooting guide.
Next steps
- Use the same server from other tools, such as ChatGPT, Grok Bot, or Claude, with the MCP clients guide.
- Turn this connection into a daily brief with the free AI chief of staff tutorial.
- Read the WhatsApp MCP overview for what each tool does and how scoped access compares to other servers.
Comments
Questions, corrections, or your own setup? Join in below. Pick any name to post.