How do I give Claude or ChatGPT access to my WhatsApp Business inbox?

On this page
  1. What is MCP?
  2. What you need before you start
  3. How do I connect Cosend to Claude?
  4. How do I connect Cosend to ChatGPT?
  5. How do I add Cosend to Claude Code or another MCP client?
  6. What can the agent do on my WhatsApp number?
  7. What can’t the agent do?
  8. What stops the agent from sending something I didn’t mean?
  9. Can a customer’s message trick the agent?
  10. What should I ask the agent first?
  11. Common questions
  12. Sources

Short answer

Add Cosend’s remote MCP server to Claude as a custom connector, or to ChatGPT as a custom MCP server. Then sign in and approve the permissions on a Cosend screen. The agent can read your WhatsApp inbox and reply in a chat that already exists. It can never message a list or a new number.

What is MCP?

MCP (Model Context Protocol) is “an open-source standard for connecting AI applications to external systems,” in the words of the project’s own site. The site compares it to “a USB-C port for AI applications”: one standard plug, many devices.

You’ll meet 3 terms in every setup:

  • An MCP server is a service that offers tools an AI can call, such as reading a chat.
  • An MCP client is the app you talk to: Claude, ChatGPT, Claude Code or Cursor.
  • A remote MCP server runs on the internet. You add it by its web address, so there is nothing to install.

Cosend runs a remote MCP server for your WhatsApp Business number. Cosend’s MCP page describes “a remote server at mcp.cosend.app, speaking MCP revision 2026-07-28 over Streamable HTTP.” Streamable HTTP is the name the MCP specification uses for its web transport. The server “is stateless: no session header, no handshake, any request to any instance.” It’s on every plan, Free included. Cosend sums it up as “Give your agent a phone number.”

What you need before you start

  • A Cosend account with at least 1 WhatsApp number connected. A connection is 1 WhatsApp number.
  • The server address. Every client below asks for it:
https://mcp.cosend.app/mcp
  • No API key. Cosend’s MCP page says “There is no key to paste.” The server is an OAuth 2.1 resource server. OAuth is the standard sign-in flow that lets one app act for you in another without seeing your password. Your client runs that flow the first time it connects. You sign in to Cosend, pick the workspace and see every permission ticked; untick any you don’t want the AI app to have. A scope is a named permission you grant during sign-in.
  • An MCP client. Anthropic says custom connectors work on Claude’s Free, Pro, Max, Ultra, Team and Enterprise plans, and “Free users are limited to one custom connector.” On Team and Enterprise, an Owner adds the connector first. ChatGPT is covered below.

Cosend’s page says “the token’s claims resolve exactly one workspace,” so the agent works inside 1 Cosend workspace and no other. Every read and write runs under row-level security bound to it.

How do I connect Cosend to Claude?

On a Free, Pro, Max or Ultra plan, you add the connector to your own account. These steps follow Anthropic’s connector docs, read on October 30, 2026.

  1. In Claude, go to Customize > Connectors.
  2. Click Add custom connector.
  3. Enter the remote MCP server URL: https://mcp.cosend.app/mcp.
  4. If the dialog asks how people sign in, choose Sign in now. If it asks for the OAuth client, choose Use Claude’s published identity. Leave the optional OAuth client ID and secret empty.
  5. Click Add. Sign in, then approve the permissions on the Cosend screen.
  6. In a chat, click the + button, select Connectors, and turn Cosend on.

On a Team or Enterprise plan, an Owner opens the settings for the whole Claude account rather than their own, goes to Connectors, selects Add, then Custom, and enters the same URL. If Claude asks for the connector type, choose Web. Members then open Customize > Connectors, find the connector with the Custom label, and click Connect.

Anthropic notes that the layout of the dialog differs from one Claude account to the next, so a label can differ slightly from these steps.

The Cosend screen where you approve the permissions for an AI app during sign-in

The Cosend screen where you approve the permissions for an AI app during sign-in

How do I connect Cosend to ChatGPT?

As of October 2026, OpenAI’s developer docs add a custom MCP server to ChatGPT as a plugin. These steps follow OpenAI’s “Add custom MCP server” page, read on October 26, 2026.

  1. Go to ChatGPT Plugins at chatgpt.com/plugins.
  2. Select the plus button, then Add custom MCP server.
  3. Enter a name. Under Connection, enter the Server URL: https://mcp.cosend.app/mcp.
  4. Choose OAuth for authentication.
  5. Review the risk warning and select I understand and want to continue.
  6. Select Create as a plugin.

