Skip to content

MCP Server Tools

What this is

The complete catalogue of tools the ComStack MCP Server exposes to AI assistants. Tool availability is filtered per caller role — a viewer won’t see manager-only tools, and those tools won’t appear in tools/list.

How it works

Each tool carries MCP ToolAnnotations that tell clients what kind of approval UI to show:

  • readOnlyHint: true — read-only; clients can call without an approval prompt.
  • destructiveHint: true — modifies state in a hard-to-reverse way; clients show an approval prompt with arguments visible.
  • destructiveHint: false + idempotentHint: false — additive write (e.g. create-page); safe to call but not idempotent.

Annotations are advisory — the server enforces auth, role checks, project_name echo, and the confirmation-token flow regardless.

When to use it

Consult this page to understand which tools are available for a given role, what annotations they carry, and what approval flow the client will use.

Parameters / fields / inputs

The Role column shows the minimum role required.

Identity and project access

ToolRoleTypeDescription
whoamianyreadShow signed-in identity.
list-my-projectsanyreadList accessible projects with your role on each.
create-projectanywriteCreate a new project from a project template.
get-guideanyreadAgent guide, metadata schema, Lighthouse checklist.
report-feedbackanywriteFile a bug or improvement suggestion.

Project state

ToolRoleTypeDescription
get-project-stateviewerreadFull snapshot: pages by status, templates, locales, translation mode, next_action per page.
get-page-contentviewerreadFetch one page including status, audience, and next_action.
list-pagesviewerreadFilter pages by status, audience, template, or language.
search-docsviewerreadRanked keyword search across pages.
list-project-doc-templatesviewerreadPage templates available in this project.

Page editing

ToolRoleTypeDescription
create-pageeditorwriteCreate a new draft page. Validates all fields at once and rejects path and slug collisions.
update-pageeditordestructiveEdit an existing page. Live pages become a new draft; the live URL stays up until publish.

Approvals and translation

ToolRoleTypeDescription
approve-pagemanageridempotentApprove a draft. Full validation runs; translations start automatically. Page moves to ready when all locale variants land.
translate-pagemanageridempotentRetry the platform translation fan-out for an approved or ready page.
submit-page-translationeditoridempotentSupply one locale’s translation for an approved source page (client translation mode).

Publishing

ToolRoleTypeDescription
publishmanagerreadDry run: build the manifest of due READY pages with per-page diff and a confirmation token (5-min TTL).
publish-confirmmanagerdestructiveDeploy: use the token to promote ready pages to live. Async — poll publish-status for results.
publish-statusviewerreadPoll async publish progress; returns published_urls when complete.
list-publish-historyviewerreadRecent publishes with revert window.
revert-publishmanagerdestructiveRoll back the last publish within 1 hour. Requires project_name.

Page management

ToolRoleTypeDescription
delete-pagemanagerdestructiveHard delete (no undo). Requires project_name.
set-page-statusmanagerdestructiveArchive, restore, or revert a page. Requires project_name.
set-page-audiencemanagerdestructiveSet who can see a page: public, agents, members, or internal. Applied to the whole canonical slug group. Requires project_name.

Site configuration

ToolRoleTypeDescription
update-thememanagerdestructiveSet colours, fonts, and CSS for the knowledge site.
update-designmanagerdestructiveTheme the live site and custom pages (accent set, palette, fonts, colour scheme).
update-website-settingsmanagerdestructiveSet the published website country list and toggle the module. Requires project_name.
update-advanced-settingsmanagerdestructiveUpdate advanced project settings including translation mode.
update-live-agent-settingsmanagerdestructiveConfigure live voice agent settings.
update-legal-settingsmanagerdestructiveUpdate legal and compliance settings.
update-chrome-ingest-settingsmanagerdestructiveConfigure Chrome Extension ingest settings.
update-custom-pages-settingsmanagerdestructiveConfigure the custom pages module settings.

GitHub sync

