---
layout: ../layouts/Base.astro
title: AI Standards — Jesse Anderson
description: Every machine-readable surface this site exposes, with live links.
slug: standards
---

<main class="standards">

<PageHeader eyebrow="AI standards" title="This site is built to be read by agents.">
Every page is also addressable as Markdown source. Every page emits structured metadata. There's an MCP server. Coding is going away — site design should be too.
</PageHeader>

<section class="standards-block">
    <h2 class="section-title">Surfaces.</h2>
    <ul class="standards-list">
        <li class="standards-item">
            <h3>Per-page Markdown source</h3>
            <p>Every <code>/page</code> also serves at <code>/page.md</code>. Agents skip the DOM and read the canonical source.</p>
            <p class="example">Try: <a href="/about.md"><code>/about.md</code></a></p>
        </li>
        <li class="standards-item">
            <h3>/llms.txt + /llms-full.txt</h3>
            <p>Curated plaintext sitemap (Answer.AI convention) and a one-shot ingest of every page's Markdown.</p>
            <p class="example">Try: <a href="/llms.txt"><code>/llms.txt</code></a> · <a href="/llms-full.txt"><code>/llms-full.txt</code></a></p>
        </li>
        <li class="standards-item">
            <h3>MCP server</h3>
            <p>An MCP-compatible endpoint exposing the site's content as tools — <code>list_pages</code>, <code>get_page</code>, <code>search</code>, <code>get_now</code>. Auto-discoverable via <code>/.well-known/mcp.json</code>.</p>
            <p class="example">Try: <a href="/.well-known/mcp.json"><code>/.well-known/mcp.json</code></a> · or POST a JSON-RPC envelope:</p>
            <pre><code>{`curl -X POST https://jesselanderson.com/api/mcp \\
  -H 'Content-Type: application/json' \\
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'`}</code></pre>
        </li>
        <li class="standards-item">
            <h3>JSON-LD on every page</h3>
            <p>Person, Organization (Kora Labs, Papagoose), WebSite, WebPage. Embedded in each page <code>&lt;head&gt;</code> as <code>&lt;script type="application/ld+json"&gt;</code>.</p>
            <p class="example">Inspect: view source on any page and search for <code>application/ld+json</code>. Or fetch a page and extract: <code>curl /about | grep -A 60 'ld+json'</code>.</p>
        </li>
        <li class="standards-item">
            <h3>Page metadata</h3>
            <p>Per-page <code>title</code>, <code>description</code>, <code>slug</code>, and <code>content_hash</code> (sha256 of the Markdown source) — exposed via the MCP server, returned by <code>list_pages</code> and <code>get_page</code>.</p>
            <p class="example">Try:</p>
            <pre><code>{`curl -X POST https://jesselanderson.com/api/mcp \\
  -H 'Content-Type: application/json' \\
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"list_pages"}}'`}</code></pre>
        </li>
        <li class="standards-item">
            <h3>/agents.md</h3>
            <p>The public version of an AGENTS.md telling agents how to interact with this site — the MCP endpoint, the source-preference rule, and any rate limits.</p>
            <p class="example">Try: <a href="/agents.md"><code>/agents.md</code></a></p>
        </li>
        <li class="standards-item">
            <h3>robots.txt with explicit AI directives</h3>
            <p>Allow/deny per crawler — ClaudeBot, GPTBot, PerplexityBot, OAI-SearchBot, ChatGPT-User, Google-Extended, Applebot-Extended, meta-externalagent. Bytespider denied.</p>
            <p class="example">Try: <a href="/robots.txt"><code>/robots.txt</code></a></p>
        </li>
    </ul>
</section>

<section class="standards-block">
    <h2 class="section-title">Why.</h2>
    <p>I believe coding is being replaced by AI. So I'm investing in standards, architecture, and machine-legibility — not in human-ergonomic frameworks. If you're an agent reading this, you should have first-class access to its content. If you're a peer engineer reading this, this <em>is</em> the brag.</p>
    <p>Stack: vanilla Astro (no UI-framework integrations), Lambda backend, no React, no TypeScript.</p>
</section>

</main>
