Skip to content

MCP & connectors ​

MyChatBot exposes three separate MCP (Model Context Protocol) surfaces you can attach to any external MCP client β€” Claude Code, Cursor, or your own tooling. Use this page when you want to drive product search, your Sales Platform, or UGC tools from outside MyChatBot, and to understand how those same surfaces relate to the connectors you attach to an agent inside the app.

All three speak the standard MCP protocol, so any MCP client can connect. What differs is the scope (how much of your account a surface can touch) and how each one is secured. In each case you don't hand-build the address β€” the app gives you a ready-to-paste Connect AI tools setup (server address + a Claude Code command + a Cursor config).

Cheat sheet ​

SurfaceWhat it drivesWhere the app hands you the setupHow it's secured
Product MCPOne indexed product catalog (semantic + attribute search)Knowledge Base β†’ a connected Products card β†’ β‹― menu β†’ Connect AI toolsThe address itself is the key β€” no token
Sales-Management MCPYour Sales Platform (assistants, leads, chats, channels, knowledge base, orders, calendar…), as 10 focused areas or one combined serverAgents β†’ Connectors β†’ a From your sales platform card β†’ the small i (Connect AI tools)The address itself is the key β€” no token
UGC MCPContent, posting, analytics, and ads for one businessServer address below + a per-account tokenA per-account Bearer token (sent in a header)

A MyChatBot MCP address is a credential

Product MCP and Sales-Management MCP are authorized only by the account (and catalog/area) baked into the URL β€” there's no separate password. Anyone who has the address can read (and, for Sales-Management, write) that account's data. Treat these addresses like secrets. The UGC MCP is the exception: it requires a per-account Bearer token.

Which surface do I want? ​

I want to…Use
Query one product catalog by semantic / attribute searchProduct MCP β€” copy it from the catalog's Connect AI tools dialog
Manage assistants, chats, leads, channels, knowledge base, orders, calendar…Sales-Management MCP β€” pick an area on the Connectors page
Generate media, schedule posts, read social analytics or adsUGC MCP β€” needs a per-account token
Give a MyChatBot agent an external MCP endpointA custom connector (see below)

Product MCP (per-catalog) ​

Scoped to a single indexed product catalog β€” one integration on one account. You don't need to assemble the address by hand.

In the app

Open Knowledge Base β€” app.mychatbot.app/knowledge-base β€” find a connected Products card, open its β‹― menu, and choose Connect AI tools. The dialog shows the server address plus a copy-paste Claude Code command and Cursor config for exactly this catalog.

A connected Products card's β‹― menu with 'Connect AI tools', and the dialog offering the server address, a Claude Code command, and a Cursor config

The server address looks like this (the dialog fills in your account and catalog):

https://product.mychatbot.app/mcp/<account_id>/<integration_id>/stream

Add it to Claude Code:

bash
claude mcp add --transport http product-search \
  "https://product.mychatbot.app/mcp/<account_id>/<integration_id>/stream"

Cursor (~/.cursor/mcp.json or project .cursor/mcp.json):

json
{
  "mcpServers": {
    "product-search": {
      "url": "https://product.mychatbot.app/mcp/<account_id>/<integration_id>/stream"
    }
  }
}

One catalog per server

Each product catalog is its own MCP server. To search two catalogs, add two entries with two addresses (and two distinct server names) β€” copy each from the matching catalog's Connect AI tools dialog.

Sales-Management MCP (per-account, per-area) ​

One MCP surface for your whole Sales Platform. You can attach a single area (leads only, knowledge base only, …) to keep the tool list focused, or attach the combined server that exposes every area at once β€” the same all-tools view the agent's Sales Platform tools toggle relies on.

In the app

Open Agents β†’ Connectors β€” app.mychatbot.app/agents/connectors. In the From your sales platform section, click the small i (Connect AI tools) on any area card to get its server address, Claude Code command, and Cursor config.

The Connectors page 'From your sales platform' section, with the small 'i' Connect AI tools button on an area card

The server address carries your account and the chosen area:

https://api.mychatbot.app/api/mcp/sales-management?account_id=<account_id>&domain=<area>

The 10 areas map one-to-one to the Sales Platform sidebar:

Area (domain)Sidebar labelWhat it exposes
sales_assistantsConfigurationsCreate/edit assistants, manage their skills, run test chats
sales_clientsLeadsContacts β€” notes, tasks, labels, pipeline stages
sales_conversationsChatsChat history and message context
sales_channelsChannelsMessaging channels and their setup links
sales_outreachFollowUpFollow-up campaigns, one-off messages, outbound calls
sales_knowledgeKnowledgeBaseFAQs, product catalogs, and product feeds
sales_integrationsIntegrationsYour third-party integrations and their config links
sales_accountDashboardAccount summary, subscription, and usage stats
sales_ordersOrdersOrders and order stats
sales_calendarCalendarCalendar events, staff, and services

Add one area to Claude Code:

bash
claude mcp add --transport http mychatbot-sales \
  "https://api.mychatbot.app/api/mcp/sales-management?account_id=<account_id>&domain=sales_knowledge"

Cursor:

json
{
  "mcpServers": {
    "mychatbot-sales": {
      "url": "https://api.mychatbot.app/api/mcp/sales-management?account_id=<account_id>&domain=sales_knowledge"
    }
  }
}

One area vs the combined server

Attach one server per area to keep each client's tool list small and focused, or drop &domain=… for a single server that exposes every area at once. The combined server is broader but noisier for the model.

UGC MCP (per-account) ​

The UGC surface exposes content, posting, analytics, and ads tools for one business. Unlike the other two, it's secured by a per-account Bearer token, and the account is derived from that token β€” so the address doesn't carry your account id.

https://api.mychatbot.app/api/mcp/ugc?domain=<content|posting|analytics|ads>

Four areas (omit domain to expose every UGC tool at once):

domainWhat it doesPlan / balance gate
contentGenerate media, poll media tasks, text-to-speechBalance-metered β€” needs a positive balance, no plan requirement
postingCreate posts, timelines, best-times, posting frequencyRequires a social paid plan
analyticsPost analytics, engagement decay, daily metrics, campaign treeRequires a social paid plan
adsList ad accounts, ads, and campaignsRequires the stricter ads plan (Scale+)

1. Get a token ​

The UGC MCP is authorized by a per-account token (prefixed ugc_mcp_…). MyChatBot issues it for your account and shows the full secret exactly once β€” copy it immediately; afterward only a masked preview is available. You can revoke a token at any time, which cuts off any client still using it. If you need a UGC token issued, contact support.

2. Connect the client ​

Claude Code β€” pass the token as a header, never in the URL:

bash
claude mcp add --transport http mychatbot-ugc \
  --header "Authorization: Bearer ugc_mcp_XXXXXXXX" \
  "https://api.mychatbot.app/api/mcp/ugc?domain=content"

Cursor β€” add a headers block alongside the url:

json
{
  "mcpServers": {
    "mychatbot-ugc": {
      "url": "https://api.mychatbot.app/api/mcp/ugc?domain=content",
      "headers": { "Authorization": "Bearer ugc_mcp_XXXXXXXX" }
    }
  }
}

The UGC token spends money

Content generation bills your account balance. The token is accepted only via the Authorization: Bearer header β€” a token placed in the query string is rejected. Store it like an API key, and revoke it if it leaks.

How each surface is secured ​

SurfaceHow it's scopedSecret required?
Product MCPAccount + catalog, baked into the addressNo β€” the address is the key
Sales-Management MCPAccount (+ optional area), baked into the addressNo β€” the address is the key
UGC MCPAccount resolved from the Bearer tokenYes β€” Authorization: Bearer header only

The recurring rule: MyChatBot's MCP scope is expressed inside the URL, not with a per-request password β€” the one deliberate exception being the money-spending UGC surface, which requires a token and ignores any account id in the URL.

How this relates to connectors ​

The three surfaces above are outbound: MyChatBot exposes them so your external client drives the platform. Connectors are the inbound direction β€” they let a MyChatBot agent reach out to tools. There are three families, all managed at Agents β†’ Connectors:

Connector familyWhat it isHow it's set up
From your sales platformThe same 10 Sales Platform areas listed above, attached to an agentOne click on the Connectors page β€” no sign-in
External apps (HubSpot, Gmail, Slack, Notion, …)A third-party app's tools, scoped to your account (powered by our connector service)One-time sign-in on the Connectors page
CustomAny MCP server you host yourselfYou supply the server address, transport, and headers

A custom connector has no sign-in and no credential refresh β€” you provide the endpoint and any headers directly. That means you can even point one back at a MyChatBot surface (for example, hand an agent the UGC MCP by pasting the UGC address plus its Authorization: Bearer header), though the From your sales platform connectors already cover the Sales-Management case with no manual URL.

A Sales Platform area and an external app can't both hold the same slot

On the Connectors page a From your sales platform connector and an external-app connector can't both be connected for the same slug at once. Disconnect one before connecting the other.

See Connectors cheat sheet for the full app walkthrough (connecting, per-agent toggles, and custom servers).

Test it ​

Verify a connection from your client:

bash
claude mcp list

Or list the tools a surface exposes (any MCP client works; here with curl):

bash
curl -sS -X POST \
  "https://api.mychatbot.app/api/mcp/sales-management?account_id=<account_id>&domain=sales_knowledge" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

For the UGC surface, add the token header:

bash
curl -sS -X POST \
  "https://api.mychatbot.app/api/mcp/ugc?domain=content" \
  -H "Authorization: Bearer ugc_mcp_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

A healthy response returns a list of tools. An empty list, or an authorization error, means a missing/invalid token or an unknown area.

Best practices ​

  • Do attach one area (or one catalog) per server so each client sees a small, focused tool list.
  • Do keep the UGC Bearer token in a header and treat it as an API key; revoke and reissue it if it leaks.
  • Don't paste the UGC token into a URL or the domain query string β€” it will be rejected.
  • Don't assume Product or Sales-Management addresses are private on their own: the address is the credential, so share it only with trusted clients.
  • Don't point a custom connector at an unreachable or wrong-transport endpoint β€” see Connectors cheat sheet for the supported transports.

See also ​