ToolRoleTypeDescription
connect-githubmanagerdestructiveSave repo, branch, and docs folder. Requires project_name.
pull-and-publishmanagerdestructiveFull-replace sync from GitHub. Requires confirm: "REPLACE_ALL_DOCS" and project_name.
get-github-configmemberreadCurrent GitHub connection state.
update-github-syncmanagerdestructiveUpdate GitHub sync settings.
ToolRoleTypeDescription
list-sidebar-groupsmemberreadList the project’s sidebar groups.
get-sidebar-groupmemberreadFetch one sidebar group.
create-sidebar-groupmanagerwriteCreate a new sidebar group. Requires project_name.
update-sidebar-groupmanagerdestructiveEdit a group’s label, order, icon, or visibility. Requires project_name.
delete-sidebar-groupmanagerdestructiveDelete a group. Requires project_name. Fails if pages reference it.
reorder-sidebar-groupsmanagerdestructiveReplace the full sidebar group ordering. Requires project_name.
reorder-pages-in-groupmanagerdestructiveBulk-set page order inside a group. Requires project_name.
list-header-nav-itemsmemberreadList top-nav items sorted by order.
create-header-nav-itemmanagerwriteCreate a top-nav item. Max 10 per project. Requires project_name.
update-header-nav-itemmanagerdestructiveEdit a top-nav item’s label, URL, icon, or visibility. Requires project_name.
delete-header-nav-itemmanagerdestructiveDelete a top-nav item. Requires project_name.
reorder-header-nav-itemsmanagerdestructiveReplace the full top-nav ordering. Requires project_name.

Custom pages and media

ToolRoleTypeDescription
upload-custom-pageeditordestructiveUpload a custom (vibe-coded) page. Replaces the full body_source. Extracts translatable strings.
upload-mediaeditorwriteUpload an image or video; returns an optimised delivery URL.

Account and usage

ToolRoleTypeDescription
get-usage-reportanyreadAccount usage totals and per-module breakdown.
get-credit-balanceanyreadAvailable credits, balance, reserved, frozen flag.
list-api-keysanyreadAPI keys on the project.
generate-api-keymanagerwriteGenerate a new API key.
revoke-api-keymanagerdestructiveRevoke an API key.
repair-translationsmanagerdestructiveBackfill missing locale siblings. Requires project_name. Dry-run mode available.
lookup-companyanyreadLook up a company. External-facing — open world.

Page templates (admin)

ToolRoleTypeDescription
list-doc-templatesanyreadAll page templates on the platform.
get-doc-templateanyreadField schema, metadata example, markdown template, and slug examples.
create-doc-templateadminwriteCreate a new page template.
update-doc-templateadmindestructiveUpdate an existing page template.
delete-doc-templateadmindestructiveSoft-delete a page template.
list-project-templatesadminreadProject templates on the platform.
get-project-templateadminreadFetch one project template.
create-project-templateadminwriteCreate a new project template.
update-project-templateadmindestructiveUpdate a project template.
delete-project-templateadmindestructiveSoft-delete a project template.
assign-project-templateadmindestructiveAdd a page template to a project’s available templates.
unassign-project-templateadmindestructiveRemove a page template from a project.

Flows and steps

ToolRoleTypeDescription
list-flowsviewerreadList all flows in a project.
get-flowviewerreadFetch one flow.
create-floweditorwriteCreate a new flow.
update-floweditordestructiveUpdate a flow.
delete-flowmanagerdestructiveDelete a flow.
list-stepsviewerreadList steps in a flow.
get-stepviewerreadFetch one step.
add-stepeditorwriteAdd a step to a flow.
update-stepeditordestructiveUpdate a step.
remove-stepmanagerdestructiveRemove a step.
list-step-typesviewerreadAvailable step types.

Example

Checking what tools are available for your role:

Call get-project-state — the next_action on each page row tells you the next step and whether your role can perform it (next_action_allowed and next_action_min_role). The tools/list response is pre-filtered for your role, so any tool absent from the list is beyond your current role on this project.

Common errors

ErrorCauseFix
Tool absent from tools/listBelow required role for that toolUse a higher-role account or ask a manager
403 project_name mismatchproject_name doesn’t match stored nameCall get-project-state first
Validation error on writeMissing required template fieldsThe error response lists all issues at once with fix strings

Last updated: