You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MCP specification revision 2026-07-28 (the first since 2025-11-25) adds several capabilities that map directly onto problems seen while dogfooding rn-dev-agent across Claude Code, Codex and Cursor.
This issue collects them so they can be planned and prioritized; it proposes no implementation yet.
Observed problems this could address
Stale server pinned to a long-lived chat. Every harness launches the MCP server once per chat from the plugin copy on disk and never reloads it.
On one machine we found a Cursor chat still running rn-dev-agent 0.74.0 a month after release, and the Cursor app host on 1.0.7 while 1.0.8 was installed.
Nothing tells the user or agent that the running server is out of date.
Long blocking tool calls: managed iOS builds and full QA journeys run for many minutes inside one tool call.
Confirmation and input steps are modeled as custom arguments (for example apply_integration confirmed=true) rather than a protocol-level request for input.
Tool-list token cost: the server exposes about 80 tools on every chat.
Relevant 2026-07-28 changes
Change
Why it matters here
Stateless core: no initialize handshake; every request carries protocol version and client capabilities in _meta; servers SHOULD stamp io.modelcontextprotocol/serverInfo in every result
Makes swapping the worker behind the existing supervisor between calls protocol-clean (nothing to renegotiate); every result can carry the running version, so staleness is visible (problem 1)
subscriptions/listen with opt-in toolsListChanged
After a hot swap or upgrade, the server can tell the client the tool list changed (problem 1)
server/discover RPC (servers MUST implement)
Up-front version/capability probe, also a backward-compatibility probe on stdio; removes the handshake a slow start could fail (problem 2)
Tasks moved to an official extension (io.modelcontextprotocol/tasks) with polling via tasks/get and tasks/update
Long builds and journeys can return a task handle instead of blocking one call (problem 3)
Multi Round-Trip Requests (resultType: "input_required", inputRequests / inputResponses)
Standard way to ask the client for confirmation or input and resume the same request (problem 4)
CacheableResult (ttlMs, cacheScope) on list results; tools SHOULD be returned in deterministic order
Client-side caching and better prompt-cache hit rates for the large tool list (problem 5)
OpenTelemetry trace context conventions in _meta (traceparent, tracestate, baggage)
End-to-end tracing from an orchestrator's worker into rn-dev-agent calls
Error-code allocation and renumbering; resource-not-found now -32602
Needs a compatibility check in error handling
Deprecations to audit
The revision deprecates Roots, Sampling and Logging (minimum 12-month window), plus HTTP+SSE transport and Dynamic Client Registration.
Check whether rn-dev-agent relies on Roots (for example project-root discovery) or notifications/message logging; the suggested migrations are tool parameters or server configuration instead of Roots, and stderr or OpenTelemetry instead of Logging.
Suggested next step
A source-backed plan covering: current SDK version and what upgrading requires; which of Claude Code, Codex and Cursor already speak 2026-07-28 (gains depend on client adoption; older stdio clients keep working via server/discover); a prioritized list.
A cheap first slice independent of client adoption: a stale-server notice in tool results when the running version is older than the newest installed copy.
Summary
The MCP specification revision 2026-07-28 (the first since 2025-11-25) adds several capabilities that map directly onto problems seen while dogfooding rn-dev-agent across Claude Code, Codex and Cursor.
This issue collects them so they can be planned and prioritized; it proposes no implementation yet.
Observed problems this could address
On one machine we found a Cursor chat still running rn-dev-agent 0.74.0 a month after release, and the Cursor app host on 1.0.7 while 1.0.8 was installed.
Nothing tells the user or agent that the running server is out of date.
apply_integration confirmed=true) rather than a protocol-level request for input.Relevant 2026-07-28 changes
initializehandshake; every request carries protocol version and client capabilities in_meta; servers SHOULD stampio.modelcontextprotocol/serverInfoin every resultsubscriptions/listenwith opt-intoolsListChangedserver/discoverRPC (servers MUST implement)io.modelcontextprotocol/tasks) with polling viatasks/getandtasks/updateresultType: "input_required",inputRequests/inputResponses)CacheableResult(ttlMs,cacheScope) on list results; tools SHOULD be returned in deterministic order_meta(traceparent,tracestate,baggage)-32602Deprecations to audit
The revision deprecates Roots, Sampling and Logging (minimum 12-month window), plus HTTP+SSE transport and Dynamic Client Registration.
Check whether rn-dev-agent relies on Roots (for example project-root discovery) or
notifications/messagelogging; the suggested migrations are tool parameters or server configuration instead of Roots, and stderr or OpenTelemetry instead of Logging.Suggested next step
A source-backed plan covering: current SDK version and what upgrading requires; which of Claude Code, Codex and Cursor already speak 2026-07-28 (gains depend on client adoption; older stdio clients keep working via
server/discover); a prioritized list.A cheap first slice independent of client adoption: a stale-server notice in tool results when the running version is older than the newest installed copy.
References