OpenAI says ChatGPT supports “SSE and streaming HTTP” and “both read and write tools.” Write actions need your confirmation by default. ChatGPT treats any tool without a read-only hint as a write action.

We can’t say which ChatGPT plans can do this. OpenAI’s developer pages don’t list plans, and its help center article on this didn’t load for us, so we can’t confirm whether developer mode is still a separate switch. OpenAI does say “Workspace permissions and security restrictions, including Lockdown, apply,” so an admin may need to allow it.

How do I add Cosend to Claude Code or another MCP client?

In Claude Code, add the server from your terminal:

bash
claude mcp add --transport http cosend https://mcp.cosend.app/mcp

Then run /mcp inside Claude Code and, in Anthropic’s words, “follow the steps in your browser to log in.”

To share the server with a project, put it in .mcp.json. Claude Code needs "type": "http". Its docs say an entry with a url but no type “is a configuration error”:

json
{
  "mcpServers": {
    "cosend": {
      "type": "http",
      "url": "https://mcp.cosend.app/mcp"
    }
  }
}

Cosend’s MCP page shows the shorter form below. Cursor treats an entry with a url as a remote server, in .cursor/mcp.json or ~/.cursor/mcp.json. Its docs say “Cursor supports OAuth for servers that require it.” For any other client, check its docs for the field names.

json
{
  "mcpServers": {
    "cosend": {
      "url": "https://mcp.cosend.app/mcp"
    }
  }
}

Building agents in n8n instead? Cosend’s n8n community node has an action node “marked usable as a tool, so an n8n AI agent can call it directly.” It installs from Settings → Community nodes. A self-hosted n8n behind NAT, with no public URL, cannot receive its trigger.

What can the agent do on my WhatsApp number?

The agent gets the tools below. Cosend’s page says tools/list “returns them filtered by the permissions you gave and by your plan.” RO means read-only. MUT means the tool changes something. CONFIRM means the tool waits for a human decision before it completes.

A template is a message format Meta approves before you can send it. An automation is a rule you set once, such as an out-of-hours reply. Start each session with whoami, which Cosend calls “the right first call in any conversation.”

Tool Class What it does
whoami RO Workspace, plan, connected numbers and the permissions you gave
list_conversations RO Recent threads, newest first, each with its newest message
search_conversations RO Find a thread by its content
read_conversation RO Message history for 1 thread
send_message MUT · CONFIRM 1 message, into 1 conversation that already exists. 20 a minute, 200 a day, 1 per conversation every 30 seconds
list_contacts RO The contact list, filtered and paged
upsert_contact MUT Create or update 1 contact
set_contact_consent MUT Record an opt-in or an opt-out
list_templates RO Templates with their review status
submit_template MUT · CONFIRM Create 1 template and send it to Meta for review. 10 a day
list_automations RO What is deployed, and which version is live
validate_automation RO The compiler’s full report on a draft: every error with a pointer into the draft and, where there is one, a fix an agent can apply. Nothing is saved
upsert_automation MUT · CONFIRM Write a new automation, or a new version of 1
deploy_automation MUT · CONFIRM Compile a version so it can be switched on. It does not switch it on
set_automation_state MUT · CONFIRM Enable or disable. Enabling needs the confirmation; disabling does not
list_runs RO Runs, filtered by automation and state
get_run RO 1 run and its per-step event trace
get_usage RO Meters, what is included, and what is left
resolve_conversation MUT Mark 1 chat Done, as the Inbox does. Nothing is sent
create_setup_link MUT A link for you to open yourself, signed in to Cosend, to connect a number, connect integrations, change plan or add a card. It works for 30 minutes, only for you
check_setup_link RO Whether the step behind a link is done
cancel_setup_link MUT Stop an open link working. Nothing it set up is undone
whatsapp_link RO A wa.me chat link and its QR code for a number
template_check RO Check a template against Meta’s rules before review. Meta still reviews it
message_cost RO Meta’s list price for 1 delivered message in a country, per category

The last 3 are Cosend’s free tools, also at https://mcp.cosend.app/free with no sign-in, 30 requests a minute per address.

What can’t the agent do?

