MCP Server
Tools, inputs, scopes, and access rules for the EnderDash MCP server.
Use the EnderDash MCP server to read organization data and edit knowledge pages through an OAuth-authorized client. For connection steps, see Connect an MCP Client.
Endpoint and authorization
| Setting | Value |
|---|---|
| Server URL | https://app.enderdash.com/api/mcp |
| Transport | MCP 2026-07-28 over HTTP POST |
| Read scope | mcp:read |
| Knowledge write scope | mcp:knowledge:write, in addition to mcp:read |
| Protected resource metadata | /.well-known/oauth-protected-resource/api/mcp on the app origin |
The server currently supports dynamic client registration. It checks the OAuth token, account status, current membership, and the relevant organization role when a tool runs. The dashboard's HTTP API uses different credentials. See Account OAuth for discovery and token details.
All organization tools take an organizationId. Call list_organizations to find one. Server and alert tools also enforce the caller's server access. “Owner or admin” below refers to the caller's current role in that organization.
Find organizations and servers
| Tool | Additional input | Result |
|---|---|---|
list_organizations | None | Organization IDs, names, and slugs for the caller. |
list_servers | None | Servers that the caller can access, with online and frozen state. |
get_organization_overview | None | Counts and current state for accessible servers. |
get_server_health | serverId | Current server state and its 10 most recent incidents. |
list_organizations does not take an organizationId. The other tools in this section do.
Read alerts and activity
| Tool | Additional input | Access and result |
|---|---|---|
list_alerts | Optional serverId, activeOnly, limit, offset | Recent server incidents for accessible servers. Returns nextOffset. |
get_alert_context | alertId | Incident and current server state. Owners and admins also see recent server activity. |
list_alert_deliveries | Optional limit | Owner or admin. Recent notification delivery attempts, status, and errors. |
list_alert_routing_policies | None | Owner or admin. Routing rules, destination IDs, and quiet hours. |
list_activity_events | Optional serverId, limit | Owner or admin. Recent organization activity. |
list_alerts, list_alert_deliveries, and list_activity_events default to 25 results. Their limit can be at most 100. list_alerts defaults to all incidents. Set activeOnly to true for unresolved incidents.
Read knowledge pages
| Tool | Additional input | Result |
|---|---|---|
search_knowledge_pages | query | Up to 25 matching page titles and text excerpts. |
list_knowledge_pages | Optional offset | Up to 100 pages, with parent IDs and publication state. Returns nextOffset. |
get_knowledge_page | pageId; optional offset, length | Saved page and draft, with Markdown slices and numeric versions. |
list_knowledge_revisions | pageId | Up to 50 saved revisions. |
get_knowledge_revision | pageId, revisionId; optional offset, length | Markdown slice from a saved revision. |
The query for search_knowledge_pages can contain at most 120 characters. The offset for a page or revision defaults to 0. The length defaults to 20,000 and can be at most 50,000. For Markdown slices, offset, length, and markdownLength count UTF-16 code units. Compare markdownLength with offset + length to decide whether to read another slice.
Edit knowledge pages
The following tools appear only when the token includes mcp:knowledge:write. Organization workspace access also applies.
| Tool | Additional input | Result and access |
|---|---|---|
create_knowledge_page | title; optional markdown, parentId | Creates an unpublished page. |
update_knowledge_draft | pageId, expectedVersion, and title or markdown | Saves a draft and returns its new version. |
save_knowledge_draft | pageId, expectedDraftVersion | Applies the draft to the page. Owner or admin required if the page is published. |
publish_knowledge_page | pageId | Owner or admin. Publishes saved content after any draft is applied. |
Titles can contain at most 160 characters. Markdown can contain at most 1 MB of UTF-8 text.
For update_knowledge_draft, use draft.version from get_knowledge_page when a draft exists. Otherwise, use page.version. Pass the version returned by update_knowledge_draft as expectedDraftVersion when you call save_knowledge_draft.
Read the page again if either version check fails. The server does not overwrite a draft that changed after you read it. A new page stays unpublished until an owner or admin publishes it. Saving a draft for a published page changes its public content immediately.
Errors and access changes
The MCP route rejects missing or invalid tokens, tokens without mcp:read, banned accounts, and requests over its rate limit. A tool can also report an error when an organization, server, page, or revision is unavailable to the caller.
Membership and roles can change after consent. The server uses current access for each call. Removing an application in Account → Security → Connected Applications revokes its consent.
Was this page helpful?
Send a quick note if anything is missing or unclear.
Last updated on