rust-mcp-stack/rust-mcp-sdk

View on GitHub ↗

A high-performance, asynchronous toolkit for building MCP servers and clients in Rust.

190 ★29 forksRustUpdated 18d ago

What you need to know

High-performance asynchronous Rust toolkit for building MCP servers and clients with 100% official MCP conformance

Install

cargo add rust-mcp-sdk

Usage

  • Define tools with the mcp_tool macro and implement a ServerHandler to build an MCP server
  • Use create_axum_server or create_actix_server for Streamable HTTP with multi-client concurrency

Key features

  • Implements MCP protocol 2025-11-25 and passes 100% of official conformance tests
  • Transports: stdio, Streamable HTTP, and backward-compatible SSE
  • Framework agnostic with native Axum and Actix backends plus BYO-server mounting
  • OAuth authentication for servers (Keycloak, WorkOS, Scalekit) and clients (DCR, PKCE)
  • Procedural macros: mcp_tool, tool_box, mcp_elicit, mcp_resource, mcp_resource_template, mcp_icon
  • Message Observer for telemetry and monitoring, HTTP health checks, MCP Tasks, resumability, multi-client concurrency

Best for

Rust developers building production-grade MCP servers or clients

Caveats

  • OAuthProxy for non-DCR providers is still in development - use RemoteAuthProvider
  • Streamable HTTP should bind to localhost and use TLS/HTTPS for production

Reviewed 2026-08-11

Topics

crates-iomcp-clientmcp-servermcp-toolsmodel-context-protocolrust
Stars
190★
Forks
29
Language
Rust
License
MIT
Created
2025-02-08
Last push
2026-08-17