feat: add Streamable HTTP transport alongside SSE #38

Merged
elvis merged 1 commit from add-streamable-http-transport into main 2026-06-01 21:22:39 +00:00
Owner

Summary

  • Adds StreamableHTTPServerTransport at /mcp (stateless mode), running on the same HTTP server as the existing SSE endpoints.
  • MCP_TRANSPORT=sse or MCP_TRANSPORT=http both start the network server (stdio stays the default).
  • Adds lifecycle logging across startup, per-request entry, SSE connect/disconnect, and /mcp transport teardown so request flow is visible in actual-mcp.log.

Test plan

  • npm run build clean
  • npm test green (130 tests)
  • stdio mode still logs running on stdio
  • curl -N http://localhost:3000/sse still streams; existing /messages POST flow works
  • curl -X POST http://localhost:3000/mcp with an initialize JSON-RPC envelope returns 200
  • MCP Inspector connects over Streamable HTTP and lists/calls tools successfully
  • actual-mcp.log shows the new lifecycle log lines for each request
## Summary - Adds `StreamableHTTPServerTransport` at `/mcp` (stateless mode), running on the same HTTP server as the existing SSE endpoints. - `MCP_TRANSPORT=sse` or `MCP_TRANSPORT=http` both start the network server (stdio stays the default). - Adds lifecycle logging across startup, per-request entry, SSE connect/disconnect, and `/mcp` transport teardown so request flow is visible in `actual-mcp.log`. ## Test plan - [x] `npm run build` clean - [x] `npm test` green (130 tests) - [ ] stdio mode still logs `running on stdio` - [ ] `curl -N http://localhost:3000/sse` still streams; existing `/messages` POST flow works - [ ] `curl -X POST http://localhost:3000/mcp` with an `initialize` JSON-RPC envelope returns 200 - [ ] MCP Inspector connects over Streamable HTTP and lists/calls tools successfully - [ ] `actual-mcp.log` shows the new lifecycle log lines for each request
feat: add Streamable HTTP transport alongside SSE
All checks were successful
Run Unit Tests / test (pull_request) Successful in 2m37s
cd0bed35c7
Mounts StreamableHTTPServerTransport at POST/GET/DELETE /mcp in
stateless mode, served on the same HTTP server as the existing /sse
and /messages endpoints. MCP_TRANSPORT=sse or =http both activate the
network server; stdio remains the default. Adds lifecycle logging for
both transports so request flow is visible in actual-mcp.log.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
elvis merged commit c6a40c459d into main 2026-06-01 21:22:39 +00:00
elvis deleted branch add-streamable-http-transport 2026-06-01 21:22:39 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
elvis/actual-mcp!38
No description provided.