The same tools as a standalone MCP server on the official @modelcontextprotocol/sdk, local over stdio or remote over Streamable HTTP, with a handler stub per tool, argument validation against the input schema, the discovery files for a remote server and the commands to connect it to Claude. 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 |