Summary
When UseMcpServer() registers the hidden MCP protocol passthrough command, the command works but exploratory help output makes it look unavailable.
Reproduction
Using a minimal app with:
var app = ReplApp.Create().UseDefaultInteractive();
app.UseMcpServer();
app.Map("ops status", () => new { Healthy = true }).ReadOnly();
return app.Run(args);
Run:
dotnet run -- mcp --help
dotnet run -- mcp serve --help
Observed output:
But the command itself works:
and MCP Inspector can connect when invoked through a wrapper script.
Expected behavior
One of:
mcp --help / mcp serve --help should reveal the protocol passthrough command in a safe way; or
- docs should explicitly state that
mcp serve is intentionally hidden/protocol-passthrough and may not appear in help output.
Why this matters
Coding agents and new users often explore by running --help. If help says (none), they may incorrectly conclude that MCP was not registered.
Environment observed
- Repl.Mcp:
0.10.0 and 0.11.0-dev.56
- .NET SDK:
10.0.301
- OS: Ubuntu 24.04 linux-x64
Summary
When
UseMcpServer()registers the hidden MCP protocol passthrough command, the command works but exploratory help output makes it look unavailable.Reproduction
Using a minimal app with:
Run:
Observed output:
But the command itself works:
and MCP Inspector can connect when invoked through a wrapper script.
Expected behavior
One of:
mcp --help/mcp serve --helpshould reveal the protocol passthrough command in a safe way; ormcp serveis intentionally hidden/protocol-passthrough and may not appear in help output.Why this matters
Coding agents and new users often explore by running
--help. If help says(none), they may incorrectly conclude that MCP was not registered.Environment observed
0.10.0and0.11.0-dev.5610.0.301