Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2025 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Rust Sdk

    The official Rust SDK for the Model Context Protocol Trusted by 2500+ developers. Trusted by 2500+ developers. Trusted by 2500+ developers.

    2,510 stars
    Rust
    Updated Nov 4, 2025

    Documentation

    RMCP

    Crates.io Version

    Coverage

    An official Rust Model Context Protocol SDK implementation with tokio async runtime.

    This repository contains the following crates:

    • rmcp: The core crate providing the RMCP protocol implementation (If you want to get more information, please visit rmcp)
    • rmcp-macros: A procedural macro crate for generating RMCP tool implementations (If you want to get more information, please visit rmcp-macros)

    Usage

    Import the crate

    toml
    rmcp = { version = "0.8.0", features = ["server"] }
    ## or dev channel
    rmcp = { git = "https://github.com/modelcontextprotocol/rust-sdk", branch = "main" }

    Third Dependencies

    Basic dependencies:

    • tokio required
    • serde required

    Build a Client

    Start a client

    rust, ignore
    use rmcp::{ServiceExt, transport::{TokioChildProcess, ConfigureCommandExt}};
    use tokio::process::Command;
    
    #[tokio::main]
    async fn main() -> Result> {
        let client = ().serve(TokioChildProcess::new(Command::new("npx").configure(|cmd| {
            cmd.arg("-y").arg("@modelcontextprotocol/server-everything");
        }))?).await?;
        Ok(())
    }

    Build a Server

    Build a transport

    rust, ignore
    use tokio::io::{stdin, stdout};
    let transport = (stdin(), stdout());

    Build a service

    You can easily build a service by using [ServerHandler](crates/rmcp/src/handler/server.rs) or [ClientHandler](crates/rmcp/src/handler/client.rs).

    rust, ignore
    let service = common::counter::Counter::new();

    Start the server

    rust, ignore
    // this call will finish the initialization process
    let server = service.serve(transport).await?;

    Interact with the server

    Once the server is initialized, you can send requests or notifications:

    rust, ignore
    // request
    let roots = server.list_roots().await?;
    
    // or send notification
    server.notify_cancelled(...).await?;

    Waiting for service shutdown

    rust, ignore
    let quit_reason = server.waiting().await?;
    // or cancel it
    let quit_reason = server.cancel().await?;

    Examples

    See examples

    OAuth Support

    See oauth_support for details.

    Related Resources

    • MCP Specification
    • Schema

    Related Projects

    Extending rmcp

    • rmcp-actix-web - An actix_web backend for rmcp
    • rmcp-openapi - Transform OpenAPI definition endpoints into MCP tools

    Built with rmcp

    • rustfs-mcp - High-performance MCP server providing S3-compatible object storage operations for AI/LLM integration
    • containerd-mcp-server - A containerd-based MCP server implementation
    • rmcp-openapi-server - High-performance MCP server that exposes OpenAPI definition endpoints as MCP tools
    • nvim-mcp - A MCP server to interact with Neovim
    • terminator - AI-powered desktop automation MCP server with cross-platform support and >95% success rate
    • stakpak-agent - Security-hardened terminal agent for DevOps with MCP over mTLS, streaming, secret tokenization, and async task management

    Development

    Tips for Contributors

    See docs/CONTRIBUTE.MD to get some tips for contributing.

    Using Dev Container

    If you want to use dev container, see docs/DEVCONTAINER.md for instructions on using Dev Container for development.

    Similar MCP

    Based on tags & features

    • IM

      Imagen3 Mcp

      Rust·
      46
    • MC

      Mcp Access Point

      Rust·
      135
    • WI

      Winx Code Agent

      Rust·
      19
    • CO

      Code Assistant

      Rust·
      103

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • IM

      Imagen3 Mcp

      Rust·
      46
    • MC

      Mcp Access Point

      Rust·
      135
    • WI

      Winx Code Agent

      Rust·
      19
    • CO

      Code Assistant

      Rust·
      103

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k