turbomcp-transport-traits

Crates.ioturbomcp-transport-traits
lib.rsturbomcp-transport-traits
version3.0.0-beta.3
created_at2026-01-12 17:50:18.760877+00
updated_at2026-01-22 16:44:26.53831+00
descriptionCore transport traits and types for TurboMCP - foundation for all transport implementations
homepagehttps://turbomcp.org
repositoryhttps://github.com/Epistates/turbomcp
max_upload_size
id2038376
size99,777
Nick Paterno (nicholasjpaterno)

documentation

README

turbomcp-transport-traits

Core transport traits and types for the TurboMCP Model Context Protocol SDK.

Overview

This crate provides the foundational abstractions that all transport implementations depend on:

  • Traits: Transport, BidirectionalTransport, StreamingTransport, TransportFactory
  • Types: TransportType, TransportState, TransportCapabilities, TransportMessage
  • Errors: TransportError, TransportResult
  • Config: LimitsConfig, TimeoutConfig, TlsConfig
  • Metrics: TransportMetrics, AtomicMetrics

Usage

Transport implementations should depend on this crate and implement the Transport trait:

use turbomcp_transport_traits::{Transport, TransportResult, TransportMessage};
use async_trait::async_trait;

struct MyTransport { /* ... */ }

#[async_trait]
impl Transport for MyTransport {
    fn transport_type(&self) -> TransportType { /* ... */ }
    // ... other trait methods
}

Part of TurboMCP v3

This crate is part of the TurboMCP v3.0 restructuring effort to provide:

  • Lean core: Only trait definitions and types (~800 LOC)
  • No transport implementations: Implementations live in separate crates
  • Foundation for all transports: STDIO, HTTP, WebSocket, TCP, Unix, gRPC

License

MIT

Commit count: 572

cargo fmt