Expand description
Transport layer implementations for MCP servers
This crate provides multiple transport options for MCP servers: stdio (Claude Desktop), HTTP (web clients), and WebSocket (real-time).
§Quick Start
ⓘ
use pulseengine_mcp_transport::{TransportConfig, create_transport};
use pulseengine_mcp_protocol::{Request, Response};
// Create HTTP transport
let config = TransportConfig::Http { port: 3001 };
let mut transport = create_transport(config).unwrap();
// Define request handler
let handler = Box::new(|request: Request| {
Box::pin(async move {
Response {
jsonrpc: "2.0".to_string(),
id: request.id.clone(),
result: Some(serde_json::json!({"result": "handled"})),
error: None,
}
})
});
// Start transport (in real code)
// transport.start(handler).await.unwrap();Re-exports§
pub use config::TransportConfig;
Modules§
- batch
- JSON-RPC batch message handling
- config
- Transport configuration
- http
- HTTP transport with Server-Sent Events (SSE) support
- stdio
- MCP-compliant Standard I/O transport implementation
- streamable_
http - Streamable HTTP transport implementation for MCP
- validation
- Message validation utilities for MCP transport compliance
- websocket
- WebSocket transport implementation (stub)
Enums§
Traits§
- Transport
- Transport layer trait
Functions§
- create_
transport - Create a transport from configuration
Type Aliases§
- Request
Handler - Request handler function type