A standard for websites that work as well for AI agents as they do for humans.
Today's web is designed for browsers. AI agents have to scrape, guess, and hack their way through login flows, CAPTCHAs, and unstructured HTML. It doesn't have to be this way.
Not every site needs to go full agent-native on day one. The standard defines three progressive tiers so you can start where you are and level up over time.
llms.txt at root describing the site, its purpose, and available endpoints.well-known/openapi.jsonRetry-After headersnavigator.modelContext.registerTool() on every page so browser agents can call them directlydata-agent-first="ready" on the <html> element so agents can probe
Google and Microsoft are co-shipping WebMCP as a W3C standard. It lets a website declare callable tools that any browser-based AI agent can invoke via navigator.modelContext. This is the breakthrough that makes agent-first sites actually work without an API-key handoff.
<script defer>
if ("modelContext" in window.navigator) {
window.navigator.modelContext.registerTool({
name: "create_note",
description: "Save a new note for the logged-in user",
inputSchema: {
type: "object",
properties: {
title: { type: "string" },
content: { type: "string" }
},
required: ["title"]
},
execute: async ({ title, content }) => {
const r = await fetch("/api/v1/notes", {
method: "POST",
credentials: "include",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ title, content })
});
const note = await r.json();
return { content: [{ type: "text", text: "Saved as " + note.id }] };
}
});
}
</script>
That's the whole pattern. Wrap your existing REST endpoints. The browser handles auth.
ListHub registers 9 WebMCP tools on every page (search, get, list, create, append, upsert, set-visibility, plus page-context tools). Source: /static/webmcp.js.
Enable in Chrome: chrome://flags/#enable-webmcp-testing → install Model Context Tool Inspector → visit any ListHub page → tools auto-register.
Real sites implementing the Agent-First Web standard, from basic discoverability to full agent-native experiences.
List publishing platform with WebMCP tools, programmatic registration, llms.txt, and per-item visibility. Gold tier.
GOLD CERTIFIEDBook discovery site with agent-powered reading lists, reviews, and cross-library search.
SILVER CONCEPTAny web app can become agent-first. Start with llms.txt and work your way up.
START TODAYFour steps from zero to Gold. Each step is independently useful — you don't need to do them all at once.
Place a plain-text file at your site root that tells agents what your site is,
what it does, and where to find the API. Think of it as robots.txt for AI.
# /llms.txt name: YourApp description: A brief description of what your site does url: https://yourapp.com api_base: https://yourapp.com/api/v1 api_docs: https://yourapp.com/docs/api openapi: https://yourapp.com/openapi.json registration: POST https://yourapp.com/api/v1/register authentication: Bearer token via API key capabilities: - Create and manage items - Search across all public content - Webhooks for real-time updates
Let agents create accounts programmatically. No browser, no CAPTCHA, no email verification loop. Return an API key in the response.
# Agent registers and gets an API key in one call curl -X POST https://yourapp.com/api/v1/register \ -H "Content-Type: application/json" \ -d '{ "username": "jacob-agent", "agent_name": "Claude Code", "owner_email": "[email protected]" }' # Response: { "api_key": "afk_live_abc123...", "username": "jacob-agent", "endpoints": "https://yourapp.com/openapi.json" }
The Model Context Protocol lets AI agents connect to your service as a tool provider. Agents discover your capabilities and call them directly, with typed inputs and outputs.
# Your MCP server exposes tools that agents can call tools: - name: search description: Search all public content parameters: query: string (required) limit: number (default: 10) - name: create_item description: Create a new item parameters: title: string (required) content: string (required) visibility: "public" | "unlisted" | "private" # Agents connect via: claude mcp add yourapp -- npx @yourapp/mcp-server
The agent bar is a UI element — a sidebar, floating panel, or command palette — that lets users interact with your site through their personal AI agent. It bridges the GUI and the API.
Add the Agent-First badge to your site to signal to agents (and humans) that your service is ready for the agentic web.
To use agent-first sites, you need a personal AI agent. Here are the best ways to get one running today.
Anthropic's official CLI agent. Runs in your terminal with full tool access. Connect MCP servers, browse the web, manage files.
Cloud workspace for agents. Persistent sessions, shared memory, and pre-configured MCP connections to agent-first sites.
An extension that detects agent-first sites and lets you interact with them through your preferred agent, right from the browser.
Treat AI agents as legitimate users of your platform. Give them APIs, not obstacles. The sites that welcome agents will win the next era of the web.
Start with llms.txt. Add a registration endpoint when you're ready. Go agent-native when it makes sense. Each tier delivers value independently.
Agents act on behalf of users, with scoped permissions and clear audit trails. The standard requires agent identity, not agent anonymity.
This is an open standard. No vendor lock-in. No proprietary protocols. Build on MCP, OpenAPI, and plain text. Anyone can implement it.