Skip to main content

Claude Code, Codex and other MCP clients

Developer tools and other MCP clients connect to Callbell with the same server URL and the same Callbell sign-in as Claude and ChatGPT. Each person who uses the connection signs in with their own Callbell user.

Claude Code​

tip

If you use Claude Code with your claude.ai account and already added Callbell in Claude (see Connect Claude), Callbell is already available in Claude Code.

  1. Add the server:
claude mcp add --transport http callbell https://ai.callbell.eu/mcp

By default, the server is only available in the current project. Add --scope user to use it in all your projects, or --scope project to share it with your team in a .mcp.json file (each teammate still signs in with their own Callbell user).

  1. Start Claude Code, run /mcp, select callbell and choose Authenticate. You can also run claude mcp login callbell from your terminal.
  2. Your browser opens the Callbell consent page. Choose the permissions and click Allow.

Claude Code stores the connection and renews it automatically.

Codex​

  1. Add the server:
codex mcp add callbell --url https://ai.callbell.eu/mcp
  1. Codex detects that Callbell uses OAuth and opens your browser. If it doesn't, run:
codex mcp login callbell
  1. On the Callbell consent page, choose the permissions and click Allow.

You can also add the server by hand in ~/.codex/config.toml, then run codex mcp login callbell:

[mcp_servers.callbell]
url = "https://ai.callbell.eu/mcp"

The Codex CLI, the Codex IDE extension and the ChatGPT desktop app share this configuration.

Other MCP clients​

Any MCP client that supports remote servers over Streamable HTTP with OAuth sign-in can connect to Callbell. Most clients only need the URL, for example in a JSON configuration:

{
"mcpServers": {
"callbell": {
"type": "http",
"url": "https://ai.callbell.eu/mcp"
}
}
}

The client finds the sign-in settings by itself. For reference, here are the technical details:

SettingValue
MCP serverhttps://ai.callbell.eu/mcp (Streamable HTTP)
Protected resource metadatahttps://ai.callbell.eu/.well-known/oauth-protected-resource
Authorization serverhttps://dash.callbell.eu
Authorization server metadatahttps://dash.callbell.eu/.well-known/oauth-authorization-server
Client registrationDynamic client registration at https://dash.callbell.eu/oauth/register
Grant typeAuthorization code with PKCE (S256), with refresh tokens
Scopesread, write
Redirect URIsAny https URL, or http on localhost or a loopback address for desktop and command line clients
note

The MCP server only accepts the OAuth tokens issued by Callbell's sign-in. Callbell API keys don't work with it: to call Callbell from your own code, use the Callbell API.

Available tools​

These are the actions the assistant can perform in Callbell:

ToolPermissionWhat it does
find_contactsReadLooks up a contact by phone number, or lists contacts filtered by channel, tags or team. There is no search by name.
get_contactReadGets a contact with its tags, custom fields, team, channel and conversation status.
list_messagesReadReads the messages of a contact's conversation, newest first, including internal notes.
list_channelsReadLists the connected channels (WhatsApp, Instagram, Facebook Messenger and Telegram).
list_teamsReadLists the account's teams.
list_templatesReadLists the WhatsApp templates and their approval status.
send_messageWriteSends a WhatsApp message to an existing contact. Outside the 24-hour customer service window, only approved templates can be sent.
update_contactWriteRenames a contact, adds or removes tags, fills custom fields or moves the conversation to another team.
add_noteWriteAdds an internal note to a conversation. Notes are visible to your team only, never to the contact.
close_conversationWriteCloses a contact's conversation.
note

The assistant can only message contacts that already exist in Callbell: it cannot start a conversation with a new phone number. Authentication templates (one-time codes) cannot be sent from an AI app.