The HelpCenter.io MCP server lets an AI agent work in your help center: search and read articles, write and publish them, organize categories, answer reader comments, work through your team's notes and read your statistics. It speaks the Model Context Protocol (MCP) at https://mcp.helpcenter.io, so Claude, ChatGPT and agents you build see your help center as a set of tools.
The server is a thin layer over the HelpCenter.io REST API. Each tool call becomes a request to https://api.helpcenter.io/v1, made with the agent's own credential, so the API's permissions, validation and rate limits apply to the agent as they apply to your code. The server keeps no copy of your content and no credential between requests.
Connecting takes a minute: see Connect an AI assistant to your help center. Every tool, with its arguments and results, is in the MCP tool reference.
At a glance
Item | Details |
|---|---|
Server URL |
|
Transport | Streamable HTTP, stateless. Every |
Protocol versions |
|
What it offers | Tools only. No prompts and no resources. |
Sign-in | OAuth 2.1 (your MCP client signs you in), or an API key sent as |
Plans | Growth and Catalyst, including their free trials |
Limits | The API's per-credential rate limits: 300 requests a minute, of which at most 120 writes, and 6 a minute for the analytics tools. A tool call that waits more than 25 seconds for the API times out. |
Your readers get a different server: every public help center also has a read-only, anonymous MCP server at its own address. See The public MCP server of a help center.
What agents can do
Area | The tools let an agent | Permission |
|---|---|---|
Articles | Search published articles, list and read every article (drafts included), create and update articles in HTML or Markdown, and import up to 50 in one call. |
|
Staged changes and versions | Save an edit to a published article without readers seeing it, publish or discard it, and list or restore earlier versions. |
|
Categories | List, create, update and reorder categories, set the article order inside one, and delete one after saying where its contents go. |
|
Comments | Read reader comments and the moderation queue, approve or unpublish a comment, and reply. |
|
Analytics | Read traffic and ratings, per-article performance, and what readers searched for and did not find. |
|
Team notes | Read the private notes your team leaves on articles, reply to them and resolve them. |
|
Help centers | List the help centers the connection can reach, with their ids. |
|
Articles an agent creates stay drafts unless it publishes them. Changes to a published article go live at once, unless the agent stages them first.
What agents cannot do
Delete an article or a comment. They can unpublish either one, which you can reverse.
Upload images on their own (images in an article's content are copied in), publish change sets, manage webhooks, edit interface translations, export a help center, send article feedback or set an article's SEO title and description. Your own code can do all of these with the REST API.
Change settings, the design, your team or billing.
Read reader email addresses or IP addresses. Comment tools leave out email addresses, and no tool returns an IP address.
See team notes through the comment tools. Team notes are only reachable through the team notes tools, with their own permission.
Three tools change or remove work in a way that is hard to undo: discarding staged changes, restoring an earlier version (readers see it at once) and deleting a category. Their MCP annotations mark them as destructive (destructiveHint: true), which MCP clients can use to ask you before running them.
How agents sign in
The same URL takes two kinds of credential, both in the Authorization: Bearer header.
OAuth sign-in | API key | |
|---|---|---|
Use it for | Claude, ChatGPT and other MCP clients that sign you in | Agents and scripts you run yourself |
How it works | The client sends you to HelpCenter.io to sign in. You approve the permissions it asks for and choose the help centers it may reach. | Create a key in Settings → API keys and send it as |
Acts as | You, on the help centers you chose | The person who created the key, on the key's help center |
Can do | What the permissions you approved allow | What the key's scope allows (Read only or Read & write), plus team notes if the key was created with that access |
Stop it | Disconnect the app in Account → Connected Apps | Delete the key in Settings → API keys |
A client that connects without a credential gets 401 Unauthorized with a WWW-Authenticate header that points to the server's OAuth metadata, https://mcp.helpcenter.io/.well-known/oauth-protected-resource. MCP clients follow it to the HelpCenter.io authorization server and start the sign-in. OAuth 2.1 for apps and AI clients covers the flow in depth.
OAuth reaches only help centers that belong to the HelpCenter.io account you sign in with. To connect an agent to a help center another account owns, use an API key created in that help center.
Plans
The MCP server is part of the Growth and Catalyst plans, including their free trials. HelpCenter.io checks the plan on every request, for the help center the request acts on, so a plan change applies to the very next tool call.
The check covers API keys too. The REST API itself works on every plan, but the MCP server marks its own requests to the API with the header X-HCio-Client: mcp, and requests carrying it are checked. So a key that works against https://api.helpcenter.io/v1 on any plan is refused through the MCP server on a plan that does not include it.
On other plans:
The OAuth consent screen shows those help centers locked, with an Upgrade link. When none of your help centers qualifies, it says Your plan doesn't include the MCP server and shares nothing.
A tool call is refused by the API with
402 Payment Required:
{
"status": "error",
"code": "plan_upgrade_required",
"feature": "mcp",
"message": "The HelpCenter.io MCP server is available on the Growth and Catalyst plans. Acme does not have an active plan.",
"upgrade_url": "https://helpcenter.io/app/account/billing",
"plans": ["growth", "catalyst"]
}
When the help center has a plan, the second sentence names it, for example Acme is on the Bootstrap plan. The agent receives the refusal as a tool error it is asked to pass on, not to act on:
The HelpCenter.io MCP server is available on the Growth and Catalyst plans. Acme does not have an active plan.
Upgrade the plan: https://helpcenter.io/app/account/billing
This is the help center's subscription plan, not an authentication problem. Do not retry, and do not reconnect or re-authorize the HelpCenter.io connector — neither changes the plan, so both end in this same answer. Tell the user, so that someone who manages the HelpCenter.io account can change the plan.
Staging an edit also needs staged changes on the help center, part of the Catalyst plan in early preview (see Staged changes and versions). Listing and restoring versions has no extra plan requirement, but versions are only recorded when staged changes are published or a version is restored, so a help center without staged changes usually has none.
Which help center the agent works on
API key: always the help center the key was created in. A
?site=on the URL is ignored.OAuth, one help center approved: that one, with nothing to configure.
OAuth, several approved: the connection must name one, with
?site=<id>on the server URL, for examplehttps://mcp.helpcenter.io/?site=1234. Without it, tools that act on a help center are refused withsite_required. Thehelpcenter_list_sitestool lists the ids.
No tool takes a help center argument, so an agent cannot switch help centers in the middle of a conversation. Add the server once per help center when you want an agent in each. See Choose which help center a request acts on.
Security model
It acts as a person. Every request carries the credential of the person who connected the agent (or who created the key). Replies to comments are posted in their name.
It is limited twice. A connection reaches only the help centers you approved and only what its permissions allow. The API enforces both on every request, including which help center an id belongs to: an id from another help center answers as not found.
Tokens are bound to this server. The server accepts only OAuth access tokens that HelpCenter.io signed for
https://mcp.helpcenter.io. A token issued for anything else is refused with401, however valid it is elsewhere.Revoking works on the next request. Unticking a help center in Connected Apps applies to the agent's next call, and Disconnect revokes its tokens at once. Deleting an API key stops it immediately.
Team notes need two things. The
notes.readornotes.writepermission (or a key created with team notes access), and the person behind the credential must still have access to team notes in the dashboard. HelpCenter.io checks the second on every request.Nothing is kept. The server stores no content. It logs one line per request (method, status, tool name, timing), never the arguments, the results or the credential.