Skip to main content
A structured JSON manifest sibling for every URL. One fetch gives an agent the title, summary, type, representations (HTML, markdown, image, JSON-LD), and per-type context — without rendering HTML or parsing markdown. Mnemom is the reference implementation of this spec. The schema is vendor-neutral: other sites can adopt the same shape, point at this hosted spec, and let their own URLs become one-fetch addressable for agents. As adoption grows the MIME can be IANA-registered to drop the vnd. prefix. The canonical hosted copy of this spec is at https://www.mnemom.ai/spec/agent-preview/v1/ (this docs page mirrors it).

Why

Pasting a URL in chat already produces a rich human preview (the OG image). For agents, the equivalent today is “fetch HTML, parse it, hope the meta tags are present and consistent.” That’s expensive and brittle. agent-preview/v1 is the structured sibling — a one-fetch typed summary so agents previewing a link can decide whether to dig deeper before reading the full page or the markdown mirror.

How discovery works

Every prerendered URL on a compliant site exposes a sibling preview manifest, advertised via <link rel="alternate"> in <head>. Crawlers and humans ignore the unknown MIME; aware agents follow the link — they do not need to construct the sibling path themselves, but the general convention is: a URL ending in / gets an index.preview.json appended (https://example.com/methodology/ → https://example.com/methodology/index.preview.json); a URL not ending in / gets a .preview.json suffix instead (https://example.com/methodology → https://example.com/methodology.preview.json). The site root follows the trailing-slash rule (/ → /index.preview.json).

MIME type

Schema (v1.0)

The manifest is a single JSON object. Required keys are below; consumers MUST tolerate additional keys and unknown type values (treat unknowns as reference).

Required fields

type taxonomy

representations

context

Type-specific fields. All optional. Examples: Consumers MUST ignore unknown context fields and MUST NOT fail if context is {}.

publisher

The readiness_manifest URL SHOULD return a public document describing the site’s agent-readability commitments. For Mnemom this is the page rendered from agent-readiness.yaml.

Versioning

Future schema changes go to v2 with a new MIME (application/vnd.agent-preview+json; version=2) and a new spec URL (/spec/agent-preview/v2). v1 stays frozen at its URL forever. Consumers can pin to spec_url + spec_version for stable behavior. Within v1, the schema is append-only: new optional fields can be added; existing field names and semantics MUST NOT change.

Adopting on your site

If you publish marketing or content URLs that agents might encounter:
  1. Generate a preview-manifest sibling at build time for every public URL, following the path convention in How discovery works above. Walk your prerendered HTML, extract title / description / canonical / og:image, classify the type, write the manifest.
  2. Emit the <link rel="alternate"> in every page’s <head>:
  3. Serve the file with the right Content-Type (application/vnd.agent-preview+json is preferred; application/json is acceptable for CDNs that strip vendor MIMEs).
  4. Write a verifier that validates your manifests against the v1 schema and runs in CI.
  5. Cross-reference from your /agents.txt:

Compliance + reference implementation

Mnemom verifies the surface nightly. The live status is at https://www.mnemom.ai/agent-readiness-status.json (preview-surface commitment). The public commitment renders on /for-agents. Mnemom’s own implementation covers the full round-trip: a build-time generator that writes each route’s manifest, a discovery emitter that adds the <link rel="alternate"> tag, and a CI verifier that checks every manifest against this schema before deploy.