---
title: MCP
description: List Preferred Partners and send a lead from an MCP client.
---

The MCP server is `https://www.comarketing.com/api/mcp`.

Send the account `cm_` key from Integrations as a bearer token. This is the same key the HTTP API sends in `X-CM-API-KEY`.

```http
Authorization: Bearer cm_your_key
```

A missing or unknown key is rejected before a tool runs. A key that cannot send leads is rejected when the tool runs.

## Tools

`list_partners` lists the active Preferred Partners for the key, with each category and whether `serviceId` is required.

`create_lead` sends one lead to one of those partners. `idempotencyKey` is required. The same key, phone, and email replays the original lead for 24 hours. The result is the lead id, status, and delivery. It does not include the contact.

`consentAt` is when the person consented. Supply that time. Do not send the current time because the request is happening now. If you do not have that time, ask before sending.

A lead sent here is stored with origin `mcp`. `POST /api/leads` stays origin `api`.

## Connect

Any MCP client that speaks Streamable HTTP can connect. Send the bearer token on every request. Cursor, Claude, and other clients use this shape:

```json
{
  "mcpServers": {
    "comarketing": {
      "url": "https://www.comarketing.com/api/mcp",
      "headers": {
        "Authorization": "Bearer cm_your_key"
      }
    }
  }
}
```

Reading a lead, listing leads you sent, and registering a webhook stay on the HTTP API.
