Skip to content

MCP resources

1. What a resource is for

The three resources: design.md §8’s two, plus one version-pinned citation grain.

A resource is for CITATION-grade drill-down: a client that got a path from memory_search can fetch memhtml://file/<path> and show a human the file behind an answer, without spending a tool call and without the tool response having had to carry the whole body.

memhtml://file/{path} and memhtml://at/{commit}/{path} are the same read at two grains, and the difference is whether the answer can move. A path is the id of a memory and a correction rewrites what lives at it, so a receipt citing a path alone cites whatever is there when someone follows it. The pinned form names a commit as well, and a commit sha is immutable, so the bytes behind that URI are the bytes the receipt was written against. This is a grain only a git-native store can offer, and memory_resolve is the other half: one URI says what was true, the other says where the fact went.

2. The templates

A client fills in the braced parameter and fetches the result. Each row is one template the server publishes, with the MIME type the content arrives as.

URI template Name MIME type Description
memhtml://file/{path} Memory file text/plain One memory’s title, claim, and body text, by repo-root-relative path. For showing a human the file behind an answer.
memhtml://sleep/{run-id} Sleep run report text/html One sleep run’s committed HTML report: per-phase counts, commits, and what the run changed.
memhtml://at/{commit}/{path} Memory file at a commit text/plain One memory’s title, claim, and body text as of a specific commit sha. For a citation whose bytes cannot move: the path may since have been corrected, archived, or evicted. A branch name or HEAD is refused.

3. Provenance

A loader generates this page from apps/mcp/src/resources.ts while the site builds, so no file in the repository holds it: each row is read from the resource declaration’s own uriTemplate and checked against RESOURCE_TEMPLATES; a disagreement fails this build. Change the registry and this page changes with it.