Skip to content

Docs MCP (read-only)

The Docs MCP is shipped (scripts/docs-mcp-server.mjs) as a newline-delimited JSON-RPC stdio server. It reads the exact built dist/ + public/ artifacts of this site — so every answer carries the build’s provenance and freshness boundary, never live-reinterpreted content.

Boundary (non-negotiable):

  • Read-only. No writes, no shell, no network. Sources of truth remain the owning repositories.
  • Build-bounded. Responses include site_commit from dist/build-manifest.json; agents must not treat answers as fresher than that commit.

Tools

Tool Purpose
docs_get_status() Build provenance + per-source freshness summary
docs_get_contract(name) Contract by name + graph edges + provenance
docs_get_claim(id) Claim chain (C-001..) with status/class/cut/reproduction
docs_get_page(route) One rendered page as text + page provenance
docs_search(query) Text search across rendered pages
docs_get_catalog() Canonical repos with pinned SHAs
docs_get_context_pack(route) ACC-shaped portable context bundle per page (ADR-005)

Wire into an MCP client

mcp_servers:
aftergraph-docs:
command: node
args: ["C:/Users/empir/workspace/docs/scripts/docs-mcp-server.mjs"]

The server serves the local build; run npm run build first. Deliberately not yet implemented (future contract): get_api_operation, get_conformance, get_schema as separate tools — OpenAPI answers already surface via docs_get_page('developers/api-reference'), and context packs via docs_get_context_pack (ADR-005).

Was this page helpful?