MCP Reference

Documentation — MCP Tools

30 tools in the Documentation group of the Routebase MCP server.

clone_doc_version

Creates a new mutable Draft version by deep-copying an existing version (pages, folders, snapshots). Use this to start a repeatable sync after a version was published. Returns the new version's Id and version number. Requires project context (call set_context first).

Required scope: docs:publish

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
sourceVersionId string Yes The public Id (Guid) of the source version to deep-copy

create_doc_folder

Create a folder in the documentation tree to organize pages. Optionally nest inside another folder. Returns the folder ID and slug. The version must be in Draft or Review status (mutable). Requires project context (call set_context first).

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
name string Yes Folder name
icon string No Optional icon identifier for the folder
description string No Optional description
parentFolderId string No Optional parent folder public Id (Guid) for nesting
slug string No Optional URL slug (lowercase letters, digits and single hyphens). Defaults to a slug derived from the name.

create_doc_page

Create a new documentation page with Markdown content in a doc version. Optionally place it inside a folder. Returns the created page ID and slug. The version must be in Draft or Review status (mutable). Requires project context (call set_context first).

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version (must be Draft or Review)
title string Yes Page title
content string No Markdown content for the page
parentFolderId string No Optional parent folder public Id (Guid) to place the page in
pageType string No Page type: custom, gettingStarted, authentication, environments, errorCodes, rateLimits, webhooks, sdks, changelog (default: custom)
slug string No Optional URL slug (lowercase letters, digits and single hyphens). Defaults to a slug derived from the title.

create_documentation

Create the documentation container for the active project, together with its first Draft version. A project has at most one documentation — call list_documentations first; creating a second one fails. Requires project context.

Required scope: docs:write

No parameters.

get_doc_page

Get a documentation page with full content and metadata. Returns title, slug, Markdown content, page type, and timestamps. Requires project context (call set_context first).

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
pageId string Yes The public Id (Guid) of the page

get_doc_page_revision

Get one revision's full title and content — the preview before restoring it with manage_doc_page(action: 'restore_revision'). Get revisionId from list_doc_page_revisions. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
pageId string Yes The public Id (Guid) of the page
revisionId string Yes The public Id (Guid) of the revision

get_doc_settings

Get a documentation's settings: version numbering scheme, whether publishing needs approval and who may give it, the default code languages of the samples, and how schema names are displayed. Also returns the rowVersion that update_doc_settings takes. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation

get_doc_snippet

Get one snippet with its full Markdown content and rowVersion. Set includeUsages to also list the pages embedding it — do that before deleting one. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
snippetId string Yes The public Id (Guid) of the snippet
includeUsages boolean No (default false) Also list the pages using this snippet (default false)

get_doc_tree

Get the documentation tree (folders, pages, spec snapshots) for a specific version. Returns a hierarchical structure with sort order. Each node is typed as page, folder, or specSnapshot. Requires project context (call set_context first).

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version

get_doc_version_publish_state

Whether a documentation version is ready to go live and whether the portal is showing its current content: lifecycle status, visibility, approval state, and whether anything was edited since the last successful portal build. Read this before publishing or building. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version

get_org_doc_template

Get one organization documentation template with its full content and rowVersion.

Required scope: docs:read

Parameter Type Required Description
templateId string Yes The public Id (Guid) of the template

get_portal_url

Get the public portal URL for a documentation (the custom domain if one is configured, otherwise null) along with its custom-domain setup status. Requires project context (call set_context first).

Required scope: docs:manage-portal

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation

get_spec_usage_in_docs

Find which documentation versions embed a given API specification — read this after publishing a spec to see which snapshots are now stale. By default only mutable (Draft/Review) doc versions are listed; set includePublished to also see the live ones. Requires project context.

Required scope: docs:read

Parameter Type Required Description
specId string Yes The public Id (Guid) of the API specification
includePublished boolean No (default false) Also list published doc versions, not just mutable ones (default false)

list_available_specs

List the project's API specifications with their published status — the candidates for manage_spec_snapshot(action: 'add'). A spec without a published version cannot be snapshotted. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version

list_doc_page_revisions

List a page's revision history, newest first. Metadata only — read a revision's content with get_doc_page_revision before restoring it via manage_doc_page. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
pageId string Yes The public Id (Guid) of the page

list_doc_snippets

List the snippets of a documentation version with their slug, content and how many pages use each one. Requires project context.

Required scope: docs:read

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version

list_documentations

List all documentations in the active project with their versions. Returns documentation settings, branding info, and version summaries (status, visibility, dates). Requires project context (call set_context first).

Required scope: docs:read

No parameters.

list_org_doc_templates

List the organization's documentation page templates, optionally filtered to one page type. Returns each template's full content.

Required scope: docs:read

