feat: add 2026-01-21 weekly meeting notes (#6)

add 2026-01-21 weekly meeting notes
This commit is contained in:
Kurtis Van Gent 2026-01-28 15:19:58 -07:00 • committed by GitHub
commit 7757f11226
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,73 @@
# 2026-01-21 Transports WG (Weekly)
## TL;DR
The group reached a consensus to move forward with deprecating unsolicited
server-to-client requests (sampling and elicitations) on the "get stream" to
simplify protocol design and address security concerns. This decision was
supported by data showing negligible usage in existing repositories. Mark Roth
presented a "Multi-Roundtrip Request" proposal designed to replace the current
SSE-based elicitation flow with a stateless, request-response model where
clients echo back state. The group discussed the technical implications of this
change. Finally, the group identified a need to reconcile this new proposal with
the existing "Tasks" mechanism and will invite the Tasks author (Luca) to the
next meeting.
## Detailed Summary
### Deprecation of Unsolicited Requests
* **Proposal to Remove:** Shaun Smith proposed assuming that unsolicited
sampling and elicitations (server-to-client requests) are removed from the
session track. He argued that eliminating these unsolicited communications
resolves complex state transfer issues regarding cookies and session IDs.
* **Usage Data:** Peter Alexander shared analysis results from scanning several
thousand MCP repositories, finding only one instance of unsolicited sampling
usage (which belonged to Shaun Smith).
* **Decision:** The group agreed to draft a Specification Enhancement Proposal
(SEP) to formally deprecate unsolicited requests on the /GET stream.
* **Scope:** The SEP will specifically disallow servers from sending sampling or
elicitation requests without an associated client request ID.
### Technical Decisions: Multi-Roundtrip Requests
* **Problem Statement:** Mark Roth outlined the inefficiency of the current
elicitation flow, where a server opens an SSE stream for elicitation, forcing
the client to make a completely independent request that must be manually
linked back to the original context by the server.
* **Proposed Stateless Flow:** Mark presented a new pattern where the server
immediately terminates the initial request with a response indicating "more
information needed." The client then sends a completely new request containing
the original information plus the elicitation response.
* **State Management (Hidden Fields vs. Cookies):**
* The group debated how to handle state persistence between the terminated
request and the retry.
* Gabriel Zimmerman and Simon Russell argued against using HTTP cookies,
suggesting a "hidden field" mechanism (opaque blob) is more appropriate
for per-tool-call state that should not persist globally.
* Mark Roth agreed, noting that cookies fail when multiple tool calls run in
parallel within the same session.
* **SDK Impact:** Peter Alexander and Simon Russell acknowledged that while
switching to this model will be painful for SDK maintainers to implement
initially, the resulting architecture is significantly easier to maintain and
conceptually simpler.
### Interaction with Tasks
* **Overlap Analysis:** The group identified that the "Tasks" mechanism
currently duplicates some functionality discussed in the multi-roundtrip
proposal, specifically regarding polling and state retention.
* **Unified Vision:** Caitie McCaffrey noted that Tasks and Tool Calls are
similar but necessary; she described Tasks as a "promise over a network" and
suggested that the handling of elicitation responses in both systems needs to
align.
* **Next Steps:** The group agreed to invite Luca (author of Tasks) to the next
meeting to deeply dive into the relationship between the new stateless
proposal and the existing Tasks implementation.
## Action Items
- [ ] **Shaun Smith** to write a Specification Enhancement Proposal (SEP) to
deprecate unsolicited server-to-client requests (sponsored by Peter
Alexander).
- [ ] **Mark Roth** to post the Multi-Roundtrip Request proposal to GitHub as a
Pull Request for community feedback.
- [ ] **Caitie McCaffrey** to write a strawman proposal detailing the overlap
between "Tasks" and the current multi-roundtrip proposal.
- [ ] **Kurtis Van Gent** to invite Luca to the next meeting to discuss the
relationship with tasks.