MCP Rust文档服务器
这是一个模型上下文协议(MCP)服务器,它获取并返回Rust crates的文档,为LLM在使用Rust代码时提供必要的上下文。
特性
- 获取docs.rs上可用的任何Rust crate的文档
- 剥离HTML并格式化内容以提高可读性
- 限制响应大小以防止客户端不堪重负
- 使用最新的MCP SDK(v1.6.1)
安装
# Clone the repository
git https://github.com/0xKoda/mcp-rust-docs.git
cd mcp-rust-docs
# Install dependencies
npm install先决条件
- Node.js
- npm
用法
# Start the server directly
npm start与AI助手集成
克劳德桌面
将以下内容添加到您的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'板条箱的文档”
- “‘serde’机箱提供了哪些功能?”
- “显示'ratatui'的文档”
- “你能解释一下‘axum’机箱中的主要模块吗?”
AI将使用 lookup_crate_docs 用于获取和显示相关文档的工具。
MCP检验员测试
您可以使用MCP检查器测试此服务器:
npx @modelcontextprotocol/inspector然后选择“连接到本地服务器”选项,并按照提示进行操作。
运作原理
此服务器实现了一个名为 lookup_crate_docs 即:
- 接受Rust机箱名称作为输入(可选,如果没有提供,默认为“tokio”)
- 从docs.rs获取文档
- 使用HTML-to-text库将HTML转换为纯文本
- 如果内容超过8000个字符,则截断内容
- 以正确的MCP响应格式返回格式化的文档
SDK实施说明
此服务器使用具有精心构造的导入路径的MCP SDK。如果您正在修改代码,请注意:
- SDK需要从特定路径导入(例如。,
@modelcontextprotocol/sdk/server/mcp.js) - 我们使用高级McpServer API,而不是低级工具
- 工具定义使用Zod进行参数验证
- 控制台输出被重定向到stderr,以避免破坏MCP协议
- 该工具返回格式正确的MCP响应对象
贡献
欢迎投稿!请随时提交拉取请求。
许可证
麻省理工学院
