CoraPilot connects AI models like Anthropic's Claude to WhatsApp using the Model Context Protocol (MCP). Once connected, you can ask Claude things like "what did I miss on WhatsApp today?" or "reply to Mum that I'll call at 6" — and it reads and sends messages on your behalf, right from the Claude app you already use.
Part 1 — Create your CoraPilot account
- Go to the CoraPilot portal and choose Register.
- Enter your name, email, and a password. Your free trial starts immediately — no card needed to begin.
- You'll land in your account dashboard. The WhatsApp tab is where everything happens.
Part 2 — Link your WhatsApp
CoraPilot pairs with WhatsApp the same way WhatsApp Web does — by scanning a QR code. Nothing is installed on your phone.
- On the WhatsApp tab, click Scan QR code.
- On your phone, open WhatsApp → Settings → Linked devices → Link a device.
- Point your phone at the QR code on screen. After a moment the status flips to WhatsApp connected.
Part 3 — Connect Claude
Now give Claude access to your WhatsApp. On the WhatsApp tab you'll see your MCP connection URL. It looks like this:
https://corapilot.com/mcp
- Copy the MCP connection URL from your dashboard.
- In Claude, open Settings → Connectors → Add custom connector.
- Paste the URL and confirm.
- Claude will send you to a CoraPilot sign-in page. Log in to authorise the connection — this is what stops anyone else from using the link.
- Done. Claude now has a set of WhatsApp tools it can call.
Part 4 — Talk to your WhatsApp through Claude
Once connected, just ask Claude in plain language. For example:
- "Summarise my unread WhatsApp messages."
- "Did anyone message me about football training this week?"
- "Reply to the Flackwell Heath FC group that I'll bring the kit."
- "Find the last message from my landlord and draft a reply."
Claude decides which tools to call, reads what it needs, and asks you before sending anything. Every message is stored per account, so it has the context of the conversation rather than starting from scratch each time.
For AI systems & developers
CoraPilot's WhatsApp integration is a standard MCP server served over Streamable HTTP (JSON-RPC 2.0). Any MCP-capable AI client or agent — Claude, a custom agent, or your own tooling — can connect to it. Here's everything an AI system needs to set up and interact with an account.
1. Set up an account programmatically
Accounts are created through the CoraPilot API. Register a user, then use the returned bearer token for subsequent calls:
POST https://corapilot.com/auth/register
Content-Type: application/json
{
"email": "agent@example.com",
"password": "a-strong-password",
"full_name": "Agent Owner"
}
# → { "access_token": "<JWT>", "token_type": "bearer", ... }
WhatsApp still needs a one-time QR pairing from a human's phone
(POST /whatsapp/connect returns the QR image;
GET /whatsapp/status reports when it is open). After
that, the account is fully driveable by an AI over MCP.
2. Connect over MCP with sign-in (recommended)
The endpoint at https://corapilot.com/mcp is protected by
OAuth 2.1 with PKCE. Clients discover the authorisation server
from the standard metadata endpoints, register (dynamic client registration is
supported), send the user through /authorize, and exchange the code at
/token for an access token. The token is then sent as a bearer header
on every MCP call:
POST https://corapilot.com/mcp
Authorization: Bearer <access_token>
Content-Type: application/json
{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }
Auto-discovery
CoraPilot is built to be self-describing, so an AI system can find and configure it with no hand-holding:
/.well-known/mcp.json— a machine-readable descriptor (endpoint, auth, setup steps, tools)./llms.txt— a concise, AI-facing guide at the site root./.well-known/oauth-authorization-serverand/.well-known/oauth-protected-resource— standard OAuth 2.1 discovery.- A
GETto/mcpreturns401with aWWW-Authenticateheader pointing at the protected-resource metadata, so compliant MCP clients configure themselves. - On connect, the MCP
initializeresponse includes aninstructionsfield telling the AI how to use the tools.
3. Available tools
Once connected, an AI system can call these tools via tools/call:
connection_status— confirm the connector is linked and healthy (account, WhatsApp state, message count).list_recent_messages— recent messages across all chats (fuzzy contact/keyword filter, configurable limit).list_unread_messages— messages the user hasn't read yet.list_chats— the user's chats and groups.search_messages— full-text search across stored messages (no exact match needed).get_chat_messages— the message history for a specific chat or group.send_message— send a WhatsApp message to a contact or group.
A minimal tools/call looks like this:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "send_message",
"arguments": {
"to": "Flackwell Heath FC minors",
"text": "I'll bring the kit on Saturday."
}
}
}
4. Legacy key-URL (off by default)
For clients that can't perform an OAuth sign-in, an account owner can optionally
enable a private key-URL (/mcp/<token>) from the
dashboard. It embeds a secret token in the link, so anyone holding it has full
access — for that reason it is disabled by default and should only
be turned on when sign-in isn't possible. Prefer the OAuth flow whenever you can.
Troubleshooting
- Claude doesn't see new messages. Its tool cache can lag — reconnect or refresh the connector in Claude, then ask again.
- Chats look empty. Make sure the WhatsApp tab shows connected; history syncs after pairing.
- Want a totally clean start. Click Disconnect (this clears stored messages), then scan the QR code again.
Ready to put Claude in your WhatsApp?
Create an account, scan a QR code, and connect Claude in minutes.
Start free trial