The same registration as a <script type="module"> block you can paste into a page, with the origin-trial meta tag in front when you supply a token. Nothing here is sent to a server: state lives in your browser and in the share link you generate.
The same tools as a standalone MCP server over stdio, for agents that connect to MCP servers (Claude Code, Claude Desktop, Cursor) instead of reading a browser tab. Fill in each handler with the logic your page's execute() would run.
The same tools as a remote MCP server over Streamable HTTP: any MCP client connects by URL, nothing to install on the user's machine. It also serves a Server Card at <server URL>/server-card, so clients can find it before connecting. Fill in each handler with the logic your page's execute() would run.
Server Cards and the AI Catalog only describe remote servers. Switch to Remote to generate them.
Static metadata a client reads before connecting: name, version and where to connect. It holds no tools: clients still read them live with tools/list. The Server Card extension is experimental (SEP-2127 is final as a proposal, but the extension repository still marks its protocol revision as draft), so publish it as an optional extra.
The domain-level index a client checks first. Serve it at /.well-known/ai-catalog.json on your site, ideally with Content-Type: application/ai-catalog+json. Add one entry per MCP server you run.
Append to /llms.txt. The llms.txt format has no official MCP field: a "## MCP" section of links is a convention, but it is the file coding agents and assistants read first.
This is what every agent session pays in context before it can call any tool (see spec issues #255/#256 on registration context cost).
| Tool | Chars | ~Tokens |
|---|---|---|
| Total | 0 | ~0 |