Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mnemom.ai/llms.txt

Use this file to discover all available pages before exploring further.

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 at <url>.preview.json (root: /index.preview.json). The HTML page advertises it via <link rel="alternate"> in <head>. Crawlers and humans ignore the unknown MIME; aware agents follow it.
<link rel="alternate"
      type="application/vnd.agent-preview+json"
      href="https://example.com/article.preview.json">

MIME type

application/vnd.agent-preview+json

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).
{
  "spec_version": "1.0",
  "spec_url": "https://www.mnemom.ai/spec/agent-preview/v1",
  "url": "https://www.mnemom.ai/methodology",
  "canonical_url": "https://www.mnemom.ai/methodology",
  "type": "methodology",
  "title": "Mnemom Trust Rating™ Methodology",
  "summary": "Fully transparent formula, component weights, grade scale.",
  "language": "en-US",
  "representations": {
    "html": "https://www.mnemom.ai/methodology",
    "markdown": "https://www.mnemom.ai/methodology.md",
    "image": "https://www.mnemom.ai/api/og-image?type=methodology",
    "json_ld": "https://www.mnemom.ai/methodology"
  },
  "context": {},
  "last_modified": "2026-05-13T00:00:00Z",
  "publisher": {
    "name": "Mnemom",
    "url": "https://www.mnemom.ai",
    "agents_txt": "https://www.mnemom.ai/agents.txt",
    "readiness_manifest": "https://www.mnemom.ai/for-agents"
  }
}

Required fields

FieldTypeNotes
spec_version"1.0"Spec version string. v1 == “1.0”.
spec_urlstringCanonical URL of the published spec. Consumers can fetch this to validate they understand the version.
urlstringThe URL this preview is about. Absolute http(s).
canonical_urlstringPreferred form for citing. Equals url for unambiguous routes; may differ for locale-prefixed paths that share an x-default canonical.
typeenumSee type taxonomy below.
titlestringShort human-readable name for the resource.
summarystringOne-line description. ≤ 220 chars recommended for previews.
languagestringBCP-47 language tag (en-US, fr-FR, …).
representationsobjectOther URLs the agent can fetch for richer data.
contextobjectType-specific context. Empty object is valid.
last_modifiedstringISO 8601 timestamp; same source as sitemap.xml’s lastmod.
publisherobjectPointer to the issuing site’s agent-readiness manifest.

type taxonomy

ValueMeaning
homeSite root.
marketingGeneric marketing page (catch-all for top-level pages).
blog_postAn article in a chronological blog feed.
research_paperA long-form research artifact (paper, whitepaper).
case_studyCustomer/deployment narrative.
agent_profilePublic profile page for an AI agent.
team_profilePublic profile page for a team of agents.
methodologyDocumented methodology or formula.
explainerConceptual explainer or how-it-works page.
policyLegal/policy page (privacy, terms, etc.).
discoveryAgent-readability discovery surface (agents.txt host page, spec pages).
coherence_reportMnemom-specific: a coherence report awaiting attestation.
referenceCatch-all. Consumers MUST treat unknown type values as this.

representations

{
  "html": "https://...",          // required
  "markdown": "https://....md",   // optional (omit if route has no <main>)
  "image": "https://.../og.png",  // required
  "json_ld": "https://..."        // optional (consumer extracts JSON-LD from this URL's HTML)
}

context

Type-specific fields. All optional. Examples:
TypeFields
blog_post · research_paperauthor, published_at, reading_time_min, tags[], eyebrow
case_studycompany, outcome, eyebrow
agent_profile · team_profileagent_id / team_id, grade, score, last_attested_at
coherence_reportstatus, primitives[]
Consumers MUST ignore unknown context fields and MUST NOT fail if context is {}.

publisher

{
  "name": "Mnemom",                                            // required
  "url": "https://www.mnemom.ai",                              // required
  "agents_txt": "https://www.mnemom.ai/agents.txt",            // required
  "readiness_manifest": "https://www.mnemom.ai/for-agents"     // required
}
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 <url>.preview.json sibling at build time for every public URL. Walk your prerendered HTML, extract title / description / canonical / og:image, classify the type, write the manifest. (For a reference implementation in TypeScript/Node, see Mnemom’s scripts/build-preview-cards.mjs.)
  2. Emit the <link rel="alternate"> in every page’s <head>:
    <link rel="alternate"
          type="application/vnd.agent-preview+json"
          href="https://yoursite.com/page.preview.json">
    
  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. Mnemom’s verifier is Apache 2.0.
  5. Cross-reference from your /agents.txt:
    agent-preview-spec: https://www.mnemom.ai/spec/agent-preview/v1
    agent-preview-mime: application/vnd.agent-preview+json
    agent-preview-discovery: <link rel="alternate" type="application/vnd.agent-preview+json" href="<url>.preview.json">
    agent-preview-example: https://yoursite.com/methodology.preview.json
    

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. The reference implementation is open source under Apache 2.0: