feat: add 2026-06-03 weekly meeting notes (#41)

This commit is contained in:
Kurtis Van Gent 2026-07-10 15:23:55 -06:00 • committed by GitHub
commit d9b92d9858
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,94 @@
# **2026-06-03 MCP: Transport Working Group (Weekly)**
# **TL;DR**
The meeting focused on defining the technical scope of the streaming protocol,
debating the necessity and scope of session identifiers, and reviewing proposed
JSON schema constraints. The group aligned on collecting concrete use cases for
session identifiers on the repository to resolve tension over statelessness, and
on removing controversial upper limits from the JSON schema hardening proposal.
Significant technical friction emerged regarding whether to bake logical
constraints (like non-negative counters) directly into the schema to support
compiler-level validation and SDK generation.
# **Detailed Summary**
## **Defining the Scope of Streaming**
* **Modality Scope:** Shaun Smith presented a definition of streaming,
emphasizing the need to support diverse modalities such as diffusion models,
which stream a sequence of progressive frames (denoising noise) rather than
text chunks.
* **Ephemeral vs Long-Running:** Kurtis Van Gent noted that the streaming
protocol must support both ephemeral tool calls (e.g., SQL database queries
returning thousands of rows) and long-running operations.
* **Tension Point \- Resumability and Transport Limits:** Members raised
concerns over how streaming interacts with statefulness. Specifically, if a
connection drops mid-stream, the team debated if a resumable mechanism
resembling pagination is required to fetch data from the middle of a stream.
JSON-RPC over MCP makes handling large binary data transfer particularly
challenging.
## **Session Identifiers & State Tracking**
* **Session ID Proposal:** Java Pro (Ripple) proposed introducing a unique ID
generated by the client to be carried across requests, enabling server-side
state tracking, auditing, and request correlation. Luca Chang noted this helps
AWS VM isolation to pin specific containers to sessions.
* **Tension Point \- Connection vs Conversation:** Kurtis Van Gent and Stephen
Halter argued that a session ID represents a logical "conversation" (which may
span different clients or connections) rather than a physical connection.
Shaun Smith strongly opposed using the word "session ID," recalling previous
hard-won consensus that MCP must remain stateless at the transport layer.
* **Tension Point \- Server vs Client Generation:** Stephen Halter argued that
the server, not the client, should generate the session ID to prevent cache
conflicts.
* **Tension Point \- Task Overloading:** Peter Alexander suggested using the
existing "tasks" abstraction to track multi-turn workflows. Kurtis Van Gent
strongly opposed, arguing that tasks are finite "promises" for single results
and overloading them adds unnecessary complexity.
## **JSON Schema Hardening & Logical Constraints**
* **Schema Hardening Proposal:** Andreas Schlapbach proposed adding strict
constraints to the JSON schema, such as maximum string lengths and ensuring
counters cannot be negative, to mitigate DoS attacks and optimize SDK code
generation.
* **Tension Point \- Opposition to Size Limits:** Stephen Halter and others
strongly opposed hardcoded upper bounds (such as a 64k state limit), arguing
that arbitrary limits become obsolete and that size defense is an
implementation concern for individual servers, not the MCP spec.
* **Tension Point \- Logical Schema Constraints:** Andreas Schlapbach shifted
the focus to logical constraints (e.g., ensuring a progress index is
non-negative, or array lengths cannot be less than zero). Kurtis Van Gent
questioned the need to specify common-sense limits, but Andreas Schlapbach and
Peter Alexander clarified that defining these in the official JSON schema
allows compilers to automatically generate type-safe validation annotations
and code in languages like Java and Go.
# **Next Steps & Timeline**
Kurtis Van Gent will cancel the next weekly meeting due to travel. Shaun Smith
will revise the streaming problem statement to include concrete database query
use cases. Java Pro will open a dedicated tracking issue on the Transport
Working Group repository to gather documented use cases for request correlation
and conversation tracking.
# **Action Items**
- [ ] Shaun Smith Revise the streaming problem statement to include concrete
database query examples and progressive frame use cases.
- [ ] Kurtis Van Gent Open a tracking issue on the Transport Working Group
repository to collect concrete, non-abstract use cases for
session/conversation identifiers.
- [ ] All Participants Post specific, documented use cases of session identifier
needs to the newly created tracking issue.
- [ ] Andreas Schlapbach Contact Shaun Smith and Ola on Discord to review and
align with existing JSON schema tightening efforts.
- [ ] SDK Teams Review the proposed JSON schema updates to ensure they do not
negatively impact SDK compiler generation.
- [ ] Andreas Schlapbach Update the protocol pull request to remove the
controversial upper-limit size constraints.
Source: [Meeting Notes — June 3,
2026](https://docs.google.com/document/d/12Z_Eg7sFXBDGuQaiQWSNi3vRTlc3XI_T3HoqLli0HoA/edit?usp=drive_web&tab=t.4ww5di3nev3f)