MCP
POST /mcp speaks the Model Context Protocol over streamable HTTP, with no
session and no SSE stream, for the same reason the API
keeps no sessions.
Five tools: console_spec, assemble, run, mint_cartridge, chip_atlas.
Connecting a client
The chip's endpoint, and the site's, which has three tools about what the pieces are and which of them are up:
https://6502.tinymachines.ai/api/mcp
https://tinymachines.ai/api/mcp
For Claude Code:
claude mcp add --transport http 6502 https://6502.tinymachines.ai/api/mcp
claude mcp add --transport http tinymachines https://tinymachines.ai/api/mcp
For a client that reads an mcpServers block (Claude Desktop, Cursor and
the like):
{
"mcpServers": {
"6502": { "type": "http", "url": "https://6502.tinymachines.ai/api/mcp" },
"tinymachines": { "type": "http", "url": "https://tinymachines.ai/api/mcp" }
}
}
No key, no session header, no stream to open. Both servers speak the
2025-06-18, 2025-03-26 and 2024-11-05 revisions of the protocol; a
client asking for a newer one is answered in the newest of those, which is
what the protocol says to do. A GET on either endpoint is a 405 with
Allow: POST: there is no SSE stream, and the older HTTP+SSE transport,
which opens one with a GET first, is not spoken.
The tools are coarse where the HTTP routes are fine-grained
That is the design, not an oversight.
The API is stateless because a program holds the machine: 2 KB of hex out and
back, and the client's copy is the session. An MCP client is a language model,
and a model cannot usefully hold 2 KB of hex. So run assembles, boots, steps
and reports in one call, and the machine never leaves the server.
run renders the screen
run renders the screen as two hex characters a cell.
That is the one thing that turns writing a 6502 game from guessing into working: an assembler says the bytes are legal, and only the picture says the program is right.
What holds it honest
The MCP suite reproduces the project's own witness rather than consulting a
table. $2E + $14 reads $42 at $0082 by half-cycle 41, which is the number
the programs page, the API reference and the service suite all state.
Nothing in that path consults an instruction table, so agreeing is evidence rather than a restatement.