Parameter Type Required Description
pageType string No Optional page type filter: custom, gettingStarted, authentication, environments, errorCodes, rateLimits, webhooks, sdks, changelog

manage_doc_folder

Change or remove a folder in the documentation tree. Actions: 'update' renames it and/or sets icon, description, slug or section flag — every field you omit keeps its current value, and an empty string clears it; 'delete' removes the folder and everything nested in it. Create folders with create_doc_folder. Get folderId and rowVersion from get_doc_tree. The version must be Draft or Review. Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
folderId string Yes The public Id (Guid) of the folder
action string Yes What to do: 'update' or 'delete'
name string No New folder name — omit to keep the current one
icon string No New icon identifier — omit to keep, empty string to clear
description string No New description — omit to keep, empty string to clear
slug string No New URL slug (lowercase letters, digits and single hyphens) — omit to keep
isSection boolean No Whether the folder renders as a section header instead of a collapsible folder — omit to keep
rowVersion string No Optional rowVersion (Base64) from get_doc_tree for optimistic concurrency

manage_doc_page

Page operations beyond writing content. Actions: 'delete' removes the page; 'lock' makes it reject content edits (moving and deleting stay allowed), 'unlock' lifts that; 'restore_revision' rolls the page back to an earlier revision — the current state is snapshotted first, so a restore is itself undoable, and the page must be unlocked. 'restore_revision' needs revisionId from list_doc_page_revisions. Create and edit pages with create_doc_page / update_doc_page. Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
pageId string Yes The public Id (Guid) of the page
action string Yes What to do: 'delete', 'lock', 'unlock' or 'restore_revision'
revisionId string No The public Id (Guid) of the revision — required for 'restore_revision'

manage_doc_snippet

Manage the reusable snippets of a documentation version — blocks of Markdown that pages embed by slug, so one edit updates every page using them. Actions: 'create' (needs name and content), 'update' (name, content and/or description; omitted fields keep their current value) and 'delete'. Check get_doc_snippet with includeUsages before deleting. Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
action string Yes What to do: 'create', 'update' or 'delete'
snippetId string No The public Id (Guid) of the snippet — required for 'update' and 'delete'
name string No Snippet name — required for 'create'
content string No Markdown content — required for 'create'
description string No Optional description
rowVersion string No Optional rowVersion (Base64) from get_doc_snippet for optimistic concurrency

manage_doc_tree

Restructure the documentation tree. Actions: 'move' puts one tree item under a different folder (omit targetFolderId to move it to the root; folders may nest four levels deep); 'reorder' sets the display order within one parent — pass every item ID at that level in the order you want, and omit parentFolderId for the root level. The IDs are the tree-item IDs from get_doc_tree (the node 'id', not the page or folder id). Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
action string Yes What to do: 'move' or 'reorder'
treeItemId string No The tree-item Id (Guid) to move — required for 'move'
targetFolderId string No Target folder Id (Guid) for 'move'; omit to move to the root level
itemIds string No Tree-item Ids (Guids) in the desired order, comma-separated — required for 'reorder'. All of them must sit under the same parent.
parentFolderId string No Parent folder Id (Guid) whose children are being reordered; omit for the root level

manage_doc_version

The documentation version lifecycle. Actions: 'create' opens the next Draft version EMPTY — no pages, folders or spec snapshots are copied, so get_doc_tree returns nothing and publishing it blanks the live portal. Use clone_doc_version (deep-copy) to keep the existing content — that is what a normal docs update needs; 'create' is only for starting from scratch. 'delete' discards a Draft or Review version (Published and Archived ones are immutable history and cannot be discarded); 'set_status' moves a version between 'draft', 'review', 'published' and 'archived' — publish_doc_version is the dedicated shortcut for going live; 'approve' records the approval a documentation with requireApproval needs before it can be published, and only a configured approver may do it. Get versionId from list_documentations. Requires project context.

Required scope: docs:publish

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
action string Yes What to do: 'create', 'delete', 'set_status' or 'approve'
versionId string No The public Id (Guid) of the doc version — required for everything but 'create'
status string No Target status for 'set_status': 'draft', 'review', 'published' or 'archived'
rowVersion string No Optional rowVersion (Base64) from list_documentations for optimistic concurrency on 'set_status'

manage_org_doc_template

Manage the organization-wide documentation templates new pages start from. Actions: 'create' (needs pageType, name and content), 'update' (name, content and/or description; omitted fields keep their current value) and 'delete'. These are organization settings, not project content — they apply to every project in the organization.

Required scope: org:manage-settings

