4.2 KiB
2026-01-14 Transports WG (Weekly)
TL;DR
The group reviewed positive progress on SDK alignment, confirming a cross-language agreement on bindings. A GitHub repository has been established to document outcomes and manage weekly notes via Pull Requests. The group outlined a timeline targeting a final proposal vote by the end of March. Significant discussion focused on the HTTP standardization proposal, specifically the use of standard and custom headers to improve routing compatibility with existing infrastructure like load balancers. Debates centered on security implications, header limits, and the trade-offs between client-side complexity and server-side scalability. Microsoft offered to serve as a test party for the multi-roundtrip request track to address current pain points with SSE and elicitation.
Detailed Summary
Roadmap and Process
- SDK Alignment: Kryspin Ziemski reported a positive connection with Felix, confirming alignment on cross-SDK and cross-language bindings. The team will collaborate on uniform documentation.
- Documentation: Peter established a GitHub repository containing folders for docs and proposals. The group agreed to use this repo for documenting outcomes and managing meeting notes via PRs to allow for community review.
- Timeline: A project timeline was outlined:
- End of January: Initial proposal to core contributors.
- End of February: Reference implementation to validate the proposal in at least one language.
- End of March: Finalize proposal for an official vote and acceptance into the specification.
- Track Management: A table was created to check in on the status of various tracks. The TypeScript SDK was designated as the "proving ground" for prototyping and design work.
Technical Decisions: HTTP Standardization
- Header Proposal: The group discussed a "straw man" proposal to standardize
HTTP headers (e.g.,
MCP-Method,MCP-Tool-Name) to expose critical routing information. The goal is to allow networking proxies and load balancers to route requests without parsing the entire JSON RPC payload. - Custom Headers: A mechanism was proposed to mirror specific tool
parameters into sanitized headers (
X-MCP-Param-Name) to support routing logic, such as regional database requests. - Security Concerns: Participants debated potential risks, including "poison pill" attacks where malicious servers could demand an infinite number of headers to exhaust client resources. There was strong advocacy for comprehensive conformance tests and potentially establishing reasonable limits on required headers.
- Routing Alternatives: The group compared header-based routing against path-based routing and query parameters. While path-based routing matches some existing framework patterns (e.g., Flask), headers were preferred for avoiding payload "cracking" at load balancers. Query parameters were dismissed due to lack of support in gRPC.
- Schema Definition: Discussion occurred regarding where header extraction metadata should live. While the tool description schema is the natural place for parameter properties, some argued for a separate section to keep the schema focused solely on data definition.
Multi-Roundtrip Request Track
- Stateless Protocol: Clarification was provided that discovery cards fall under the "stateless protocol" track, while changes to elicitations and sampling belong to the "multi-roundtrip request" track.
- Synergy with Tasks: It was noted that the tasks workstream overlaps with multi-roundtrip requests, offering an opportunity to simplify task workflows using a stateless approach.
- Testing: Caitie McCaffrey offered Microsoft as a test party for this track due to real-world challenges with Server-Sent Events (SSE) and elicitation.
Action Items
- All track leads/participants to write a brief status summary in the track check-in table.
- Kurtis Van Gent to consolidate feedback on the HTTP standardization proposal and work with Mike to upload a version to GitHub for further comment.
- Mark Roth to prepare a presentation for the "multi-roundtrip request" track for next week's meeting.