Skip to content

Add stdio support for EverythingServer sample (continues #950) - #1880

Open
FengFafa97 wants to merge 6 commits into
modelcontextprotocol:mainfrom
FengFafa97:fix-889-stdio
Open

FengFafa97 wants to merge 6 commits into
modelcontextprotocol:mainfrom
FengFafa97:fix-889-stdio

Conversation

@FengFafa97

@FengFafa97 FengFafa97 commented Sep 16, 2026

Copy link
Copy Markdown

Continues #950, fixes #889.

This picks up @asklar's branch splitting EverythingServer into
EverythingServer.Core / EverythingServer.Http / EverythingServer.Stdio,
rebases it onto current main, and fixes the build breaks that surfaced
from the rebase:

  • EverythingServerExtensions.cs: SampleAsync's named parameter was
    renamed to chatOptions upstream; updated the call site.
  • EverythingServer.Core.csproj: added the MCP9005 suppression
    (Sampling deprecated per SEP-2577) that EverythingServer.Http.csproj
    already had — it doesn't propagate across the project reference.
  • EverythingServer.Http/Program.cs: restored the MCPEXP002 pragma
    around the experimental RunSessionHandler assignment, matching the
    original Program.cs and docs/experimental.md.
  • launchSettings.json: removed trailing commas that broke JSON parsing
    and silently disabled both launch profiles.

Verification:

  • dotnet build: 0 warnings, 0 errors.
  • Manually ran both samples and completed a live MCP initialize
    handshake against each (stdio via piped JSON-RPC, HTTP via a direct
    POST to the Streamable HTTP endpoint).

Out of scope for this PR: main's Program.cs also gained new
sample content since @asklar's branch was cut (icon/ServerInfo metadata
showcase, explicit stateful SessionMode). Not ported here to keep this
PR focused on restoring a green build; happy to follow up separately.

Co-Authored-By: Claude Sonnet 5

Copilot AI and others added 6 commits November 7, 2025 18:26
Co-authored-by: asklar <22989529+asklar@users.noreply.github.com>
Co-authored-by: asklar <22989529+asklar@users.noreply.github.com>
- EverythingServerExtensions.cs: SampleAsync's named parameter was
  renamed to chatOptions upstream; update the call site.
- EverythingServer.Core.csproj: suppress MCP9005 (Sampling deprecated
  per SEP-2577), matching the sibling EverythingServer.Http.csproj.
- EverythingServer.Http/Program.cs: suppress MCPEXP002 around the
  experimental RunSessionHandler assignment, matching the original
  Program.cs and docs/experimental.md.
- launchSettings.json: remove trailing commas that broke JSON parsing
  and silently disabled both launch profiles.

Verified: dotnet build succeeds with 0 warnings/errors, and both
transports complete a live MCP initialize handshake (stdio and
Streamable HTTP).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make EverythingServer capable of running either stdio or http

3 participants