Skip to main content
ChatFeatured runs an MCP (Model Context Protocol) server. Connect an AI assistant to it and the assistant can read your AI search analytics, manage prompts, competitors and your brand book, and create, schedule and publish articles in any project you have access to. The setup page is Integrations → AI Assistants (MCP). The connection acts as you, with your role in every workspace and project you can open. Project data needs an active or trialing plan on the project’s workspace.

Server URL

The server uses the Streamable HTTP transport. If your client asks, choose HTTP, not SSE. Add the URL and your client opens a ChatFeatured sign-in page. No key, client ID or secret is needed.
In Claude (web or desktop), go to Settings → Connectors → Add custom connector, paste the server URL, and sign in with your ChatFeatured account.
Signed-in clients appear under Connected assistants. Click the trash icon to disconnect one.

Connect with an API key

Use an API key for clients that don’t support OAuth, and for scripts.
  1. Go to Integrations → AI Assistants (MCP) and scroll to API Keys.
  2. Click Create API Key, give it a Name, and click Create Key.
  3. Copy the key from the API Key Created dialog. You won’t see it again.
The key has access to all projects you can access. Send it in an x-api-key header, as Authorization: Bearer cf_..., or as an ?api_key= query parameter. Most clients take a config like this one, shown in the dashboard under Add to your client:
For Claude Code:
From your own code, use any MCP client library with a Streamable HTTP transport. With the official TypeScript SDK (@modelcontextprotocol/sdk):
The API Keys list shows your MCP keys. Click the trash icon to delete one; clients using it lose access immediately. MCP keys and project REST API keys aren’t interchangeable.

Rate limit for API keys

Each API key allows 100 requests per minute, counting every message your client sends, including tool listings. Over the limit, the server answers 429 Too Many Requests. OAuth connections don’t have this limit.

How a session works

Tool and field names say “brand” where the dashboard says “project”. A brandId is a project ID.
  1. list_organizations, then list_brands, to find the project. Pass its ID as brandId to every other tool.
  2. get_brand_brief for how the project is doing. Drill in with query_analytics, or query_analytics_sql for questions the presets can’t answer.
  3. create_article_ideas, then approve_articles to start writing. Approval counts against your monthly article limit.
  4. list_articles with status: "review" to see which drafts are ready (writing takes a few minutes), then get_article to read one as Markdown.
  5. list_integrations, then publish_article or schedule_article. With more than one destination, pass the integrationId. get_publish_status confirms the article reached the CMS.
The assistant can’t edit an article’s body; do that in the dashboard editor. To publish somewhere ChatFeatured isn’t connected to, read the article with get_article, publish it yourself, then call update_article_status with status: "published" and the live URL in externalUrls so it’s tracked for citations. Tools that use plan allowances (approve_articles, create_prompt, update_prompt, update_prompt_status) report what’s left in their responses. get_organization_usage shows every limit at once.

Tools

Workspaces, projects and usage

Analytics

Site audit

Prompts

Brand book

Keywords

Knowledge base

Opportunities and tasks

Articles

Publishing

Topics and competitors

Troubleshooting

The project’s workspace has no active or trialing plan. list_organizations and list_brands still work.
The brandId belongs to a project you aren’t a member of. Check it against list_brands.
With an API key, check it wasn’t deleted, that you copied all of it, and that it’s an MCP key rather than a REST API key. With OAuth, disconnect the assistant under Connected assistants and connect it again.
Your account isn’t in any workspace. Ask a workspace Owner to invite you.