---
layout: ../layouts/Base.astro
title: AI Standards · Jesse Anderson
description: Every machine-readable surface this site exposes, with live links.
slug: for-agents
navLabel: For-Agents
navOrder: 5
summary: every machine-readable surface this site exposes
---

<main class="standards">

  <header class="page-header">
    <p class="eyebrow">AI standards.</p>
    <h1>
        My life is agents now.<br />So my site is <span class="accent">built for them</span>.
    </h1>
  </header>

<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>Append <code>.md</code> to any URL and <span class="accent">you get the source</span>. Skip the DOM, read the prose.</p>
            <p class="example">Try: <a href="/about.md"><code>/about.md</code></a></p>
        </li>
        <li class="standards-item">
            <h3>/llms.txt and /llms-full.txt</h3>
            <p>A curated plaintext sitemap (Answer.AI's 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>The site's content is exposed as MCP tools at <code>/api/mcp</code>: <code>list_pages</code>, <code>get_page</code>, <code>search</code>, <code>get_now</code>. The descriptor at <code>/.well-known/mcp.json</code> lets MCP-aware clients auto-discover it.</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>{`curl -X POST https://jesselanderson.com/api/mcp \\
  -H 'Content-Type: application/json' \\
  -d '{ "jsonrpc":"2.0", "id":1, "method":"tools/list" }'`}</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 pipe through <code>grep -A 60 'ld+json'</code>.</p>
        </li>
        <li class="standards-item">
            <h3>Page metadata</h3>
            <p>Each page exposes a title, description, slug, and <code>content_hash</code> (sha256 of the Markdown source). The MCP server returns those via <code>list_pages</code> and <code>get_page</code> so a client can cache and re-validate.</p>
            <p class="example">Try:</p>
            <pre>{`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" } }'`}</pre>
        </li>
        <li class="standards-item">
            <h3>/agents.md</h3>
            <p>The agent-facing operating manual for this site. It documents the MCP endpoint, the rule about preferring the <code>.md</code> source over the rendered HTML, and the rate-limit posture.</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 or deny per crawler. The major AI assistants (ClaudeBot, GPTBot, PerplexityBot, OAI-SearchBot, ChatGPT-User, Google-Extended, Applebot-Extended, meta-externalagent) are allowed. Bytespider is 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 think coding is getting <span class="accent">replaced by AI</span> faster than the rest of the stack is catching up. 
        I'd rather <span class="accent">invest in standards</span>, architecture, and machine-legibility than chase ergonomic frameworks for humans. 
        Agents should have first-class access to what's on this site. 
        Engineers should be able to look at the same plumbing and <span class="accent">decide for themselves</span> whether I know what I'm doing.
    </p>
    <p>Stack: vanilla Astro (no UI-framework integrations), a Lambda backend, no React, no TypeScript.</p>
</section>

</main>
