Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions meetings/2026-03-04_weekly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# 2026-03-04 Transports WG (Weekly)

## TL;DR
The meeting, facilitated by Kurtis Van Gent and Mark Roth, focused on finalizing
imminent Specification Enhancement Proposals (SEPs) and discussing new protocol
extensions. The core maintainers reviewed SEP 2322 (MRTR) positively, agreeing
to accept SDK breaking changes in favor of the new stateless flow. SEP 2243
(HTTP Standardization) is undergoing a final revote after consolidating header
names and softening intermediary error handling. Significant debate occurred
regarding the Data Layer Sessions proposal, resulting in a mandate to explicitly
define targeted use cases before further design review. Andreas Schlapbach
introduced a new content negotiation proposal for compact responses to support
local LLMs with small context windows. Finally, the group reviewed remaining
gaps for the June release.w

## Detailed Summary

### Process & Roadmap
* **June Release Gaps:** Kurtis Van Gent identified two main gaps for the
upcoming specification release: pluggable transports and caching/optimization.
* **Pluggable Transports:** Mark Roth clarified that pluggable transports mostly
require SDK work, not SEP changes. Minor cosmetic updates to loosen the
JSON-RPC requirement might be needed. Stephen Halter emphasized the need to
ensure the transport abstraction still allows for JSON-RPC to support existing
proxy implementations.
* **Caching & Standard IO:** Caching and optimization lack volunteers and will
likely be deferred until after the June release. Standard IO updates are also
firmly out of scope for the current revision.

### Technical Decisions: MRTR & Tasks (SEP 2322)
* **Core Maintainer Feedback:** Mark Roth reported that the core maintainers
gave positive feedback on the Ephemeral Multi-Round Trip Request (MRTR) SEP.
Minor schema changes were added to help SDKs discriminate between tool call
responses and incomplete responses.
* **URL-Based Elicitation:** The group agreed that the URL-based elicitation
workflow is incompatible with the ephemeral workflow and will be restricted to
the persistent (tasks) workflow.
* **Backward Compatibility:** The consensus was to accept breaking changes in
the SDKs to implement the new MRTR flow, deferring backward compatibility
concerns unless significant user complaints arise.
* **Task Integration:** Luca Chang confirmed that their task-related proposals
(including "jump scares" and "task continue") are inextricably tied to MRTR
and will be pursued under the Transports Working Group.

### Technical Decisions: HTTP Standardization (SEP 2243)
* **Proposal Updates:** Mike Kistler outlined recent changes to the SEP, which
is up for a revote. Header names (`tool name`, `resource name`, `prompt name`)
were consolidated into a single `MCP name` header. The payload encoding was
explicitly specified as the Base64 encoding of the UTF-8 value.
* **Intermediary Handling:** The requirement for intermediaries was softened so
that if they reject a request based solely on header values (e.g., bad
encoding), they can return a standard `400` HTTP error instead of a JSON-RPC
error. Stephen Halter noted that a `404` should be explicitly avoided to
prevent ending the session.
* **Header Limits:** Following a discussion initiated by Stephen Halter about
protocol limits, the group agreed to remove strict protocol-level limits on
header lengths. These limits will be replaced with a design note advising
application authors against promoting overly long parameters to headers.

### Technical Decisions: Data Layer Sessions
* **Defining Use Cases:** Mark Roth strongly emphasized that the sessions SEP
cannot proceed without a concrete list of targeted use cases. Scenarios like
"session per tool call" are mutually exclusive with "retaining state across
tool calls".
* **Scope of State:** Shaun Smith argued that sessions should manage opaque,
application-layer state (e.g., associating a chat thread with a sandbox)
rather than MCP protocol state. Peter Alexander challenged this, asking if the
LLM model should be in control of the session state instead of the
application.
* **Concurrency:** Stephen Halter raised concerns about state synchronization
during parallel tool calls. Shaun Smith clarified that the proposal currently
uses a "last write wins" strategy to intentionally discourage high-stakes
strict ordering, advising it be used for low-stakes storage.
* **Next Steps:** The group agreed to hold a special session next week to review
an updated document focused on use cases and design, which will inform a final
recommendation to the core maintainers (including the potential recommendation
to drop sessions entirely).

### Proposals: Content Negotiation
* **Compact Responses:** Andreas Schlapbach proposed a two-phase content
negotiation extension (similar to HTTP `Accept`) allowing clients with small
context windows (like local LLMs on mobile devices) to request "compact"
responses from servers.
* **Protocol vs. Application Layer:** Simon Russell and Kurtis Van Gent
questioned why this negotiation needs to live at the protocol layer instead of
just passing expressive parameters within individual tool calls. Andreas
argued that an upfront session-level negotiation reduces chattiness and
compute waste. Andreas will continue to refine the proposal and gather
feedback in the repository.

