内容
MCP Rust CLI server template
=============================
Model Context Protocol (MCP) 是一个开放协议,支持 LLM 应用与外部数据源和工具之间的无缝集成。无论您是构建 AI 驱动的 IDE、增强聊天界面,还是创建自定义 AI 工作流,MCP 都提供了一种标准化的方式来将 LLM 与它们所需的上下文连接起来。
mcp-rs-template 是一个简单的应用程序模板,演示了如何在 Rust 中实现 MCP CLI server。
# 如何使用模板?
1. 克隆存储库
2. 修改 `Cargo.toml` 和 `src/mcp/mod.rs` 中的项目信息
3. 修改服务器处理程序:
- `src/mcp/prompts.rs`: prompts 处理程序
- `src/mcp/resources.rs`: resources 处理程序
- `src/mcp/tools.rs`: tools 处理程序
4. 如果您喜欢使用 json 文件来处理 prompts、resources 和 tools,请修改 `src/mcp/templates/*.json`
mcp-rs-template 基于 [rust-rpc-router](https://github.com/jeremychone/rust-rpc-router),这是一个用于 Rust 的 JSON-RPC 路由库。
# CLI 选项
* `--mcp`: 启用 MCP server
* `--resources`: 显示 resources
* `--prompts`: 显示 prompts
* `--tools`: 显示 tools
# 如何在 Claude Desktop 中使用 MCP CLI server?
1. 编辑 `claude_desktop_config.json`: Claude Desktop -> `Settings` -> `Developer` -> `Edit Config`
2. 将以下配置添加到 `servers` 部分:
```json
{
"mcpServers": {
"current-time": {
"command": "mcp-rs-template",
"args": [
"--mcp"
],
"env": {
"API_KEY": "xxxx"
}
}
}
}
```
如果您想查看 MCP 日志,请使用 `tail -n 20 -f ~/Library/Logs/Claude/mcp*.log`。
# 参考
* MCP Specification: https://spec.modelcontextprotocol.io/
* Model Context Protocol (MCP): https://modelcontextprotocol.io/introduction
* rpc-router: json-rpc routing library - https://github.com/jeremychone/rust-rpc-router/
* Zed context_server: https://github.com/zed-industries/zed/tree/main/crates/context_server