feat: add 2026-06-17 weekly meeting notes (#44)

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

View file

@ -0,0 +1,113 @@
# 2026-06-17 MCP: Transport Working Group (Weekly)
## TL;DR
The meeting focused on resolving key architectural questions around metadata
internationalization, session state persistence for legacy systems, and tracing
standards, characterized by a collaborative yet highly analytical vibe as the
team balanced protocol simplification against complex enterprise constraints.
## Detailed Summary
### Metadata Internationalization & Language Negotiation
* Sam Morrow presented a proposal to standardize internationalization for
user-facing strings in the Model Context Protocol (MCP) by mirroring HTTP
`Accept-Language` headers within MCP metadata (e.g., the `_meta` field),
ensuring compatibility across both HTTP and non-HTTP transports.
* Shaun Smith and Peter Alexander expressed strong reservations about
translating tool descriptions and parameters, arguing that doing so alters
tokenization and could unpredictably affect model behavior. Sam Morrow
countered that while tool schema field names and identifiers must remain
static, server authors should not be strictly prohibited from
internationalizing tool descriptions or responses if their specific use cases
demand it.
* Kurtis Van Gent raised concerns about managing "two sources of truth" (the
HTTP header and payload metadata) when routing requests, as a failure to keep
them in sync could break routing assumptions or introduce security
vulnerabilities. Sam Morrow advocated for an opt-in validation approach where
servers only validate headers if they actively consume them, preventing
requests from failing on non-internationalized servers.
* Mark Roth raised concerns about how per-request language negotiation affects
caching predictability. Luca Chang and Sam Morrow noted that utilizing the
standard HTTP `Vary: Accept-Language` header is the established path for CDNs
and server-side caching and should be explicitly respected.
* The group decided to formalize the internationalization proposal as a
Specification Enhancement Proposal (SEP) on the Transport Working Group
repository. Sam Morrow will update the draft to more cleanly define the
translation "threshold scope" (where translation starts and stops) based on
the group's feedback.
### Session State, Affinity, and Telemetry in Legacy Architectures
* Ladi Bitto (Microsoft) raised concerns regarding the recent removal of the
initialization handshake and session ID headers, noting that it is a breaking
change for Microsoft Dynamics finance and operations servers.
* The Microsoft Dynamics backend relies on legacy stateful UI workflows
requiring persistent "kernel sessions" on the server. Without a protocol-level
session ID, load balancers cannot guarantee that parallel calls from the same
client will land on the same stateful server instance. Luca Chang added that
Amazon Bedrock faces a similar challenge where session IDs are required to pin
virtual machines to avoid customer isolation issues and cold start latencies.
* Kurtis Van Gent and Peter Alexander suggested using explicit state
handles—where an initialization tool call returns a state ID that must be
explicitly passed into subsequent tool calls. Ladi Bitto argued this approach
is problematic because it relies on the model's non-deterministic ability to
pass handles correctly, adds latency, and increases billing costs for
customers who are charged per tool call by clients like Microsoft Copilot
Studio.
* Ladi proposed a client-generated "conversation ID" for telemetry and routing.
Kurtis Van Gent cautioned that any such ID needs strict protocol-defined
boundaries (when it starts and stops) to avoid reintroducing the session
tracking complexities that led to the removal of sessions in the first place,
especially when threading to sub-agents or forking conversations.
* Core maintainers reiterated that sessions were removed because their
architectural complexity outweighed their benefits. The burden of proof
remains on Ladi Bitto and the group to provide concrete, play-by-play request
flows and justifications demonstrating why explicit state handles cannot solve
their specific use cases before any protocol-level changes can be aligned
upon.
### OpenTelemetry and Tracing Standards
* Andreas Schlapbach suggested examining existing trace standards, specifically
OpenTelemetry, as a potential model for managing sub-agents. He noted that
OpenTelemetry's hierarchical trace structure (opening a parent and routing
children using a hierarchy of correlation IDs) could provide a stable, clean
framework for routing and telemetry without protocol-level sessions.
### Remote Server Proxying & Standard I/O Reliability
* Sam Morrow proposed a temporary workaround for servers requiring persistent
state by building a thin wrapper server to proxy requests and manage session
state locally. Kurtis Van Gent, Shaun Smith, and Peter Alexander strongly
rejected this approach, identifying it as an anti-pattern that inherits all
the flaws of poorly-defined session lifetimes.
* Kurtis Van Gent highlighted that different tools currently handle standard I/O
processes inconsistently (some spawning one process per user, others one per
conversation). The group agreed to advise users against relying on standard
I/O for state management until it is better defined.
## Next Steps & Timeline
Between now and the next meeting, Shaun Smith will update the meeting notes to
add the link to the streaming problem statement. Sam Morrow will open a pull
request for the internationalization Specification Enhancement Proposal on the
transport working group repository and refine the proposal language to define
translation thresholds. Ladi Bitto will work on finding official documentation
on Microsoft tool call billing and authoring play-by-play request flow examples.
The group will work together to document explicit stateful use cases that cannot
be handled via the current stateless protocol to present to core maintainers.
## Action Items
* [ ] **Shaun Smith** Add the link to the streaming problem statement in the
meeting notes.
* [ ] **Sam Morrow** Open a pull request for the internationalization
Specification Enhancement Proposal on the transport working group repository.
* [ ] **Sam Morrow** Refine the proposal language to clearly define the
threshold and scope for content translation.
* [ ] **Ladi Bitto** Find and share documentation confirming that some clients
bill per individual tool call.
* [ ] **Ladi Bitto** Provide concrete play-by-play examples of request flows and
explain why current state handles do not resolve the identified issues.
* [ ] **The group** Document clear use cases that cannot be performed in the
current protocol to challenge the existing decision on session removal.
* [ ] **The group** Present the identified use cases to core maintainers to
verify that they are important and justify protocol changes.