Rust MCP游乐场
A. 完成工作实施 Rust中的模型上下文协议(MCP),具有客户端和服务器组件以及完整的工具集成。
🚀 快速开始
运行交互式计算器聊天客户端:
cd projects/client
cargo run这将:
- 自动启动计算器服务器
- 通过Anthropic API连接到Claude
- 为数学运算提供聊天界面
示例用法:
You: add 15 to 27
🤖 Assistant: 15 + 27 = 42
You: what's the square root of 144?
🤖 Assistant: √144 = 12📁 项目结构
rust-mcp-playground/
├── projects/ # 🎯 Main implementations
│ ├── client/ # Chat client with Anthropic integration
│ │ ├── .env # ANTHROPIC_API_KEY configuration
│ │ └── src/main.rs # Full MCP client implementation
│ └── servers/calculator/ # Calculator MCP server
│ └── src/main.rs # 6 mathematical tools
├── references/ # 📚 Official examples
│ └── rust-mcp-sdk-examples/ # Complete SDK reference implementations
└── CLAUDE.md # Development guidance✨ 特性
🧮 计算器服务器
- 6数学工具:加、减、乘、除、平方、sqrt
- 错误处理:除零、负平方根、无效输入
- 输入验证:NaN和无穷大检查
- MCP协议:最新rmcp 0.2.1
#[tool_router]宏 - 综合测试:所有操作的单元测试
💬 聊天客户端
- 自然语言接口:用简单的英语提问
- 工具发现:自动查找和使用服务器功能
- 人类整合:使用克劳德进行智能响应
- STDIO传输:管理服务器进程生命周期
- 环境配置:来自的API密钥
.env文件
🛠️ 技术实现
使用官方Rust MCP SDK构建:
rmcp0.2.1-最新MCP实施- 协议版本:2024-11-05(现行MCP标准)
- 运输:STDIO(MCP集成标准)
- 工具注册:用于干净实现的声明性宏
架构:
// Server tool registration
#[tool_router]
impl Calculator {
#[tool(description = "Add two numbers together")]
fn add(&self, Parameters(AddRequest { a, b }): Parameters)
-> Result { /* ... */ }
}
// Client spawns server and discovers tools automatically
let transport = TokioChildProcess::new(command)?;
let client = ().serve(transport).await?;
let tools = client.list_all_tools().await?; // Discovers all 6 calculator tools📋 先决条件
- 锈 (2024年版)
- 无烟煤API密钥 -添加到
projects/client/.env:
ANTHROPIC_API_KEY=your_key_here🧪 发展
运行测试:
cd projects/servers/calculator
cargo test独立构建组件:
# Server only
cd projects/servers/calculator
cargo build
# Client only
cd projects/client
cargo build单独调试服务器:
cd projects/servers/calculator
cargo run # Waits for STDIO input📖 学习资源
- 官方MCP SDK:
- MCP规范:
- 参考示例:参见
references/rust-mcp-sdk-examples/为了获得全面的示例
🎯 是什么让这个特别
这不仅仅是示例代码,而是 功能齐全的MCP系统 这表明:
✅ 现实世界中的MCP集成 具有工作工具发现和执行功能\ ✅ 生产就绪模式 通过适当的错误处理和验证\ ✅ 现代Rust MCP开发 使用最新的SDK功能\ ✅ 完整的客户端-服务器架构 具有自动流程管理功能\ ✅ 自然语言接口 由克劳德的智慧驱动
非常适合学习MCP概念、构建新的MCP工具或将MCP集成到现有应用程序中!
