| Crates.io | turbomcp-http |
| lib.rs | turbomcp-http |
| version | 3.0.0-beta.3 |
| created_at | 2026-01-12 20:04:28.093988+00 |
| updated_at | 2026-01-22 16:44:33.576256+00 |
| description | HTTP/SSE transport implementation for MCP (Model Context Protocol) - Client transport |
| homepage | https://turbomcp.org |
| repository | https://github.com/Epistates/turbomcp |
| max_upload_size | |
| id | 2038743 |
| size | 119,470 |
MCP 2025-11-25 compliant HTTP/SSE client transport for TurboMCP.
This crate provides the HTTP client transport implementation for the Model Context Protocol (MCP), implementing the Streamable HTTP transport specification with full SSE (Server-Sent Events) support.
use turbomcp_http::{StreamableHttpClientTransport, StreamableHttpClientConfig};
use turbomcp_transport_traits::Transport;
use std::time::Duration;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = StreamableHttpClientConfig {
base_url: "http://localhost:8080".to_string(),
endpoint_path: "/mcp".to_string(),
timeout: Duration::from_secs(30),
..Default::default()
};
let transport = StreamableHttpClientTransport::new(config);
transport.connect().await?;
// Transport is ready for MCP communication
Ok(())
}
use turbomcp_http::{StreamableHttpClientConfig, RetryPolicy};
use turbomcp_transport_traits::{LimitsConfig, TlsConfig};
use std::time::Duration;
let config = StreamableHttpClientConfig {
base_url: "https://api.example.com".to_string(),
endpoint_path: "/mcp".to_string(),
timeout: Duration::from_secs(30),
retry_policy: RetryPolicy::Exponential {
base: Duration::from_secs(1),
max_delay: Duration::from_secs(60),
max_attempts: Some(10),
},
auth_token: Some("your-token".to_string()),
limits: LimitsConfig::default(),
tls: TlsConfig::modern(),
..Default::default()
};
TURBOMCP_ALLOW_INSECURE_TLS=1 environment variableThis crate is part of the TurboMCP v3.0 transport extraction effort, enabling:
MIT