{
  "uid": "cogitave.learn.native-mcp-interface.summary",
  "kind": "moduleUnit",
  "href": "/modules/native-mcp-interface/summary/",
  "title": "Summary",
  "summary": "",
  "type": null,
  "products": [],
  "roles": [],
  "levels": [],
  "subjects": [],
  "headings": [
    "Next steps"
  ],
  "source": "You now know a canonical model's native MCP interface - Cogitave's Core here -\nwell enough to reason about a call to it, not just recite that one exists.\n\nIn this module, you:\n\n- Learned why MCP can be a canonical model's **canonical** query surface rather\n  than an adapter: Cogitave's ADR-0003 chose tools/resources over MCP as the\n  source of truth, with REST, GraphQL, and `llms.txt` generated from the\n  identical catalog, graph, and search materializations, so humans and agents\n  cannot drift onto different data.\n- Pinned the **protocol baseline** such a server commits to: spec revision\n  2025-11-25, stdio and Streamable HTTP transports, JSON-RPC 2.0 over a stateful\n  session, JSON Schema 2020-12 for every tool's input and output, and tool\n  input-validation failures returned as tool execution errors so a calling model\n  can self-correct - and saw why the revision is **pinned and dated** rather\n  than followed, since `2026-07-28` has since removed the session and the\n  handshake entirely, and this site's own MCP endpoint already runs it.\n- Named the **tools and resources** such a surface exposes - `docs_search`\n  through `describe_schema`, the `cogitave://{type}/{id}` resource template with\n  `subscribe` and change notifications - and saw how `query_graph` is bounded\n  (read-only, allowlisted labels, capped depth, capped rows) so it cannot become\n  a general escape hatch.\n- Distinguished the **open reads** from the **propose-only writes**:\n  `request_intake` and `advance_stage` stage a draft node and open a GitHub\n  issue/PR, and never mutate protected state directly.\n\n## Next steps\n\n- The **mcp-interface.md** doc, in the estate's core repository, is worth a\n  re-read with this module's context - it is short, and now every section\n  should be legible on its own.\n- **ADR-0003** is the estate's decision record itself; revisit it if you\n  want the full trade-off behind \"native.\"\n- @cogitave.learn.paths.build-on-core - this module is part 3 of 4 in that path;\n  it also covers the property-graph model itself, the query interface (Cogitave\n  Query is its reference implementation), and how products project their state\n  into the canonical model.\n",
  "partOf": "cogitave.learn.native-mcp-interface",
  "durationInMinutes": 3,
  "quiz": null
}