Add Streamable HTTP transport, health endpoints, and deprecate legacy SSE#187
Merged
Add Streamable HTTP transport, health endpoints, and deprecate legacy SSE#187
Conversation
…legacy SSE - Add MCP Streamable HTTP transport via rmcp (replaces legacy SSE as primary) - Rename `serve-http` to Streamable HTTP; `serve-sse` now exits with migration message - Add GET /health, GET /readyz, and GET / (identity document) routes - Remove stale `skill list` references from MCP server instructions - Add transport-level integration tests and HTTP surface tests - Update README, CLI help, and MCP-facing docs to reflect new transport - Add spec/15-mcp-runtime.md for MCP runtime contract coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
BioMCP's HTTP server now speaks MCP Streamable HTTP as its primary transport, replacing the legacy SSE server.
New routes
GET /— identity document:{"name":"biomcp","transport":"streamable-http","version":"...","mcp":"/mcp"}GET /health—{"status":"ok"}GET /readyz—{"status":"ok"}POST /mcp— MCP Streamable HTTP endpointCLI changes
biomcp serve-httpnow starts a Streamable HTTP server (the new primary transport)biomcp serve-sseexits non-zero with a migration message pointing users toserve-httpDocumentation and instructions
skill listreferences from server-surfaced instructionsTests
/,/health,/readyzspec/15-mcp-runtime.mdWhy
The previous
serve-httpused legacy SSE transport, which made the Rust server look like a regression compared to the last Python release (v0.7.3) that already shipped Streamable HTTP. This aligns the Rust server with the MCP spec and with what remote MCP clients expect.