capstone: stateless research and report ecosystem client / host Claude Desktop, Cursor, VS Code per request: protocolVersion clientCapabilities clientInfo renders: ui://report/current (iframe sandbox) OAuth 2.1: PKCE + RFC 8707 gateway auth: Bearer user = alice | bob RBAC: research:read research:write stateless route: Mcp-Method Mcp-Name audit log user, tool, decision OTel: gen_ai.* mcp.call CLIENT research MCP server server/discover 2026-07-28 tools + extensions resources notes://recent prompts /research_topic ui:// ui://report/current tasks extension get / update / cancel A2A call out: writer-agent SendMessage summary writer A2A agent opaque skills: summarize_ papers returns: Artifact summary.md no protocol session: every request carries version and capabilities; traces cross each boundary.