---
title: "MCP server for AI agents"
description: "Connect Claude, Cursor, VS Code and other MCP clients to the messaging API so AI agents can send and track messages safely with your token."
canonical: "https://omnichannels.ai/developers/mcp/"
language: "en"
updated: "2026-10-10"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
section: "Tools"
---

# MCP server for AI agents

Canonical: https://omnichannels.ai/developers/mcp/
Language: en
Publisher: OmniChannels.ai by BroadNet Technologies

The MCP server exposes the messaging API as tools that AI agents can discover and call. Point any MCP client that supports remote servers at one endpoint, authenticate with your token, and the agent can send messages, work with WhatsApp templates and read delivery reports on your account.

## What MCP is

The Model Context Protocol (MCP) is an open standard that lets AI assistants connect to external tools. An MCP client (Claude, Cursor, VS Code and many others) connects to an MCP server, lists the tools it offers, and calls them when a user's request needs them.

Our server is a remote MCP server. Its tools map to the same REST API documented in these pages, and they act with the permissions of the token you provide, exactly as your own code would.

| Setting | Value |
| --- | --- |
| Endpoint | `https://mcp.broadnet.me/mcp` |
| Transport | MCP Streamable HTTP |
| Authentication | `Authorization: Bearer <token>` header on every request |
| Acts on | Your account: your channels, sender IDs, templates and balance |

## Get a key

Sign in to the admin portal and open **Integrations → MCP Integration**. Choose **Get temporary key** and copy the ready-made client configuration. A permanent key for a production agent is issued by your account admin or master account.

Requests without a token are refused at the protocol level:

```text title="Response without a token"
event: message
data: {"jsonrpc":"2.0","id":1,"error":{"code":-32001,"message":"Authorization bearer token is required. Connect with an 'Authorization: Bearer <BroadNet token>' header."}}
```

## Connect a client

Each client stores MCP servers slightly differently. Use your client's support for environment variables or secret inputs so the token never sits in a file you commit.

```bash title="Claude Code"
claude mcp add --transport http omnichannels https://mcp.broadnet.me/mcp \
  --header "Authorization: Bearer $BROADNET_TOKEN"
```

```json title="Cursor"
{
  "mcpServers": {
    "omnichannels": {
      "url": "https://mcp.broadnet.me/mcp",
      "headers": {
        "Authorization": "Bearer ${env:BROADNET_TOKEN}"
      }
    }
  }
}
```

```json title="VS Code"
{
  "inputs": [
    {
      "type": "promptString",
      "id": "omnichannels-token",
      "description": "OmniChannels.ai API token",
      "password": true
    }
  ],
  "servers": {
    "omnichannels": {
      "type": "http",
      "url": "https://mcp.broadnet.me/mcp",
      "headers": {
        "Authorization": "Bearer ${input:omnichannels-token}"
      }
    }
  }
}
```

```json title="Claude Desktop"
{
  "mcpServers": {
    "omnichannels": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.broadnet.me/mcp",
        "--header",
        "Authorization:${OMNI_AUTH}"
      ],
      "env": {
        "OMNI_AUTH": "Bearer paste-your-temporary-key-here"
      }
    }
  }
}
```

Where each one goes:

| Client | Where the configuration lives |
| --- | --- |
| Claude Code | Added by the command above (use `--scope user` to make it available in every project). |
| Cursor | `~/.cursor/mcp.json`, or `.cursor/mcp.json` in a project. |
| VS Code | `.vscode/mcp.json` in your workspace. VS Code prompts for the token and stores it securely. |
| Claude Desktop | `claude_desktop_config.json`. The `mcp-remote` bridge (Node.js required) forwards the header to the remote server. |
| Other clients | Any client that supports Streamable HTTP and a custom `Authorization` header. Some expect `"type": "http"` or `"type": "streamable-http"`. |

Client configuration formats change between versions, so check your client's MCP documentation if a field is not recognised.

Step-by-step guides: [Claude Code](/developers/mcp-claude-code/), [Cursor](/developers/mcp-cursor/) and [n8n](/developers/mcp-n8n/). For Make and Zapier, which call the REST API rather than MCP, see [Make and Zapier with webhooks](/developers/zapier-make-webhooks/).

### Test the connection without a client

Send the MCP `initialize` request yourself:

```bash title="cURL"
curl -X POST https://mcp.broadnet.me/mcp \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'
```

## The tools

Once connected, the client lists the available tools, and you can switch each one on or off. They cover sending on each channel (for example SMS, WhatsApp, RCS, Telegram, Messenger, Instagram and Push), listing and sending WhatsApp templates, and reading delivery reports. The exact list depends on the server version and your account.

## Example prompts

- "Send an SMS from OmniDemo to 447700900123 saying the technician arrives at 3 pm."
- "List my approved WhatsApp templates in Arabic."
- "Send the order_update WhatsApp template to 971500000000 with order number INV-400."
- "How many messages in yesterday's statements campaign failed, and why?"
- "Draft an RCS card for our autumn launch and show it to me before sending anything."

## Use agents safely

An agent with this server can send real messages that cost money and reach real people. Set guardrails before you connect one.

- **Least privilege.** Enable only the tools the agent needs. An agent that answers delivery questions does not need send tools; one that sends OTPs does not need template or account tools.
- **Human in the loop.** Configure the client to ask for confirmation before any tool that sends, and always before sends to many recipients.
- **Temporary keys for experiments.** Use a temporary key while testing, and a permanent key only for a reviewed production agent.
- **Test numbers first.** Point new agents at your own verified numbers until you trust their behaviour.
- **Watch the logs.** Review what the agent sent in your delivery reports, especially in the first weeks.
- **Revoke quickly.** If a key is exposed, ask your account admin or our support team to revoke it and issue a new one.
- **Respect consent.** Agents must follow the same opt-in, sender ID and channel rules as any other sender.

## Next steps

- [Authentication](/developers/authentication/): how tokens are issued and revoked.
- [OpenAPI 3.1 spec](/developers/openapi/): the REST API behind the tools, machine-readable.
- [WhatsApp API](/developers/whatsapp/): template rules the agent must follow.
