feat: add 2026-07-15 weekly meeting notes (#48)
This commit is contained in:
parent
f1bad2f384
commit
47fb4b4151
1 changed files with 156 additions and 0 deletions
156
meetings/2026-07-15_weekly.md
Normal file
156
meetings/2026-07-15_weekly.md
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
# 2026-07-15 MCP: Transport Working Group (Weekly)
|
||||
|
||||
## TL;DR
|
||||
The MCP: Transport Working Group conducted a smaller weekly meeting to review
|
||||
administrative updates, discuss Gabriel Zimmerman's capabilities Specification
|
||||
Enhancement Proposal (SEP), map out key design questions and use cases for
|
||||
reintroducing sessions, and establish future workshop topics. While the team
|
||||
aligned on prioritizing a comprehensive justification for session reintroduction
|
||||
and formally evaluating the trade-offs between transport mechanisms to resolve
|
||||
architectural and security concerns, they debated client-side versus server-side
|
||||
filtering, state handles versus session IDs for concurrency, and the security of
|
||||
localhost HTTP transport versus running HTTP/2 over standard I/O. The overall
|
||||
vibe was collaborative yet cautious, with members acknowledging that a stronger,
|
||||
more bulletproof case is needed before proposing sessions back to the core
|
||||
maintainers.
|
||||
|
||||
## Detailed Summary
|
||||
|
||||
### Administrative and Meeting Scheduling
|
||||
* **Attendance Updates:** The working group noted a smaller attendance for the
|
||||
current session. Summer vacations and other obligations have reduced turnout.
|
||||
Kurtis Van Gent noted that Katie McCaffrey appears to have completed her
|
||||
contributions now that her stateless session logic is merged, though she may
|
||||
return for topics of interest. Additionally, Gabriel Zimmerman shared that
|
||||
Mike Kistler has retired from his role.
|
||||
* **Scheduling Form Reminder:** Kurtis reminded attendees to complete the
|
||||
meeting time preference form by Friday so the group can reschedule. While
|
||||
three people completed it at the last minute, everyone else is urged to submit
|
||||
their preferences or accept whatever time is chosen.
|
||||
|
||||
### Client Capabilities and Server Filtering
|
||||
* **Tool Execution Failures:** Gabriel Zimmerman raised the problem of tool
|
||||
execution failures occurring when an LLM attempts to call a tool that is not
|
||||
supported by the client.
|
||||
* **Extensions and Capabilities Filtering:** Gabriel proposed that servers
|
||||
return required extensions and capabilities so clients can filter out
|
||||
unsupported tools before execution. Stephen Halter noted that this problem
|
||||
also exists for tasks, referencing how the SDK previously handled "tool
|
||||
execution" before it was simplified out.
|
||||
* **Client-Side vs. Server-Side Filtering:** Kurtis Van Gent questioned why this
|
||||
filtering cannot be handled entirely on the server side, which is the current
|
||||
recommended pattern. Gabriel explained that server-side filtering is
|
||||
complicated by the "cache key issue" where varying capabilities in different
|
||||
client execution environments can lead to a "weird cache key" when caching
|
||||
tools.
|
||||
* **Caching and TTL Guidance:** Kurtis suggested that rather than introducing
|
||||
complex client-side capabilities, the protocol could simply update the TTL
|
||||
mechanism with clear guidance on what invalidates a cache key and forces the
|
||||
client to fetch a new list of tools. Gabriel Zimmerman agreed to update his
|
||||
Specification Enhancement Proposal (SEP) to represent both server-side and
|
||||
client-side options and detail specific caching invalidation rules.
|
||||
|
||||
### Reintroducing Stateful Sessions: Core Challenges
|
||||
* **The Session ID Conflict:** Kurtis Van Gent explained that the previous
|
||||
session implementation failed because the session ID was overloaded for both
|
||||
transport-level bookkeeping and application state, breaking user expectations
|
||||
and leading to its removal from the protocol.
|
||||
* **Design Open Questions:** Kurtis presented several design challenges that
|
||||
must be addressed to construct a compelling proposal for the core maintainers:
|
||||
* *Naming:* "Session" is overloaded; alternatives like "thread ID",
|
||||
"conversation ID", or "context ID" should be evaluated.
|
||||
* *ID Generation:* Debating the pros and cons of client-generated versus
|
||||
server-minted IDs. Stephen Halter strongly advocated for server-side minting,
|
||||
arguing that client-generated IDs limit utility, make requests easy to forge,
|
||||
and remove trusted values.
|
||||
* *Lifecycle:* Clarifying how sessions are created, when they are cleaned up,
|
||||
and their relation to standard I/O process lifetime.
|
||||
* *Scope of Impact:* Determining whether a session can alter the tools list,
|
||||
tool call outputs, resources, or prompts.
|
||||
* *Concurrency:* Managing parallel requests and sub-agent behaviors (e.g.,
|
||||
whether sub-agents get unique IDs or reuse parent session IDs).
|
||||
* *Optionality:* Deciding if sessions are strictly opt-in and how to handle
|
||||
clients that do not support them.
|
||||
- **State Handles vs. Session IDs:** Gabriel Zimmerman raised a concern from a
|
||||
Microsoft engineer regarding the determinism of state handles (e.g., shopping
|
||||
carts) and whether harnesses can guarantee they are correctly passed through
|
||||
downstream workflows. Stephen Halter agreed that while higher-level state
|
||||
handles are useful for shopping carts, session IDs are essential for
|
||||
environments like LLM competitions where the harness must prevent cheating by
|
||||
remaining in control.
|
||||
|
||||
### Session Use Cases and Alternatives
|
||||
- **Infrastructure Routing and Instance Affinity:** The group discussed the
|
||||
necessity of routing session calls consistently to a specific microVM.
|
||||
* *Option A (Client-provided Headers):* Middleware handles routing via a
|
||||
client-provided header. Kurtis and Luca Chang noted the downside: there is no
|
||||
standard header name, meaning arbitrary clients cannot connect to arbitrary
|
||||
servers dynamically.
|
||||
* *Option B (Server State Handles):* Initializing a conversation returns a state
|
||||
handle used for downstream routing. Luca Chang strongly opposed this, stating
|
||||
that gateways would have to rewrite upstream tools to add handle parameters,
|
||||
which would conflict with servers managing explicit state handles. Stephen
|
||||
Halter added that no generic session-aware gateway exists to support this.
|
||||
- **Observability and Auditing:** Tracking the order and metrics of tool calls.
|
||||
* *Option A (Non-MCP Tracing):* Cloud Code or other harnesses pass a
|
||||
conversation ID header for tracking.
|
||||
* *Option B (Resource-based Indexing):* Indexing audit logs at the resource
|
||||
level itself (e.g., Cloud SQL instances). Luca Chang noted that a gateway
|
||||
cannot extract telemetry automatically because it does not know the semantics
|
||||
of specific tools, whereas the server can emit this natively.
|
||||
* *Cookie Jar Mechanism:* Gabriel Zimmerman suggested echoing a metadata field
|
||||
back and forth. Kurtis noted this was previously rejected for protocol
|
||||
complexity.
|
||||
- **Progressive Discovery of Tools:** Kurtis suggested that discovering tools
|
||||
through skills activation (`skills:activate`) is a viable path because models
|
||||
are already trained to utilize skills. Stephen Halter questioned if this would
|
||||
replace or merely supplement the standard tools list.
|
||||
- **Multi-step Stateful Workflows:** For workflows like counters, the group
|
||||
agreed that state handles are a cleaner and more appropriate solution than
|
||||
sessions.
|
||||
|
||||
### Future Workshop Topics and Transport Security
|
||||
- **Upcoming Topics:** Kurtis outlined a typed list of future topics: pluggable
|
||||
transports (e.g., gRPC support), tool versioning, HTTP over standard I/O,
|
||||
internationalization, and content type support.
|
||||
- **HTTP over Standard I/O:** Andreas Schlapbach and Stephen Halter discussed
|
||||
running HTTP/1.1 or HTTP/2 over local standard I/O streams to align local and
|
||||
remote transport behaviors. Stephen noted that multiplexing for parallelism
|
||||
would make HTTP/2 a strong choice.
|
||||
- **Security Risks of HTTP Transports:** Kurtis expressed security concerns
|
||||
regarding localhost HTTP, specifically DNS rebinding risks and the lack of
|
||||
encryption when token verification is used. Luca Chang suggested that
|
||||
applications could pass an unguessable token to the subprocess to verify
|
||||
requests, but Kurtis countered that localhost HTTP remains unencrypted. The
|
||||
group agreed on the critical need to define a comprehensive threat model
|
||||
before evolving local transports.
|
||||
|
||||
## Next Steps & Timeline
|
||||
- Between now and the next meeting, Kurtis Van Gent will draft comprehensive
|
||||
briefs for the future workshop topics, including pluggable transports, tool
|
||||
versioning, and HTTP over standard I/O.
|
||||
- All working group members are requested to fill out the meeting scheduling
|
||||
preference form by Friday to help determine the next meeting time.
|
||||
- Once responses are collected, Kurtis will reschedule and organize the next
|
||||
meeting.
|
||||
- Andreas Schlapbach will begin investigating standard I/O transport mechanisms.
|
||||
- Gabriel Zimmerman will update his capabilities Specification Enhancement
|
||||
Proposal (SEP) with server-side options and caching invalidation triggers.
|
||||
|
||||
## Action Items
|
||||
- [ ] **Gabriel Zimmerman** Update capabilities Specification Enhancement
|
||||
Proposal (SEP) to include server-side options, clarify cache invalidation
|
||||
rules, and address caching key/TTL feedback.
|
||||
- [ ] **Luca Chang** Review Kurtis's sessions use cases draft and comment on the
|
||||
PR to articulate why existing middleware routing is insufficient and document
|
||||
gateway conflict concerns.
|
||||
- [ ] **Kurtis Van Gent** Draft technical briefs for the upcoming workshop
|
||||
topics (pluggable transports, tool versioning, internationalization, and HTTP
|
||||
over standard I/O).
|
||||
- [ ] **Kurtis Van Gent** Reschedule and organize the next working group meeting
|
||||
based on the scheduling form results.
|
||||
- [ ] **The group** Complete the meeting time preference form by Friday.
|
||||
- [ ] **The group** Review the reintroducing sessions proposal and identify
|
||||
potential gaps or solutions to strengthen the case for core maintainers.
|
||||
- [ ] **Andreas Schlapbach** Investigate the feasibility and security
|
||||
implications of standard input/output as a transport mechanism.
|
||||
Loading…
Reference in a new issue