rust-mcp-sdk 是一个用于构建和管理 MCP(机器学习平台)服务的 Rust 库。它提供了服务器端和客户端的功能模块,还支持通过宏简化工具结构的创建和操作,能有效提升开发效率。
当你将 rust-mcp-sdk 作为依赖项包含在项目中时,默认情况下会启用所有功能:
[dependencies]
rust-mcp-sdk = "0.2.0"
所有功能(server、client 和 macros)默认启用。
如果你只需要 MCP 服务器的功能,可以禁用默认功能并显式启用 server 特性。将以下内容添加到 Cargo.toml:
[dependencies]
rust-mcp-sdk = { version = "0.2.0", default-features = false, features = ["server","macros"] }
如果你只需要 MCP 客户端的功能,可以禁用默认功能并显式启用 client 特性。将以下内容添加到 Cargo.toml:
[dependencies]
rust-mcp-sdk = { version = "0.2.0", default-features = false, features = ["client"] }
rust-mcp-sdk 提供两种类型的处理程序 trait,用于处理 MCP 消息:
mcp_server_handler_core。它提供三种主要方法来处理三种 MCP 消息类型:request、notification 和 error。尽管仍然在这些方法中提供类型安全的对象,但它允许你根据消息的类型和参数确定如何处理每条消息。
参考 examples/hello-world-mcp-server-core/src/handler.rs 查看示例。⚠️ 重要提示
根据你选择
mcp_server_handler或mcp_server_handler_core,你需要使用相应的server_runtime::create_server()或server_runtime_core::create_server()方法。
use mcp_sdk::server::{McpServer, McpMessage};
#[derive(Debug)]
struct MyServerHandler {
// 自定义状态或属性
}
impl McpServer for MyServerHandler {
fn handle_message(&mut self, message: &McpMessage) -> Result<(), Box<dyn Error>> {
// 处理消息的逻辑
println!("收到消息:{}", message);
Ok(())
}
}
use mcp_sdk::client::{McpClient, McpMessage};
#[derive(Debug)]
struct MyClientHandler {
// 自定义状态或属性
}
impl McpClient for MyClientHandler {
fn handle_response(&mut self, response: &McpMessage) -> Result<(), Box<dyn Error>> {
// 处理响应的逻辑
println!("收到响应:{}", response);
Ok(())
}
}
确保你已经安装了以下工具:
rustup installcargo install cargo-edit在你的项目中添加 rust-mcp-sdk 依赖:
[dependencies]
rust-mcp-sdk = "0.2.0"
克隆仓库后,运行以下命令来运行示例项目:
cargo run --example my_example
克隆仓库:
git clone https://github.com/rust-mcp-sdk/rust-mcp-sdk.git
cd rust-mcp-sdk
创建功能分支:
git checkout -b feature/my_new_feature
编写代码并测试:
src/ 目录下添加新文件或修改现有文件。examples/ 目录下添加示例项目(如果需要)。cargo test提交更改:
git add .
git commit -m "feat: 添加新的功能"
创建拉取请求:
遵循以下提交规范:
类型:
feat: 新功能的添加fix: 修复问题refactor: 代码重构test: 添加测试用例doc: 更新文档描述:简明扼要地说明提交的内容。
范围:使用作用域,例如:
mcp-sdk: 核心库的更改examples: 示例项目的更改docs: 文档的更改格式示例:
feat(mcp-sdk): 添加新的服务器端点支持
fix(doc): 修复文档中的拼写错误
rust-mcp-sdk 是根据 MIT 许可证发布的。查看 LICENSE 文件获取详细信息。