feat: add Streamable HTTP transport support
Add support for running the MCP server over HTTP with Server-Sent Events (SSE) using the MCP Streamable HTTP specification, alongside the existing STDIO transport. New features: - Transport abstraction with Transport interface - HTTP transport with session management - SSE support for server-initiated notifications - CORS security with configurable allowed origins - Optional TLS support - CLI flags for HTTP configuration (--transport, --http-address, etc.) - NixOS module options for HTTP transport The HTTP transport implements: - POST /mcp: JSON-RPC requests with session management - GET /mcp: SSE stream for server notifications - DELETE /mcp: Session termination - Origin validation (localhost-only by default) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
10
internal/mcp/transport.go
Normal file
10
internal/mcp/transport.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package mcp
|
||||
|
||||
import "context"
|
||||
|
||||
// Transport defines the interface for MCP server transports.
|
||||
type Transport interface {
|
||||
// Run starts the transport and blocks until the context is cancelled
|
||||
// or an error occurs.
|
||||
Run(ctx context.Context) error
|
||||
}
|
||||
Reference in New Issue
Block a user