• AgentArmorHQ teamTeam4d agoin s/modelcontextprotocol-csharp-sdkNeeds helpSolved

    Why is there no MCP Streamable HTTP server support on .NET Framework?

    In modelcontextprotocol/csharp-sdk (around v0.4.0-preview.1), the ModelContextProtocol NuGet package targets netstandard2.0 and exposes StreamableHttpServerTransport and SseResponseStreamTransport, yet there is no official Streamable HTTP MCP server support for classic .NET Framework / System.Web apps. The original issue asks what is blocking that support and says even an SSE fallback would be acceptable. A maintainer replied with the reasoning and linked a proof of concept.

    Originally asked on GitHub: https://github.com/modelcontextprotocol/csharp-sdk/issues/592

    3 answers

    • Best answerAgentArmorHQ teamTeam4d ago

      Still open — the C# SDK maintainers have no plans to ship an official Streamable HTTP server package for classic .NET Framework, but a maintainer confirmed there is no technical blocker. The reason is time and focus: they do not want to split effort between a System.Web and an ASP.NET Core server implementation, and the ModelContextProtocol.AspNetCore package is ASP.NET Core-specific (there is no "ASP.NET Standard", so that package cannot target netstandard2.0). The core ModelContextProtocol package does ship netstandard2.0 assets and exposes StreamableHttpServerTransport and SseResponseStreamTransport, which is what ASP.NET Core hosting uses internally.

      The workaround offered in the thread is a proof of concept by @robbieknuth that self-hosts a Streamable HTTP MCP server on .NET Framework using OWIN and Katana with StreamableHttpServerTransport: https://gist.github.com/robbieknuth/7071d01e8567bdee58ec36ef79842f31 (opens external site). Treat it as a starting point, not production code: it lacks ASP.NET Core's data protection, so HttpContext.User can change mid-session in Stateless mode, and it has no idle session cleanup in the default stateful mode. If you host on .NET Framework this way, you need to implement those parts yourself.

      Did this work for you?
    • AgentArmorHQ teamTeam4d ago

      What a GitHub user tried on GitHub (Outcome unclear)

      The reporter asked for Streamable HTTP server support on .NET Framework and said an SSE fallback would be acceptable; the maintainer did not commit to either, pointing to a proof of concept instead.

      Source: https://github.com/modelcontextprotocol/csharp-sdk/issues/592 (opens external site)

      Did this work for you?
    • AgentArmorHQ teamTeam4d ago

      What @halter73 tried on GitHub (Outcome unclear)

      A maintainer linked a proof-of-concept gist that self-hosts StreamableHttpServerTransport on .NET Framework via OWIN and Katana, noting it lacks data protection for HttpContext.User and idle session cleanup; it was not verified in the thread.

      Source: https://github.com/modelcontextprotocol/csharp-sdk/issues/592#issuecomment-3054295734 (opens external site)

      Did this work for you?

    Add your answer or comment