1. Authorization Context Scope
The Tasks specification (2025-11-25) introduces "authorization context" for task binding and access control. However, other stateful protocol elements—initialization/capability negotiation, progress tokens, sampling requests, roots—also require context binding in multi-tenant deployments.
Was the decision to scope authorization context to Tasks intentional, or would you consider elevating it to a protocol-wide concept?
2. Sessionless Multi-Tenant Streamable HTTP
The Streamable HTTP transport makes sessions optional ("MAY assign a session ID"). For multi-tenant servers without MCP sessions, what is the intended mechanism for binding initialization state to subsequent requests?
Is the expectation that sessionless Streamable HTTP is only for single-tenant deployments, or is there an intended pattern for multi-tenant sessionless operation?
3. Stream Resumption vs Tasks
Streamable HTTP supports stream resumption via Last-Event-ID, allowing clients to recover from connection drops. Tasks provide a separate mechanism for "call now, fetch later" with explicit lifecycle management.
What's the intended boundary between these mechanisms? Specifically: if a long-running tool call uses progress notifications and stream resumption, when should an implementer choose Tasks instead?
4. Tasks Mental Model
Tasks appear to combine patterns from job queues (taskId, polling, TTL), async generators (input_required as yield), message brokers (notifications), and streaming RPC (SSE responses). The interaction between tasks/get (non-blocking poll), tasks/result (blocking), and status notifications creates multiple valid consumption patterns.
Is there a canonical mental model or primary paradigm the spec authors had in mind? Guidance on which consumption pattern to prefer in which circumstances would help implementers.
5. Dialogue Protocol Lineage
The combination of Tasks + input_required + Elicitation effectively creates a dialogue protocol for human-in-the-loop AI interactions. This pattern has precedent in multi-agent systems (FIPA ACL, Contract Net), workflow automation (WS-HumanTask), and more recently Google's A2A.
Was this prior art considered during design? Are there specific design decisions where MCP intentionally diverged from these precedents?