MCP Server

The Sendiee MCP server lets any Model Context Protocol-aware AI tool — Claude Desktop, Cursor, Antigravity, Continue, and others — drive your Sendiee account in natural language. Set up assistants, configure templates, schedule campaigns, pull reports, and audit billing without touching the dashboard.

We host it for you. There’s nothing to install on your machine — just point your AI tool at the URL below with your Sendiee API key.

Hosted Endpoint

POSThttps://mcp.sendiee.com/mcp

The server exposes both transports on the same domain so old and new clients work:

  • https://mcp.sendiee.com/mcp — Streamable HTTP (the 2025 standard). Use this for Claude Desktop, Cursor, claude.ai integrations, Antigravity.
  • https://mcp.sendiee.com/sse — legacy SSE fallback for older MCP clients.
  • https://mcp.sendiee.com/health — public liveness probe.

Machine-readable discovery card (serverInfo, transport, auth, capabilities): /.well-known/mcp/server-card.json.

Authentication

Two ways to authenticate. Sign in with Sendiee (OAuth) is the default for Claude, ChatGPT, Cursor and Gemini: paste the URL, sign in, pick the organization and the permissions. No keys to copy. An API key in the Authorization header still works for scripts and clients that only support static headers.

Sign in with Sendiee (OAuth 2.1)

The MCP server is an OAuth resource server. When a client connects without a token it answers 401 with a WWW-Authenticate pointer to https://mcp.sendiee.com/.well-known/oauth-protected-resource/mcp, which names the Sendiee authorization server (api.sendiee.com). The client opens a browser tab on app.sendiee.com/oauth/consent; you sign in, choose the organization and tick the permissions to grant, and you are sent back.

  • PKCE (S256) is required. Refresh tokens are issued and rotated automatically.
  • Clients identify themselves via a Client ID Metadata Document or Dynamic Client Registration — nothing to configure. Fixed client_id/client_secret pairs are available for tools that need them (Gemini Enterprise, Claude Team “Advanced settings”) — contact support.
  • Only owners, admins and editors of an organization can connect an app, and the organization’s plan must include API access.
  • Every connection has its own credentials limited to the permissions granted. Disconnect any time from Dashboard → API & Webhooks → Connected apps; it takes effect immediately.

API key (static header)

Pass a Sendiee API key in a standard Authorization header:

header
Authorization: Bearer YOUR_SENDIEE_API_KEY

Get your key from Sendiee Dashboard → Settings → API Keys. The MCP server scopes your key to your session in memory only — it’s never logged and never shared across users.

Setup by client

Claude (web, Desktop, mobile, Cowork)

Settings → Connectors → Add custom connector, name it “Sendiee”, paste https://mcp.sendiee.com/mcpand click Connect. A Sendiee sign-in tab opens; approve and you are done. Custom connectors are available on Free (one connector), Pro, Max, Team and Enterprise. On Team/Enterprise an Owner adds the connector once and each member connects with their own Sendiee login.

Claude Code

terminal
claude mcp add --transport http sendiee https://mcp.sendiee.com/mcp
# then inside Claude Code:
/mcp   # → select "sendiee" → Authenticate

ChatGPT

Settings → Apps & Connectors → Advanced settings → Developer mode (Business/Enterprise admins must enable this first), then Create: name “Sendiee”, URL https://mcp.sendiee.com/mcp, authentication OAuth. ChatGPT does not accept API keys — OAuth is the only option there.

Cursor, VS Code, Windsurf

Add an HTTP MCP server with the URL only; the editor opens the Sendiee sign-in automatically. Cursor: ~/.cursor/mcp.json

mcp.json (OAuth)
{
  "mcpServers": {
    "sendiee": {
      "url": "https://mcp.sendiee.com/mcp"
    }
  }
}

Gemini

  • Gemini CLI: gemini mcp add --transport http sendiee https://mcp.sendiee.com/mcp — OAuth is discovered automatically. Static headers with an API key also work.
  • Gemini Enterprise (Business edition): a team admin adds a custom MCP server with OAuth 2.0 (Streamable HTTP). It needs a fixed client ID and secret plus the authorize/token URLs — ask Sendiee support for a client.
  • The consumer Gemini app does not support custom MCP servers.

Setup with an API key

For scripts, older clients, or when you prefer a static credential. Get a scoped key from Dashboard → API & Webhooks → API Keys.

Claude Desktop (local config file)

Prefer the custom connector above. If you must use the local config file, edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Claude Desktop runs MCP servers as local stdio commands, so we bridge to the hosted URL through mcp-remote:

claude_desktop_config.json
{
  "mcpServers": {
    "sendiee": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.sendiee.com/mcp",
        "--header",
        "Authorization:Bearer YOUR_SENDIEE_API_KEY"
      ]
    }
  }
}

Restart Claude Desktop. The Sendiee tools (hammer icon) and the 3 playbook prompts (typing /) appear within a few seconds.

Claude Team/Enterprise (organization-wide key)

Claude supports an admin-entered request header (beta) on custom connectors. An Owner adds the connector with header Authorization: Bearer YOUR_SENDIEE_API_KEY; the key is then shared by the whole organization. Per-member OAuth is usually the better choice.

Cursor (API key)

Edit ~/.cursor/mcp.json (or workspace .cursor/mcp.json):

mcp.json (API key)
{
  "mcpServers": {
    "sendiee": {
      "url": "https://mcp.sendiee.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SENDIEE_API_KEY"
      }
    }
  }
}

Other tools (Antigravity, Continue, etc.)

Any MCP-aware client that supports a remote URL + custom headers works. Use:

  • URL: https://mcp.sendiee.com/mcp (or /sse if your client is older).
  • Header: Authorization: Bearer YOUR_SENDIEE_API_KEY.

What the AI agent can do

The MCP server exposes 75 tools covering the full v2.0 surface, plus 3 named playbook prompts. Selected capabilities:

CategoryTools
WhatsAppsend_template_message, send_freeform_message, get_message_status
Contactslist/filter/get/upsert + tags + custom fields + lead categories
Templateslist_templates, create_template, find_template_by_name
Campaignspreview_campaign_audience, create_campaign, list_campaigns, get_campaign_report
Chatsget_chat_history, list_conversations, list_conversation_statuses, set_conversation_status
Insightsget_daily_summary, get_pipeline_snapshots
Billingget_current_plan, list_subscriptions, list_payments
Assistantsoptions, list, get, create, update, toggle, delete, history, restore
Helpersget_org_summary (plan + balance + channels in one call)
Playbookssetup_whatsapp_assistant, launch_campaign_to_segment, weekly_org_report

Example prompts to try

Once connected, just talk to the AI in plain English:

  • “Set up a friendly WhatsApp customer-support assistant called ‘Acme Support’ using Claude Haiku.” — invokes the setup_whatsapp_assistant playbook.
  • “How many people will receive a campaign to all VIP-tagged contacts in Mumbai?” — calls preview_campaign_audience.
  • “Generate this week’s WhatsApp activity report.” — invokes the weekly_org_report playbook.
  • “Show me what 919876543210 has been chatting about.” — calls get_chat_history.
  • “What’s my current plan, balance, and channel health?” — calls get_org_summary.
  • “Create a marketing template diwali_sale_2026 in en_US with body ‘Hi {{1}}, get 25% off. Use code {{2}}’ and a Shop Now button.” — calls create_template.

Health Check

Confirm connectivity from your machine before configuring the client:

cURL
curl https://mcp.sendiee.com/health
{
  "ok": true,
  "service": "sendiee-mcp",
  "version": "1.1.0",
  "time": "2026-04-29T20:54:33.232Z"
}

Security

  • API keys are scoped per session and held in memory only — never logged, never shared between sessions.
  • All traffic is HTTPS-only. The server enforces TLS via Cloudflare + Certbot.
  • To revoke access, delete the API key in Sendiee Dashboard → Settings → API Keys. Active sessions on that key fail immediately on the next API call.
  • Plan limits, rate limits, and per-org quotas all apply identically to MCP traffic — the AI agent can’t exceed them.

Troubleshooting

SymptomFix
Claude Desktop says “Some MCP servers could not be loaded”Use the npx mcp-remote bridge form (above). Claude Desktop only accepts stdio commands directly.
Tool calls return INVALID_API_KEYRegenerate your key in Sendiee Dashboard and update the config.
Stream ends after ~100sCloudflare proxy timeout on Free plan. Reconnects are automatic — long-running tasks will resume.
No tools appear in Claude DesktopRestart Claude Desktop fully (quit + reopen). Check ~/Library/Logs/Claude/mcp*.log for stderr from the bridge.
/health works but tool calls failConfirm the Authorization header reaches the server (some clients drop custom headers on redirects). Use the URL exactly as https://mcp.sendiee.com/mcp.
The consent page says “Upgrade needed” or “no permission”Only owners, admins and editors can connect apps, and the organization’s plan must include API access. Pick another organization on the consent page or ask an owner.
The client keeps asking to reconnectThe connection was disconnected under API & Webhooks → Connected apps, your membership or the plan changed, or a refresh token was reused (which revokes the connection for safety). Connect again from the client.