Skip to content

Add Streamable HTTP transport, health endpoints, and deprecate legacy SSE#187

Merged
imaurer merged 2 commits intomainfrom
streamable-http-transport
Mar 10, 2026
Merged

Add Streamable HTTP transport, health endpoints, and deprecate legacy SSE#187
imaurer merged 2 commits intomainfrom
streamable-http-transport

Conversation

@imaurer
Copy link
Collaborator

@imaurer imaurer commented Mar 10, 2026

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 endpoint

CLI changes

  • biomcp serve-http now starts a Streamable HTTP server (the new primary transport)
  • biomcp serve-sse exits non-zero with a migration message pointing users to serve-http

Documentation and instructions

  • README, CLI help, and MCP-facing server instructions updated to name Streamable HTTP as the primary transport
  • Removed all stale skill list references from server-surfaced instructions

Tests

  • Transport-level integration test: initialize, tools/list, tools/call over Streamable HTTP
  • HTTP surface tests for /, /health, /readyz
  • CLI contract tests for renamed/deprecated transport commands
  • Spec coverage in spec/15-mcp-runtime.md

Why

The previous serve-http used 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.

imaurer added 2 commits March 10, 2026 15:35
…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
@imaurer imaurer merged commit a22c2d2 into main Mar 10, 2026
1 check passed
@imaurer imaurer deleted the streamable-http-transport branch March 10, 2026 20:31
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.

1 participant