Rust Docs

Rust Docs

🚀 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工具,其执行步骤如下:

  1. 接收Rust crate名称作为输入(可选,默认为‘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响应对象。

📄 许可证

MIT

  • 0 关注
  • 0 收藏,19 浏览
  • system 提出于 2025-09-21 14:33

相似服务问题

相关AI产品