Cover image
Try Now
2024-12-01

用于模型上下文协议(MCP)的Rust SDK

3 years

Works with Finder

4

Github Watches

14

Github Forks

124

Github Stars

Model Context Protocol (MCP) Rust SDK

⚠️ Warning: This SDK is currently a work in progress and is not ready for production use.

A Rust implementation of the Model Context Protocol (MCP), designed for seamless communication between AI models and their runtime environments.

Rust CI/CD crates.io Documentation

Features

  • 🚀 Full implementation of MCP protocol specification
  • 🔄 Multiple transport layers (WebSocket, stdio)
  • ⚡ Async/await support using Tokio
  • 🛡️ Type-safe message handling
  • 🔍 Comprehensive error handling
  • 📦 Zero-copy serialization/deserialization

Installation

Add this to your Cargo.toml:

[dependencies]
mcp_rust_sdk = "0.1.0"

Quick Start

Client Example

use mcp_rust_sdk::{Client, transport::WebSocketTransport};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create a WebSocket transport
    let transport = WebSocketTransport::new("ws://localhost:8080").await?;
    
    // Create and connect the client
    let client = Client::new(transport);
    client.connect().await?;
    
    // Make requests
    let response = client.request("method_name", Some(params)).await?;
    
    Ok(())
}

Server Example

use mcp_rust_sdk::{Server, transport::StdioTransport};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create a stdio transport
    let (transport, _) = StdioTransport::new();
    
    // Create and start the server
    let server = Server::new(transport);
    server.start().await?;
    
    Ok(())
}

Transport Layers

The SDK supports multiple transport layers:

WebSocket Transport

  • Ideal for network-based communication
  • Supports both secure (WSS) and standard (WS) connections
  • Built-in reconnection handling

stdio Transport

  • Perfect for local process communication
  • Lightweight and efficient
  • Great for command-line tools and local development

Error Handling

The SDK provides comprehensive error handling through the Error type:

use mcp_rust_sdk::Error;

match result {
    Ok(value) => println!("Success: {:?}", value),
    Err(Error::Protocol(code, msg)) => println!("Protocol error {}: {}", code, msg),
    Err(Error::Transport(e)) => println!("Transport error: {}", e),
    Err(e) => println!("Other error: {}", e),
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • pontusab
  • 光标与风浪冲浪社区,查找规则和MCP

  • av
  • 毫不费力地使用一个命令运行LLM后端,API,前端和服务。

  • 1Panel-dev
  • 🔥1Panel提供了直观的Web接口和MCP服务器,用于在Linux服务器上管理网站,文件,容器,数据库和LLMS。

  • GeyserMC
  • 与Minecraft客户端/服务器通信的库。

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • awslabs
  • AWS MCP服务器 - 将AWS最佳实践直接带入您的开发工作流程的专门MCP服务器

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

    Reviews

    3 (1)
    Avatar
    user_IAkHrdkO
    2025-04-17

    As a dedicated user of the mcp-rust-sdk, I can confidently say it's a must-have for developers working with Rust. Derek-X-Wang has done a fantastic job with this SDK, providing a seamless and efficient way to integrate MCP functionalities. The clear documentation and ease of use make it a top choice for any project. Check it out at https://github.com/Derek-X-Wang/mcp-rust-sdk - you won't be disappointed!