Appearance
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 β
| Surface | What it drives | Where the app hands you the setup | How it's secured |
|---|---|---|---|
| Product MCP | One indexed product catalog (semantic + attribute search) | Knowledge Base β a connected Products card β β― menu β Connect AI tools | The address itself is the key β no token |
| Sales-Management MCP | Your Sales Platform (assistants, leads, chats, channels, knowledge base, orders, calendarβ¦), as 10 focused areas or one combined server | Agents β Connectors β a From your sales platform card β the small i (Connect AI tools) | The address itself is the key β no token |
| UGC MCP | Content, posting, analytics, and ads for one business | Server address below + a per-account token | A 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 search | Product 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 ads | UGC MCP β needs a per-account token |
| Give a MyChatBot agent an external MCP endpoint | A 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.

The server address looks like this (the dialog fills in your account and catalog):
https://product.mychatbot.app/mcp/<account_id>/<integration_id>/streamAdd 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 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 label | What it exposes |
|---|---|---|
sales_assistants | Configurations | Create/edit assistants, manage their skills, run test chats |
sales_clients | Leads | Contacts β notes, tasks, labels, pipeline stages |
sales_conversations | Chats | Chat history and message context |
sales_channels | Channels | Messaging channels and their setup links |
sales_outreach | FollowUp | Follow-up campaigns, one-off messages, outbound calls |
sales_knowledge | KnowledgeBase | FAQs, product catalogs, and product feeds |
sales_integrations | Integrations | Your third-party integrations and their config links |
sales_account | Dashboard | Account summary, subscription, and usage stats |
sales_orders | Orders | Orders and order stats |
sales_calendar | Calendar | Calendar 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):
domain | What it does | Plan / balance gate |
|---|---|---|
content | Generate media, poll media tasks, text-to-speech | Balance-metered β needs a positive balance, no plan requirement |
posting | Create posts, timelines, best-times, posting frequency | Requires a social paid plan |
analytics | Post analytics, engagement decay, daily metrics, campaign tree | Requires a social paid plan |
ads | List ad accounts, ads, and campaigns | Requires 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 β
| Surface | How it's scoped | Secret required? |
|---|---|---|
| Product MCP | Account + catalog, baked into the address | No β the address is the key |
| Sales-Management MCP | Account (+ optional area), baked into the address | No β the address is the key |
| UGC MCP | Account resolved from the Bearer token | Yes β 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 family | What it is | How it's set up |
|---|---|---|
| From your sales platform | The same 10 Sales Platform areas listed above, attached to an agent | One 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 |
| Custom | Any MCP server you host yourself | You 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 listOr 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
domainquery 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.