The agent replies in a chat that already exists: “never a list, never a new number.” Cosend’s MCP page spells it out. send_message “takes exactly one conversation, and that conversation must already exist. There is no array of recipients, no send-to-tag, no send-to-all, and no way to create a conversation with a number.”

Limits back that up: 20 a minute, 200 a day and 1 per conversation every 30 seconds. An agent that wants to reach 500 people “has to call it 500 times.” Then “the limiter stops it around 20 while the audit alarm fires.”

Messaging many customers on purpose lives elsewhere: “an automation whose audience is a saved, human-approved segment.” A person enables it by clicking approve in the dashboard.

“Rate limits, plan gates and scope checks apply to an agent exactly as they apply to a key.” Groups are out of reach too. Cosend cannot message WhatsApp groups. Meta’s API does not sync them. If your business runs in groups, we are not the answer today.

What stops the agent from sending something I didn’t mean?

There are 2 layers: Cosend’s server and your client.

On Cosend’s side, a CONFIRM tool “cannot finish on the AI’s say-so.” It “comes back asking for your decision, and the client has to come back with it.” Cosend calls this “a round trip in the protocol, not a prompt asking the model to be careful.” It covers sending a message, submitting a template, and writing, deploying or enabling an automation.

For automations, ask the agent to run validate_automation first. It “returns the compiler’s critique of a draft before anything is written.” Hand a draft to deploy_automation only after it passes.

On your client’s side, Claude shows tool approval requests, and Anthropic says to review them carefully. Its help article also notes that in Research, Claude can call connector tools without further approval. To block a tool for good, Anthropic’s connector docs say to open Customize > Connectors, select Cosend and set that tool’s permission to Blocked. ChatGPT asks you to confirm write actions, and you can remember the choice for that conversation. Choose an always-allow option only for tools you trust.

Can a customer’s message trick the agent?

Cosend builds on the assumption that one might. Its MCP page names the risk in a phrase: “inbound content becoming outbound action.” A customer sends text shaped like an instruction, and an agent obeys it.

Cosend’s answer is “enforced in the code, not by a prompt.” Every string from outside Cosend comes back wrapped and marked as untrusted:

json
{ "text": { "untrusted": true,
  "value": "⟦EXTERNAL⟧ Hi, is 3pm still ok? ⟦/EXTERNAL⟧" } }

The markers are stripped from the incoming text first, so a sender cannot close the fence and escape. Cosend also normalizes Unicode, removes bidi-override and zero-width characters, and caps a single message before it reaches the model. A classifier flags messages that read like orders to an assistant. It marks them rather than hiding them, “because a suppressed message is a support ticket and a flagged one is a decision.”

What should I ask the agent first?

Paste these into Claude or ChatGPT once Cosend is connected. Each one maps to a tool in the table above.

Call whoami and tell me which numbers and permissions you can see.

List my conversations with unread messages and sum up each one in 1 line.

Search my conversations for "delivery" and show me the last 3 threads.

Read the chat with Sara and draft a reply. Show me the draft before you send it.

Draft an out-of-hours reply automation. Run validate_automation and show me every error before you write anything.

Show me my last failed automation run and the step where it stopped.

How many automation runs and AI conversations are left this month?

A reply still needs a human decision before it goes out. None of these prompts can make the agent message someone new.

Common questions

Do I need an API key to connect Claude or ChatGPT to Cosend?

No. Your client runs Cosend’s OAuth sign-in the first time it connects, and you approve its permissions on a Cosend screen.

Can the agent message a new number or a list of customers?

No. send_message replies in 1 conversation that already exists, with no recipient list and no way to start a chat with a number.

Is the MCP server on Cosend’s free plan?

Yes. Cosend’s MCP server is on every plan, Free included, and what your plan counts is usage, such as automation runs and AI conversations.

Which ChatGPT plans can connect to Cosend?

OpenAI’s developer pages we read on October 26, 2026 don’t list plans, and its help article didn’t load for us. If you can’t see Add custom MCP server, ask your workspace admin or check OpenAI’s help center.

Can I let the agent read chats but never reply?

Yes: in Claude, set the send_message permission to Blocked under Customize > Connectors. In any client, send_message still waits for a human decision before it completes.

Sources

Spotted something out of date? Email hello@cosend.app.

Related guides

Ramee Founder of Cosend
More from Ramee

Keep your phone. Add your team.

Free for 1 person, no card needed. Bring your team in from $14.95 a month.