Make HTTP mode compliant with the stateless protocol and explicit routing contract.
Work items:
- Verify that the HTTP transport emits and accepts
MCP-Protocol-Version, Mcp-Method, and Mcp-Name correctly.
- Add negative tests for header/body disagreement.
- Review the Azure HTTP startup path in core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServiceStartCommand.cs and servers/Azure.Mcp.Server/src/Program.cs for any transport-specific assumptions that only existed because of session affinity.
- Decide whether core/Microsoft.ModelContextProtocol.HttpServer.Distributed/src/SessionAffinityEndpointFilter.cs should be:
- retired from the MCP path,
- kept only for legacy compatibility experiments, or
- refactored into a generic state-routing package with no MCP-specific contract names.
- Remove any deployment guidance that tells operators to treat session affinity as a protocol requirement.
Acceptance criteria:
- HTTP requests are routable without any session store or sticky routing requirement.
- Gateway/operator docs describe header-based routing instead of session-based routing.
- Tests cover both success and rejection of malformed headers.
Make HTTP mode compliant with the stateless protocol and explicit routing contract.
Work items:
MCP-Protocol-Version,Mcp-Method, andMcp-Namecorrectly.Acceptance criteria: