A 2026-07-28 gateway forwards requests, not protocol sessions
client
POST /mcp
bearer principal
version + method + name
params._meta capabilities
server/discover
tools/list
tools/call
subscriptions/listen
JSON or request SSE
never current
initialize
Mcp-Session-Id
standalone GET stream
Last-Event-ID replay
stateless gateway policy
wire validation
header equals body
before routing
admission
server.json publication
+ external verified state
namespace + pin
notes.search
descriptor digest
auth + RBAC
principal and issuer
resource + arguments
private cache
deterministic lists
bounded ttlMs
rate + audit
key by principal
trace route decision
interaction routing
subscriptions/listen: POST response SSE
MRTR: preserve protected requestState
Tasks: route get/update/cancel by task id
backend servers
fresh request each hop
gateway is the client
new request id + _meta
notes backend
discover + list + call
issues backend
discover + list + call
credential boundary
outer token never sent
backend token bound to
issuer + resource
durable handles
application state, MRTR,
or Tasks, not sessions
Any healthy gateway instance can validate and route the next self-contained request.