Help centre
Read, draft and edit help-centre articles and collections, and see what an export would contain.
With these tools an assistant can search the help centre as staff see it, drafts included, write and improve articles, organise them into collections, and report what an export would contain. Everything it creates starts as an internal draft. Publishing is always done by a person, in Studio.
The help centre is not the knowledge base. To search the knowledge base, see
search_knowledge_base.
| Tool | What it does | Role needed | Changes data? |
|---|---|---|---|
list_help_centre_articles | Searches the staff article list, drafts and internal articles included | viewer | read-only |
get_help_centre_article | Reads one article translation with its Markdown body | viewer | read-only |
draft_help_centre_article | Drafts or improves article Markdown; saves nothing | editor | read-only |
create_help_centre_article | Creates an article as an internal draft | editor | adds |
update_help_centre_article | Edits an article's title, body, description, collection or slug | editor | destructive |
create_help_centre_collection | Creates an internal collection | editor | adds |
export_help_centre | Reports what an export archive would contain | admin | read-only |
Source: _TOOLS in services/runtime/src/runtime/mcp/tools.py, and the
help-centre handlers beside them, from _list_help_centre_articles to
_draft_help_centre_article.
None of these tools sends the client a read-only or destructive hint. The last column describes what each handler does.
Choosing a help centre
Every tool here except draft_help_centre_article takes an optional
help_centre_id. A workspace with one help centre can leave it out. A
workspace with several must name one; leaving it out is refused with
help_centre_id is required.
Source: resolve_help_centre in
services/runtime/src/runtime/helpcentre/staff_read.py.
list_help_centre_articles
- Inputs, all optional:
collection_id,locale,editorial_state(draft,publishedorarchived),visibility(public,signed_inorinternal),q(matches the title),limit(1 to 200, default 50) andoffset(0 to 100,000). - Each row carries its editorial state and visibility, so a draft is never mistaken for a published answer.
Source: _list_help_centre_articles in services/runtime/src/runtime/mcp/tools.py.
get_help_centre_article
- Input:
translation_id. This is the id of one language version of an article, not the article id. - Returns the title, slug, locale, editorial state, visibility, collection, owner, provenance and the Markdown body.
draft_help_centre_article
- Inputs:
promptis required.article_context(title, description or collection, so the draft uses the article's own vocabulary) andselection(a passage to improve instead of drafting from scratch) are optional. - Uses the workspace's own model provider. Writes nothing: it returns
Markdown and a notice saying so. Save the result with
create_help_centre_articleorupdate_help_centre_article. - Refusals carry the fix: the rate limit, no model key configured, or the model provider unreachable or refusing.
- Needs editor although it saves nothing.
Source: _draft_help_centre_article in
services/runtime/src/runtime/mcp/tools.py.
create_help_centre_article
- Inputs:
titleis required.body_markdown,locale,collection_idanddescription(the short line under the title) are optional. - The article is always created as an internal draft. This tool cannot publish it or make it public.
- Returns the new article, a
studio_edit_pathto open it in Studio, and a notice that it is an internal draft.
Source: _create_help_centre_article in
services/runtime/src/runtime/mcp/tools.py.
update_help_centre_article
- Inputs:
translation_idis required. Any oftitle,body_markdown(replaces the whole body),description,collection_idandslugmay be sent. Only the ones you send change. collection_id: nulltakes the article out of every collection.- Editorial state and visibility cannot be changed here. Publishing stays a human act in Studio.
Source: _update_help_centre_article in
services/runtime/src/runtime/mcp/tools.py.
create_help_centre_collection
- Inputs:
nameis required.description,slug,icon,parent_id(to nest it under another collection) andlocaleare optional. iconis a lucide icon name from the allowed list, or anhttps://URL.- The collection is created internal, so it does not appear on the public site until a person makes it public in Studio.
export_help_centre
- Admin only, because an export includes internal and draft content.
- Inputs, all optional:
collection_id(export one collection and what is inside it) andlocale. - Returns the counts of collections, articles, translations and assets the archive would contain.
- The archive itself is not delivered over MCP, and no download link is given. Download it from Studio. The counts are exactly what that archive contains.
- A collection that is not in this help centre gets a plain "not found".
Source: _export_help_centre in services/runtime/src/runtime/mcp/tools.py.