基本能力
产品定位
kuri 是一个用于构建 MCP 服务器的 Rust 框架,旨在简化 MCP 服务器的开发过程,提供高性能和可靠性。
核心功能
- 工具和提示定义:通过简单的 Rust 函数定义工具和提示,支持异步操作。
- 类型安全:利用 Rust 的强类型系统确保代码的正确性。
- 中间件支持:基于
tower
生态系统的中间件,支持超时、跟踪、错误处理等功能。 - 协议支持:支持 MCP 核心生命周期、工具和提示功能,未来计划支持 HTTP 传输和更多可选特性。
适用场景
- 开发 MCP 服务器:为 LLM 提供自定义工具和提示。
- 高性能服务:利用 Rust 的性能优势构建可靠的 MCP 服务器。
- 中间件集成:需要复用
tower
生态系统中的中间件和工具的场景。
工具列表
- calculator:执行基本算术运算的工具。
- summarise_text:生成文本摘要提示的工具。
常见问题解答
- 如何定义工具和提示?:通过
#[tool]
和#[prompt]
宏定义工具和提示,并描述其功能和参数。 - 如何注册工具和提示?:使用
MCPServiceBuilder
注册工具和提示,然后构建服务。 - 支持的传输方式?:目前支持 stdin/stdout 传输,未来计划支持 HTTP 传输。
使用教程
使用依赖
在 Cargo.toml
中添加以下依赖:
toml
[dependencies]
kuri = "0.1"
async-trait = "0.1"
schemars = "0.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
安装教程
- 创建一个新的 Rust 项目:
bash
cargo new my_mcp_server
cd my_mcp_server - 编辑
Cargo.toml
文件,添加上述依赖。 - 编写工具和提示的定义代码(参考示例代码)。
- 构建并运行项目:
bash
cargo run
调试方式
- 使用
tokio
的调试工具跟踪异步操作。 - 通过日志中间件记录请求和响应。
- 使用
cargo test
运行单元测试。