ChatRail

ChatRail is a WhatsApp API for developers: send and receive WhatsApp messages over HTTP from a number you already have. See the MCP documentation for the full reference.

Documentation

ChatRail MCP server

Operate a ChatRail workspace from Claude, Cursor, VS Code and any other Model Context Protocol client. Check the health of your WhatsApp connections, look up groups, trace why a message failed, manage scheduled messages and replay webhook deliveries without leaving your editor.

ChatRail is a WhatsApp API for developers: send and receive WhatsApp messages over HTTP from a number you already have. See the MCP documentation for the full reference.

Privacy by design

  • Message bodies, recipient phone numbers and credentials are never returned by any tool.
  • Tools that change state return a preview first and apply only when called again with confirm: true.
  • Every call is scoped to one workspace and recorded in its audit log.

Two ways to connect

1. Hosted server with OAuth (recommended)

Point any client that supports remote MCP servers at:

https://www.chatrail.dev/v1/mcp

Your client opens a browser window where a workspace owner, admin or developer approves access. Nothing to install and no key to copy.

Claude Code

claude mcp add --transport http chatrail https://www.chatrail.dev/v1/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "chatrail": { "url": "https://www.chatrail.dev/v1/mcp" }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "chatrail": { "type": "http", "url": "https://www.chatrail.dev/v1/mcp" }
  }
}

2. Local stdio server with an API key

For clients that only run local servers, or when you would rather use an API key. This package runs on your machine and forwards requests to the hosted server.

  1. In the ChatRail dashboard, create a workspace API key with the mcp:read scope. Add mcp:write if the assistant may reschedule, cancel, react or replay.
  2. Add the server to your client.

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "chatrail": {
      "command": "npx",
      "args": ["-y", "github:chatrail/chatrail_mcp"],
      "env": { "CHATRAIL_API_KEY": "cr_live_..." }
    }
  }
}

Docker

docker build -t chatrail-mcp .
docker run -i --rm -e CHATRAIL_API_KEY=cr_live_... chatrail-mcp
VariableRequiredDescription
CHATRAIL_API_KEYYes, to call toolsWorkspace API key with mcp:read (and optionally mcp:write).
CHATRAIL_MCP_URLNoOverride the endpoint. Defaults to https://www.chatrail.dev/v1/mcp.

Without a key the server still starts and lists its tools, so you can inspect it before signing up.

Tools

ToolScopeWhat it does
list_connectionsreadEvery WhatsApp connection in the workspace with its state and health.
get_connectionreadOne connection with its state, health and recent state history.
list_whatsapp_groupsreadGroups visible to a connected number, with ids and participant counts.
get_whatsapp_groupreadName, description, settings and member counts for one group.
list_messagesreadRecent messages with their delivery state.
get_messagereadOne message and its delivery timeline.
explain_message_failurereadA structured explanation of why a message failed.
list_scheduled_messagesreadMessages waiting to be sent, soonest first.
list_webhook_deliveriesreadRecent webhook deliveries and their outcomes.
reschedule_messagewriteChange when a scheduled message is sent. Previews first.
cancel_scheduled_messagewriteCancel a message that has not been sent. Previews first.
react_to_messagewriteSet or remove an emoji reaction on a message. Previews first.
replay_webhookwriteRequeue a dead or skipped webhook delivery. Previews first.

Plans

MCP access is included on the ChatRail Core + AI and Team plans. See pricing.

Development

npm install
npm run build
CHATRAIL_API_KEY=cr_test_... node dist/index.js

tools.json is the tool catalog served when no API key is configured. It is exported from the hosted server and should be refreshed when the hosted tools change.

Links

License

MIT