## Action Items
- [ ] **Shaun Smith** to update the Sessions document by Friday/Saturday,
focusing on defining use cases and the argument for keeping sessions at the
application layer rather than the model layer.
- [ ] **Shaun Smith** to check availability for a special session next Tuesday
or Friday to discuss the updated session document.
- [ ] **Shaun Smith & Kurtis Van Gent** to work together to ensure the Sessions
SEP explicitly outlines the context for application versus transport sessions.
- [ ] **Mike Kistler** to update SEP 2243 to replace the strict limits on header
lengths with an implementation note/design guidance.
- [ ] **Kurtis Van Gent** to follow up with Kryspin and Stephen Halter to
formulate a formal proposal/plan for pluggable transports.
83 changes: 83 additions & 0 deletions meetings/2026-03-11_weekly.md
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the comment. It might be better to point your feedback related to sessions (or the lack of them) to the specific PR: #25

Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# 2026-03-11 Transports WG (Weekly)

## TL;DR
The meeting centered on two major protocol design topics: the schema scope for
Multi-Round Tool Results (MRTR) and a proposal to eliminate Data Layer Sessions
entirely. Regarding MRTR, the group debated whether incomplete response features
should be generic (applicable to all requests) or scoped only to specific
contexts like tool calls. The consensus favored a generic approach,
acknowledging the trade-off in SDK complexity, though the question will be
escalated to David (DSP) for final guidance. The second major discussion
involved Peter Alexander's "anti-sessions" proposal, which advocates for
replacing formal protocol sessions with application-specific IDs passed within
tool calls. This model-maximalist approach gained surprising traction among
attendees for its simplicity and flexibility. The group agreed to draft a formal
SEP for this sessionless approach and present both options (sessions vs. no
sessions) to the core maintainers for early feedback.

## Detailed Summary

### MRTR Schema Design: Generic vs. Scoped Features
* **The Dilemma:** Caitie McCaffrey opened the discussion on whether MRTR
features (like `request state` and `incomplete response data`) should be added
to the generic result object (applying to all requests) or scoped strictly to
specific requests (like tool calls).
* **Arguments for Scoping:** Mark Roth argued that allowing incomplete responses
on requests where they logically don't make sense (e.g., `ping` or `task/get`)
forces all clients to handle edge cases unnecessarily. If the protocol allows
it, clients must support it.
* **Arguments for Genericity:** Luca Chang and Caitie McCaffrey countered that
special-casing features introduces bugs and limits future innovation. Mike
Kistler (speaking for SDK maintainers) noted that a generic implementation at
the lower layers of the SDK is actually simpler to build.
* **Consensus & Escalation:** Caitie McCaffrey will draft a summary of the
options and escalate the question to David (DSP) for a final ruling based on
protocol design principles.

### The "Anti-Sessions" Proposal
* **The Pitch:** Peter Alexander presented an argument to eliminate Data Layer
Sessions from the MCP protocol entirely. Instead of `session create`/`destroy`
mechanics, applications would use specific tool calls (e.g.,
`create_shopping_cart`) to generate application-specific IDs, which the model
would then pass into subsequent tool calls.
* **Benefits:** This approach simplifies the protocol, removes the overhead of
session lifecycle management for lightweight sub-agents, and provides greater
flexibility (e.g., sharing a single "basket ID" across multiple sub-agents or
having multiple active state objects at once).
* **The "Model Maximalist" View:** Caitie McCaffrey and Kurtis Van Gent raised
concerns about whether cheaper or open-source LLMs could reliably handle
passing these IDs. Peter Alexander argued from a "model maximalist"
perspective, stating that models are increasingly proficient at instruction
following and variable tracking.
* **Support:** Mark Roth, Mike Kistler, and Geoff Goodman expressed strong
support for the proposal, agreeing that sessions are often confusing and that
leveraging existing tool call mechanisms is more elegant and scalable.
* **Backward Compatibility:** While acknowledging this is a major breaking
change, the group agreed that removing unnecessary complexity now is
preferable to maintaining a flawed feature.

### Next Steps & Timeline
* **Drafting the SEP:** Peter Alexander will write a formal SEP for the
sessionless proposal by the end of the week.
* **Core Maintainer Review:** Because the core maintainer meeting precedes the
next Transports WG meeting, the group will vote asynchronously on Peter's
draft. Both the original sessions proposal (by Shaun Smith) and the
anti-sessions proposal will be presented to the core maintainers as an "early
preview" to build consensus before Dev Days.
* **Luca's Roadmap:** Luca Chang is out for two weeks. Kurtis Van Gent will
ensure Luca's priority task-related SEPs ("jump scares" and "task continue")
are surfaced at the next core maintainer meeting.

## Action Items
- [ ] **Caitie McCaffrey** to draft a summary of the generic vs. scoped MRTR
options and escalate to David (DSP) via Discord for guidance.
- [ ] **Peter Alexander** to write a formal SEP detailing the proposal to remove
sessions from the MCP protocol.
- [ ] **Kurtis Van Gent** to follow up with Shaun Smith to ensure the original
sessions SEP is ready to serve as a counter-argument to the anti-sessions
proposal.
- [ ] **Caitie McCaffrey** to initiate an asynchronous thread for the WG to
review and vote on the two session proposals before the core maintainer
meeting.
- [ ] **Kurtis Van Gent** to follow up with Luca Chang regarding the priority
task-related SEPs before Luca's leave.