Official

Rust SDK MCP Server

Rust development for MCP servers with full async protocol implementation.

Data last scanned today · Reviewed today

711 tool3,758RustNOASSERTION

Overview

This SDK provides the foundational crates for building Model Context Protocol servers and clients in Rust. It includes the core rmcp protocol implementation and a procedural macro crate to streamline tool definition, leveraging the tokio async runtime for performance.

Our verdict

With a security score of 53/100, this project is classified as high-risk. While it benefits from a large community of 100 contributors and zero direct dependencies, the license is currently marked as NOASSERTION and critical security aspects like OAuth and read-only mode have not yet been editorially reviewed. It is suitable for developers building Rust-based MCP implementations who are comfortable managing the security implications of third-party, community-maintained code.

  • Zero direct dependencies reduce the supply chain surface area.
  • Supports the latest MCP stable specifications as of 2026-07-28.
  • Includes procedural macros for automated tool implementation.
  • Maintained by an active community with 3,758 GitHub stars.
  • The project license status is currently set to NOASSERTION.
  • Crucial features like OAuth support remain unreviewed.
  • The codebase has not yet undergone an editorial security review.

Tools

ToolDescriptionRisk
addAdd two numberslow

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

Which MCP specification versions are supported?

This SDK implements the stable MCP 2026-07-28 specification and maintains full compatibility with the 2025-11-25 release and earlier versions.

What runtime and dependencies are required?

The SDK requires the tokio async runtime and serde for serialization. For JSON Schema 2020-12 generation, the schemars crate is also used.

How do I upgrade from previous versions?

If you are migrating to version 3.x, you should consult the migration guide provided in the repository for details on breaking changes and upgrade instructions.

Can I explicitly choose how a client initializes?

Yes, you can use ClientLifecycleMode to select between the legacy initialize lifecycle, a server/discover lifecycle, or an auto-probing mode that falls back to legacy versions.

What components are included in the SDK?

The repository provides two primary crates: rmcp for the core protocol implementation and rmcp-macros for generating procedural macro-based tool implementations.

Changelog

Badge

Rust SDK MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.