AutomataGet Started

How to connect Cursor to WhatsApp

Connect Cursor to WhatsApp with Automata, a free, open-source MCP server. Pair your account, choose the chats Cursor can see, and add the server to mcp.json in five steps.

6 min read

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.

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:

  1. Cursor is the MCP client. It sends requests to a URL and attaches your key in the Authorization header.
  2. Automata is the MCP server. It checks the key on every request, enforces which chats are allowed, and exposes the WhatsApp tools.
  3. 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.

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

SymptomLikely cause and fix
The server shows a red dot or no toolsThe 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 errorThe token is wrong, expired, or revoked. Create a new connector token and update it.
${env:AUTOMATA_TOKEN} is sent literally or emptyCursor was started before the variable was set. Set it in your shell profile and restart Cursor completely.
Cursor asks you to sign in with OAuthThe entry is missing the headers block, so Cursor tries OAuth. Add the Authorization header and reload.
Fewer tools than expectedThe 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 resultsIt is not allowed on this token, or it has no stored messages yet. Check the chat permissions and your history sync.
Sending is refusedThe 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

Comments

Questions, corrections, or your own setup? Join in below. Pick any name to post.