Skip to content

Content and Docs MCP ​

Two more of MyChatBot's own MCP servers: the Content (UGC) MCP for media generation, posting, social analytics, and ads, and the public, read-only Docs MCP for these docs. The MyChatBot plugin already includes both; connect them directly only from another client. See MCP at MyChatBot for every server.

Content (UGC) MCP ​

The UGC surface exposes content, posting, analytics, and ads tools for one business. Like Sales-Management, it requires a per-account Bearer token. Unlike Sales-Management, the account is derived entirely 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+)

Get an account access key ​

The UGC MCP accepts the same per-account mcp_… access key as the Agents and Sales-Management MCPs. Create one from any Agent's Tasks → Connect Claude or Codex dialog. MyChatBot shows the full value exactly once; afterward only a masked preview is available. Legacy ugc_mcp_… keys remain valid across all account MCP surfaces. Revoking a key cuts off every client that still uses it; contact support to revoke one. Only the account owner or an Admin can create keys.

Connect the client ​

Claude Code — pass the token as a header, never in the URL:

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

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 mcp_YOUR_ACCESS_KEY" }
    }
  }
}

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 ask support to revoke it if it leaks.

Docs MCP ​

The Docs MCP lets a coding agent traverse the same current Markdown corpus as this site. It has no account scope and requires no account credential. Its upstream host is fixed to docs.mychatbot.app: none of its tools accepts a URL, so it cannot be used to fetch an arbitrary website.

Server address:

text
https://api.mychatbot.app/api/mcp/docs

It exposes three read-only operations:

ToolWhat it returns
get_docs_structureThe annotated documentation outline and page paths
search_docsUp to 10 matching pages with bounded excerpts
read_docs_pageOne raw Markdown page from the docs host, with tables and callouts intact

Claude Code:

bash
claude mcp add mychatbot-docs \
  "https://api.mychatbot.app/api/mcp/docs" \
  --transport http

Codex (~/.codex/config.toml):

toml
[mcp_servers.mychatbot-docs]
url = "https://api.mychatbot.app/api/mcp/docs"

Start with get_docs_structure, or use search_docs for concrete feature and button names. Follow a result with read_docs_page rather than relying on a short search excerpt. A docs result is product guidance, not evidence about the connected account or a live external system.

Test the Content MCP ​

List the tools an area exposes (any MCP client works; here with curl):

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

A healthy response returns a list of tools. An authorization error means a missing or invalid key; a key in the query string is always rejected.

See also ​