{"schema_version":"newruntime-agent-readable-v0.2","type":"post","stable_id":"post:simon-stateless-mcp-practitioner-reset","slug":"simon-stateless-mcp-practitioner-reset","title":"Stateless MCP Makes Small, Auditable Agent Tools Practical Again","description":"Simon Willison's mcp-explorer, datasette-mcp, and llm-mcp-client show how the stateless specification lowers implementation cost and narrows agent capabilities.","retrieval_nugget":"Simon Willison's mcp-explorer, datasette-mcp, and llm-mcp-client show how the stateless specification lowers implementation cost and narrows agent capabilities. The MCP specification explains what changed. Simon Willison's response shows what the change enables for an individual builder. The old HTTP flow needed an initialization request, a server-issued session ID, and a later tool call tied to that session.","status":"published","published_at":"2026-08-01","updated_at":"2026-08-01","record_date":"2026-08-01","date_kind":"published_at","topics":["mcp","developer-tools","security","local-agents"],"source_urls":["https://simonwillison.net/2026/Jul/31/stateless-mcp/","https://github.com/simonw/mcp-explorer","https://github.com/simonw/datasette-mcp"],"visuals":[{"id":"simon-stateless-mcp-practitioner-reset","kind":"editorial-diagram","role":"hero","src":"https://newruntime.com/images/posts/simon-stateless-mcp-practitioner-reset.webp","alt":"Hand-drawn practitioner workbench where one stateless request powers an MCP explorer, a read-only Datasette endpoint, and a small-model client inside a capability boundary.","caption":"A smaller protocol surface makes MCP easier to inspect, implement, and constrain than a general shell with open network access.","credit":"New Runtime synthesis from Simon Willison","source_url":"https://simonwillison.net/2026/Jul/31/stateless-mcp/","generated_with":"gemini-3.1-flash-image","width":1600,"height":900,"legend":[{"label":"Probe","description":"mcp-explorer lists, inspects, and calls tools without installing a persistent client."},{"label":"Expose","description":"datasette-mcp publishes three narrow, read-only database tools through one endpoint."},{"label":"Constrain","description":"Explicit tool capabilities are easier to audit than arbitrary shell and network access."}]}],"telegram_message_id":2896,"telegram_url":"https://t.me/qwgai/2896","telegram_message_ids":[2896,2897],"telegram_delivery_mode":"text_then_media","telegram_media_url":"https://t.me/qwgai/2897","routes":{"html":"https://newruntime.com/posts/simon-stateless-mcp-practitioner-reset/","markdown":"https://newruntime.com/posts/simon-stateless-mcp-practitioner-reset.md","json":"https://newruntime.com/posts/simon-stateless-mcp-practitioner-reset.json"},"source_format":"markdown","next_reads":[{"type":"topic","path":"/topics/developer-tools/","reason":"Explore the developer tools topic hub.","url":"https://newruntime.com/topics/developer-tools/","title":"Developer Tools - New Runtime","media_type":"text/html"},{"type":"topic","path":"/topics/mcp/","reason":"Explore the mcp topic hub.","url":"https://newruntime.com/topics/mcp/","title":"MCP - New Runtime","media_type":"text/html"},{"type":"related_material","path":"/posts/copilotkit-react-mcp-client-interface/","reason":"Shares developer tools and mcp.","url":"https://newruntime.com/posts/copilotkit-react-mcp-client-interface/","title":"CopilotKit Brings MCP Tool Calls Into The React Interface","media_type":"text/html"},{"type":"related_material","path":"/posts/drskill-agent-loadout-audit/","reason":"Shares developer tools and mcp.","url":"https://newruntime.com/posts/drskill-agent-loadout-audit/","title":"Dr. Skill Audits What An Agent Loads Before It Works","media_type":"text/html"},{"type":"related_material","path":"/posts/vercel-sandbox-multi-user-agents/","reason":"Shares developer tools and security.","url":"https://newruntime.com/posts/vercel-sandbox-multi-user-agents/","title":"Vercel Sandbox Adds Unix Boundaries for Multi-Agent Work","media_type":"text/html"}]}
