Portal Administration — MCP Tools
10 tools in the Portal Administration group of the Routebase MCP server.
get_custom_domain_status
Where the custom domain stands: lifecycle status, the DNS records still to publish, and the SSL provisioning timestamps. Set includeHealth to append the last DNS/certificate health check. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
includeHealth |
boolean | No (default false) |
Also return the last domain health check (default false) |
get_portal_analytics
What visitors did with the portal: page views, unique visitors, the daily trend, the most read pages, the top search terms, and the searches that found nothing (content gaps). Set includeFeedback to append the thumbs up/down summary with its best and worst pages. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
daysBack |
integer | No (default 30) |
How many days back to aggregate (default 30) |
includeFeedback |
boolean | No (default false) |
Also return the page feedback summary (default false) |
get_portal_build
One portal build in full, including its build log — the way to find out why a build failed. Get buildId from list_portal_builds. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
buildId |
string | Yes | The public Id (Guid) of the build |
get_portal_deployments
Which documentation versions are currently live on the portal, and which one the root URL points at. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
get_portal_preview
Poll a portal preview queued by manage_portal(action: 'preview'). The time-limited preview URL is filled in once status is 'ready'. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
previewId |
string | Yes | The preview Id (Guid) returned by manage_portal(action: 'preview') |
get_portal_settings
Read the portal configuration. Section 'settings' (default) returns the feature toggles, SEO fields, scripts, the public URL and the last build; 'appearance' returns theme, colours, fonts and layout; 'all' returns both. These are the keys manage_portal takes in its values object. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
section |
string | No (default "settings") |
Which part to read: 'settings' (default), 'appearance' or 'all' |
list_page_feedback
The individual thumbs up/down entries visitors left, newest first, with their comments. Filter by sentiment or by a single page. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
page |
integer | No (default 1) |
Page number, 1-based (default 1) |
pageSize |
integer | No (default 20) |
Entries per page (default 20) |
isPositive |
boolean | No | Filter by sentiment: true for positive only, false for negative only; omit for both |
pageId |
string | No | Optional page Id (Guid) to restrict the list to one page |
list_portal_builds
List the portal builds, most recent first, with status, page count and duration. Read a failing build's log with get_portal_build. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
manage_custom_domain
Put the portal on a customer-owned domain. Actions in order: 'set' registers the domain and returns the CNAME and TXT records to publish; 'verify' checks those records; 'provision_ssl' starts the managed certificate once verification passed and may return a further DCV TXT record to publish; 'check_health' re-runs DNS and certificate checks on demand; 'remove' detaches the domain again. Poll progress with get_custom_domain_status. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
action |
string | Yes | What to do: 'set', 'verify', 'provision_ssl', 'check_health' or 'remove' |
domain |
string | No | The domain (e.g. 'docs.example.com') — required for 'set' |
manage_portal
Operate the public documentation portal. Actions: 'update_settings' (feature toggles, SEO, custom scripts and CSS), 'update_appearance' (theme, colours, fonts, layout) and 'update_branding' (logo, favicon, footer) each take a JSON object in values with only the keys you want to change — read the current keys with get_portal_settings; 'set_subdomain' moves the portal to another {subdomain}.docs address; 'unpublish' disables the portal and deletes its files; 'undeploy_version' removes one version from the deployment; 'set_default_version' makes a deployed version the root URL target; 'set_version_visibility' switches a published version between 'internal' and 'public' (switching a deployed version to internal undeploys it); 'preview' queues a render of any version, including drafts — poll it with get_portal_preview. Requires project context.
Required scope: docs:manage-portal
| Parameter | Type | Required | Description |
|---|---|---|---|
documentationId |
string | Yes | The public Id (Guid) of the documentation |
action |
string | Yes | What to do: 'update_settings', 'update_appearance', 'update_branding', 'set_subdomain', 'unpublish', 'undeploy_version', 'set_default_version', 'set_version_visibility' or 'preview' |
values |
string | No | JSON object with the fields to change — for the three update actions. Only the keys you pass are changed; unknown keys are rejected. Example: {"enableSearch": true, "siteTitle": "API Docs"} |
subdomain |
string | No | Subdomain label — required for 'set_subdomain' |
versionId |
string | No | The doc version Id (Guid) — required for 'undeploy_version', 'set_default_version', 'set_version_visibility' and 'preview' |
visibility |
string | No | Visibility for 'set_version_visibility': 'internal' or 'public' |
rowVersion |
string | No | Optional rowVersion (Base64) from list_documentations for optimistic concurrency on 'set_version_visibility' |