modelcontextprotocol/rust-sdk
The official Rust SDK for the Model Context Protocol providing asynchronous client and server implementations with Tokio runtime and support for various transport layers.
TurboMCP is a Rust SDK covering both sides of the Model Context Protocol. Its surface is macro-driven: a #[server] attribute over an impl block turns methods annotated #[tool], #[resource] and #[prompt] into a complete server, so protocol framing, schema generation and dispatch are handled by the macros rather than written by hand. The client half is implemented too, which matters for building Rust applications that consume MCP servers rather than only expose them. Specification compliance is treated as a feature and backed by evidence: the README reports passing all forty-three cases of the official MCP conformance suite and interoperating with the official Rust SDK in both directions. Protocol revision support is stated precisely — the 2025-06-18 and 2025-11-25 revisions are stable, while the draft 2026-07-28 revision is synced to an upstream release candidate and may still change, which is honest about where the risk sits. The current release is a 4.0.0 alpha, a from-scratch rewrite, with the 3.x line remaining stable; it targets Rust edition 2024 with a minimum supported version of 1.88. It is MIT licensed and published on crates.io with documentation on docs.rs. The audience is Rust developers building MCP servers or clients who want compile-time-checked tool definitions and a compliant implementation.
https://github.com/Epistates/turbomcp
The official Rust SDK for the Model Context Protocol providing asynchronous client and server implementations with Tokio runtime and support for various transport layers.
A Rust implementation of the Agent2Agent protocol built on hexagonal architecture, including a crate providing a bidirectional bridge between A2A and MCP.
Rust project template for building an MCP CLI server, with prompt, resource and tool handler modules wired on top of the rust-rpc-router JSON-RPC library and a --mcp flag to run over stdio.