| Crates.io | turbomcp-websocket |
| lib.rs | turbomcp-websocket |
| version | 3.0.0-beta.3 |
| created_at | 2026-01-12 20:04:51.468168+00 |
| updated_at | 2026-01-22 16:44:39.608186+00 |
| description | WebSocket transport implementation for TurboMCP SDK |
| homepage | https://turbomcp.org |
| repository | https://github.com/Epistates/turbomcp |
| max_upload_size | |
| id | 2038747 |
| size | 222,738 |
WebSocket bidirectional transport implementation for the TurboMCP SDK.
This crate provides full MCP 2025-06-18 protocol support for WebSocket transport with:
[dependencies]
turbomcp-websocket = "3.0"
Or use through the main transport crate:
[dependencies]
turbomcp-transport = { version = "3.0.0-exp", features = ["websocket"] }
use turbomcp_websocket::{WebSocketBidirectionalTransport, WebSocketBidirectionalConfig};
use turbomcp_transport_traits::Transport;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create client configuration
let config = WebSocketBidirectionalConfig::client("ws://localhost:8080".to_string())
.with_max_concurrent_elicitations(5)
.with_compression(true);
// Create and connect transport
let transport = WebSocketBidirectionalTransport::new(config).await?;
transport.connect().await?;
// Use the transport...
Ok(())
}
turbomcp-websocket/
├── config.rs # Configuration types and builders
├── types.rs # Core types and type aliases
├── connection.rs # Connection management and lifecycle
├── tasks.rs # Background task management
├── elicitation.rs # Elicitation handling and timeout management
├── mcp_methods.rs # MCP protocol method implementations
├── transport.rs # Main Transport trait implementation
└── bidirectional.rs # BidirectionalTransport trait implementation
This crate is part of TurboMCP v3.0's modular transport architecture:
turbomcp-transport-traits provides core abstractionsturbomcp-transport re-exports all transportsThis enables:
MIT