Summary
Add an optional workshop exercise that contrasts the existing stdio MCP server with the MCP C# SDK 2.x stateless Streamable HTTP transport from the 2026-07-28 specification.
Follow-up to #616. The migration epic deliberately kept Parts 5 and 6 on stdio; this issue preserves the strongest next step from that decision.
Learning goals
- Explain why the 2026-07-28 protocol is stateless by default over HTTP.
- Host an MCP server with
ModelContextProtocol.AspNetCore 2.2.x and ordinary ASP.NET Core routing.
- Show that protocol version and capabilities travel with each request and no
Mcp-Session-Id is required.
- Demonstrate standardized
Mcp-Method and Mcp-Name headers.
- Promote one meaningful tool argument with
[McpHeader] and explain an intermediary routing scenario.
- Preserve Part 5 stdio as the required fundamentals path.
Proposed workshop fit
Use the optional Part 6 business server. A regional order lookup is a natural scenario for promoting region into Mcp-Param-Region so a gateway or load balancer can route without inspecting the JSON-RPC body.
Acceptance criteria
References
Summary
Add an optional workshop exercise that contrasts the existing stdio MCP server with the MCP C# SDK 2.x stateless Streamable HTTP transport from the 2026-07-28 specification.
Follow-up to #616. The migration epic deliberately kept Parts 5 and 6 on stdio; this issue preserves the strongest next step from that decision.
Learning goals
ModelContextProtocol.AspNetCore2.2.x and ordinary ASP.NET Core routing.Mcp-Session-Idis required.Mcp-MethodandMcp-Nameheaders.[McpHeader]and explain an intermediary routing scenario.Proposed workshop fit
Use the optional Part 6 business server. A regional order lookup is a natural scenario for promoting
regionintoMcp-Param-Regionso a gateway or load balancer can route without inspecting the JSON-RPC body.Acceptance criteria
ModelContextProtocol.AspNetCoreand remains stateless by default.HeaderMismatchbehavior.References