# RMCP

The official Rust SDK for the Model Context Protocol, built on the Tokio async runtime, providing client and server implementations plus a macro crate for defining MCP tools.

RMCP is the official Rust implementation of the Model Context Protocol, built with the Tokio async runtime. The repository contains two crates: rmcp, the core protocol implementation, and rmcp-macros, a procedural macro crate for generating MCP tool implementations.

The SDK implements the current MCP specification while remaining compatible with earlier protocol versions, including support for server discovery and negotiation, transport-neutral subscriptions, long-running tasks, response caching, multi-round-trip requests and standard HTTP routing headers. It supports building both MCP clients and servers, with examples for starting a client against a child-process server over stdio, and configurable client lifecycle modes for the initialization handshake.

It is added to a Rust project with Cargo and is available from both a published release and the development branch on GitHub.

Website: https://docs.rs/rmcp
