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.
a2a-rs implements version 1.0.0 of Google's Agent-to-Agent protocol in Rust as a modular workspace of crates. The core a2a-rs crate holds the protocol types, traits, transports and storage abstractions, following hexagonal architecture so the protocol logic is separated from the transport and persistence adapters around it; communication runs over ConnectRPC. Around that core sit focused crates: a2a-ap2 implements the Agent Payments Protocol extension, a2a-llm provides a provider-neutral vocabulary with OpenAI-compatible and Gemini backends, a2a-web-client supports building agent frontends, and a command-line crate provides tooling. The crate directly relevant here is a2a-mcp, a bidirectional bridge between A2A and the Model Context Protocol — meaning an A2A agent's capabilities can be exposed as MCP tools, and MCP servers can be reached from an A2A agent. That two-way translation is what lets a Rust agent participate in both ecosystems without a separate implementation for each. It is MIT licensed, published on crates.io with documentation on docs.rs, and runs continuous integration. The audience is Rust developers building agents who need A2A conformance and want MCP interoperability from the same codebase.
https://github.com/EmilLindfors/a2a-rs
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 SDK implementing both halves of MCP, server and client, with a macro-driven API, strict specification compliance and a passing official conformance suite.
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.