README
🚀 MCP Rust 文档服务器
这是一个模型上下文协议(MCP)服务器,主要用于获取并返回Rust crate的文档。当大语言模型(LLM)处理Rust代码时,该服务器能为其提供必要的上下文信息,提升处理效率和准确性。
🚀 快速开始
本服务器可从docs.rs获取Rust crate文档,并进行处理后提供给LLM。通过简单的安装和配置,即可与AI助手集成使用。
✨ 主要特性
- 从docs.rs上可用的任何Rust crate获取文档。
- 删除HTML并格式化内容以便于阅读。
- 限制响应大小以防淹没客户端。
- 使用最新版本的MCP SDK(v1.6.1)。
📦 安装指南
必备条件
- Node.js
- npm
# 克隆仓库
git https://github.com/0xKoda/mcp-rust-docs.git
cd mcp-rust-docs
# 安装依赖项
npm install
💻 使用示例
基础用法
# 直接启动服务器
npm start
高级用法
与AI助手集成 - Claude Desktop
在Claude Desktop配置文件(claude_desktop_config.json)中添加以下内容:
{
"mcpServers": {
"rust-docs": {
"command": "node",
"args": ["/absolute/path/to/index.js"]
}
}
}
将/absolute/path/to/index.js替换为该仓库中index.js文件的绝对路径。
示例用法
一旦服务器运行并配置好您的AI助手,您可以提出如下问题:
- “查找‘tokio’crate的文档”
- “‘serde’ crate提供了哪些功能?”
- “显示‘ratatui’的文档”
- “你能解释‘axum’ crate的主要模块吗?”
AI将使用
lookup_crate_docs工具获取并显示相关文档。
使用MCP Inspector测试
您可以通过运行以下命令来测试此服务器:
npx @modelcontextprotocol/inspector
然后选择“连接到本地服务器”选项并根据提示操作。
📚 详细文档
工作原理
此服务器实现了名为lookup_crate_docs的单个MCP工具,其执行步骤如下:
- 接收Rust crate名称作为输入(可选,默认为‘tokio’如果未提供)。
- 从docs.rs获取文档。
- 使用html-to-text库将HTML转换为纯文本。
- 如果内容超过8000字符则截断。
- 以正确的MCP响应格式返回格式化后的文档。
SDK实现注意事项
此服务器使用了经过精心结构调整的导入路径的MCP SDK。如果您正在修改代码,请注意:
- SDK需要从特定路径进行导入(例如
@modelcontextprotocol/sdk/server/mcp.js)。 - 我们使用高阶McpServer API而不是低阶工具。
- 工具定义使用Zod进行参数验证。
- 将控制台输出重定向到stderr以免破坏MCP协议。
- 工具返回正确的MCP响应对象。
📄 许可证
MIT
Scan to join WeChat group