Back to MCP directory
publicPublicdnsLocal runtime

Rust Docs

一个为Rust代码提供文档查询服务的MCP服务器

article

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

  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

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client