Parameter Type Required Description
action string Yes What to do: 'create', 'update' or 'delete'
templateId string No The public Id (Guid) of the template — required for 'update' and 'delete'
pageType string No Page type the template applies to: custom, gettingStarted, authentication, environments, errorCodes, rateLimits, webhooks, sdks, changelog — required for 'create'
name string No Template name — required for 'create'
content string No Markdown content — required for 'create'
description string No Optional description
rowVersion string No Optional rowVersion (Base64) from get_org_doc_template for optimistic concurrency

manage_snapshot_content

Control how a spec snapshot is presented in the portal. Actions: 'reorder_endpoints' and 'reorder_tags' set a custom order (pass every id/name at that level in the order you want); 'reset_endpoint_order' drops the custom endpoint order so the snapshot follows the API designer again; 'set_endpoint_annotation' adds Markdown prose above one endpoint — send an empty content to remove it; 'set_folder_description' sets the intro Markdown of a designer folder path (empty content removes it, and the portal falls back to the same-named tag's description). Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
snapshotId string Yes The public Id (Guid) of the spec snapshot
action string Yes What to do: 'reorder_endpoints', 'reset_endpoint_order', 'reorder_tags', 'set_endpoint_annotation' or 'set_folder_description'
endpointIds string No Endpoint ids in the desired order, comma-separated — required for 'reorder_endpoints'
tagNames string No Tag names in the desired order, comma-separated — required for 'reorder_tags'
endpointId string No The endpoint id the annotation belongs to — required for 'set_endpoint_annotation'
folderPath string No Designer folder path (e.g. 'Billing/Invoices') — required for 'set_folder_description'
content string No Markdown content for 'set_endpoint_annotation' and 'set_folder_description'; empty removes it

manage_spec_snapshot

Manage the API spec snapshots embedded in a documentation version. Actions: 'add' freezes a spec's latest published version into the doc tree (needs specId from list_available_specs); 'update' toggles the try-it playground and/or refreshes the frozen copy from the spec's newest published version (set refresh to true); 'remove' takes it out of the tree; 'set_auto_sync' decides whether the snapshot follows future spec publishes on its own. 'add' needs specId, everything else snapshotId from get_doc_tree. The version must be Draft or Review. Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
action string Yes What to do: 'add', 'update', 'remove' or 'set_auto_sync'
specId string No The public Id (Guid) of the API specification — required for 'add'
snapshotId string No The public Id (Guid) of the snapshot — required for everything but 'add'
parentFolderId string No Optional parent folder Id (Guid) to place the snapshot in, for 'add'
playgroundEnabled boolean No Whether the portal shows the interactive try-it playground — used by 'add' (default false) and 'update' (omit to keep the current setting)
refresh boolean No (default false) For 'update': re-freeze the snapshot from the spec's newest published version (default false)
autoSyncEnabled boolean No Whether the snapshot follows future spec publishes automatically — required for 'set_auto_sync'

publish_doc_version

Publish a documentation version, making it live. The version must be in Review status. Publishing transitions it to Published and archives any previously published version. Requires project context (call set_context first).

Required scope: docs:publish

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version to publish

trigger_portal_build

Trigger a portal build for a published documentation version. Renders all pages and uploads to blob storage. Returns build status and metrics. Requires project context (call set_context first).

Required scope: docs:manage-portal

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the published doc version to build

update_doc_page

Update an existing documentation page's title and content, and optionally its URL slug. Omitting the slug keeps the current one; setting it makes the previous slug redirect to the new one in the published portal. Only allowed on mutable versions (Draft or Review status). Requires project context (call set_context first).

Required scope: docs:read, docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versionId string Yes The public Id (Guid) of the doc version
pageId string Yes The public Id (Guid) of the page to update
title string Yes New page title
content string Yes New Markdown content
slug string No Optional new URL slug (lowercase letters, digits and single hyphens). Omit to keep the current one; changing it keeps the previous slug alive as a redirect in the published portal.

update_doc_settings

Change a documentation's settings. Every field you omit keeps its current value — the tool reads the present state first, because the underlying command replaces all of them at once. approverUserIds replaces the approver list wholesale; pass an empty string to clear it. Requires project context.

Required scope: docs:write

Parameter Type Required Description
documentationId string Yes The public Id (Guid) of the documentation
versioningScheme string No Version numbering: 'semantic' (v1.0.0), 'simple' (v1), 'dateBased' or 'custom'
requireApproval boolean No Whether a version needs an approval before it can be published
approverUserIds string No User Ids (Guids) allowed to approve, comma-separated — replaces the whole list; empty string clears it
defaultCodeLanguages string No Default code sample languages, comma-separated (e.g. 'curl,javascript,python')
schemaDisplayNames string No How schema names render: 'short' (default), 'full', or 'stripPrefix'
schemaDisplayNamePrefix string No Prefix to strip when schemaDisplayNames is 'stripPrefix'
rowVersion string No Optional rowVersion (Base64) from get_doc_settings for optimistic concurrency