返回市场
MCP-Rust文档服务器

MCP-Rust文档服务器

作者:0xKoda45 星标更新:2025-04-01

项目介绍

MCP Rust 文档服务器

这是一个模型上下文协议(MCP)服务器,用于获取并返回Rust库的文档,为LLM在处理Rust代码时提供必要的上下文信息。

特性

  • 获取docs.rs上可用的任何Rust库的文档
  • 去除HTML标签并格式化内容以提高可读性
  • 限制响应大小以防止客户端被压垮
  • 使用最新版的MCP SDK(v1.6.1)

安装

# 克隆仓库
git https://github.com/0xKoda/mcp-rust-docs.git
cd mcp-rust-docs

# 安装依赖
npm install

预备条件

  • Node.js
  • npm

使用方法

# 直接启动服务器
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'库的文档"
  • "'serde'库提供了哪些特性?"
  • "展示'ratatui'的文档"
  • "你能解释一下'axum'库的主要模块吗?"

AI将使用lookup_crate_docs工具来获取并显示相关的文档。

使用MCP Inspector进行测试

你可以使用MCP Inspector来测试此服务器:

npx @modelcontextprotocol/inspector

然后选择“连接到本地服务器”选项,并按照提示操作。

工作原理

该服务器实现了一个名为lookup_crate_docs的单一MCP工具,它:

  1. 接收一个Rust库名称作为输入(可选,默认为'tokio')
  2. 从docs.rs获取文档
  3. 使用html-to-text库将HTML转换为纯文本
  4. 如果内容超过8000个字符,则截断内容
  5. 返回格式化的文档,符合MCP响应格式

SDK实现注意事项

此服务器使用了MCP SDK,并且导入路径经过精心设计。如果你修改代码,请注意:

  1. SDK需要从特定路径导入(例如:@modelcontextprotocol/sdk/server/mcp.js
  2. 我们使用高级的McpServer API而不是低级工具
  3. 工具定义使用Zod进行参数验证
  4. 控制台输出重定向到stderr以避免破坏MCP协议
  5. 工具返回格式正确的MCP响应对象

贡献

欢迎贡献!请随意提交Pull Request。

许可证

MIT </中文翻译>