mcp-docsrs
Provides access to Rust crate documentation on docs.rs, enabling searching crates, viewing API definitions, feature flags, and code examples.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-docsrsshow me the API docs fortokio::sync::Mutex"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Docs.rs MCP 工具
English Version (README-EN.md)
这是什么
这是一个基于 MCP (Model Context Protocol) 的 Docs.rs 工具,它能让 AI 模型在不离开开发环境的情况下,深度访问 Rust Crate 的文档。
简单来说,它让 AI 助手能够成为一个专业的 Rust 开发伙伴,帮助你执行各种文档查询操作,如搜索 crate、检查 API 定义、查看功能标志、获取代码示例等,从而极大地提升了编码和学习效率。
Crate 搜索: 在 crates.io 上按名称搜索 crate。
Crate 信息查询: 获取特定 crate 的元数据、模块列表和最新版本信息。
Feature Flag 列表: 展示一个 crate 所有的可用功能标志 (feature flags)。
Crate 内全局搜索: 在指定 crate 的所有文档中进行高效的全文搜索。
全面的 API 定义查看: 不仅能获取函数、结构体的定义,还完美支持对宏、复杂类型别名、FFI 类型以及标准库 (
std,core,alloc) 的查询。准确的代码示例获取: 查找并展示特定 API 的使用示例,同样支持标准库。
以下是 Docs.rs MCP 工具的一些核心特点:
沉浸式文档体验:所有操作都在编辑器内完成,无需跳转浏览器,保持开发流程的连贯性。
高效的内部搜索与查找: 通过在内存中解析
all.html构建搜索索引,实现了对 crate 内部文档的快速、准确的全局搜索,并能完美处理类型别名、重导出等复杂情况。广泛的兼容性: 经过大量测试,确保了对 docs.rs 上绝大多数库的稳定支持,包括对标准库的特殊适配。
智能缓存机制:对 API 请求和解析后的数据进行缓存,显著提升重复查询的速度。
分页支持:对于模块、搜索结果等长列表,支持分页浏览,避免信息过载。
Markdown 格式化输出:将原始的 HTML 文档转换为格式优美的 Markdown,提升了代码片段和文档的可读性。
稳定可靠:通过直接与 crates.io 和 docs.rs 交互,确保获取的信息是最新的官方文档。
通过简单的自然语言指令,AI 可以帮助你完成上述所有操作,成为你学习和使用 Rust 生态库的得力助手。
快速上手
0. 环境准备
安装 Node.js 和 npm
访问 Node.js 官网
下载并安装 LTS(长期支持)版本(推荐 18.x 或更高版本)
安装时选择默认选项即可,安装包会同时安装 Node.js 和 npm
安装 pnpm(推荐)
本项目使用 pnpm 进行包管理,它能更高效地管理依赖。
打开命令提示符(CMD)或 PowerShell,输入以下命令进行安装:
npm install -g pnpm
验证安装
安装完成后,打开新的终端窗口
输入以下命令确认安装成功:
node --version pnpm --version如果显示版本号,则表示安装成功
安装 Git(如果尚未安装)
访问 Git 官网
下载并安装 Git
安装时使用默认选项即可
1. 克隆并安装
git clone https://github.com/shuakami/mcp-docsrs.git
cd mcp-docsrs
pnpm install2. 构建项目
pnpm build3. 添加到 Cursor MCP 配置
根据你的操作系统,按照以下步骤配置 MCP:
在 Cursor 中,打开或创建 MCP 配置文件:
C:\\Users\\你的用户名\\.cursor\\mcp.json注意:请将
你的用户名替换为你的 Windows 用户名
添加或修改配置如下:
{
"mcpServers": {
"docsrs-mcp": {
"command": "pythonw",
"args": [
"run_mcp.py"
],
"cwd": "C:/Users/你的用户名/mcp-docsrs"
}
}
}⚠️ 请注意:
将
你的用户名替换为你的 Windows 用户名确保
cwd路径正确指向你克隆的项目目录不要删除克隆的文件夹,这会导致 MCP 无法正常工作
在 Cursor 中,打开或创建 MCP 配置文件:
/Users/你的用户名/.cursor/mcp.json注意:请将
你的用户名替换为你的 macOS 用户名
添加或修改配置如下:
{
"mcpServers": {
"docsrs-mcp": {
"command": "python",
"args": [
"run_mcp.py"
],
"cwd": "/Users/你的用户名/mcp-docsrs"
}
}
}⚠️ 请注意:
将
你的用户名替换为你的 macOS 用户名确保
cwd路径正确指向你克隆的项目目录不要删除克隆的文件夹,这会导致 MCP 无法正常工作
在 Cursor 中,打开或创建 MCP 配置文件:
/home/你的用户名/.cursor/mcp.json注意:请将
你的用户名替换为你的 Linux 用户名
添加或修改配置如下:
{
"mcpServers": {
"docsrs-mcp": {
"command": "python",
"args": [
"run_mcp.py"
],
"cwd": "/home/你的用户名/mcp-docsrs"
}
}
}⚠️ 请注意:
将
你的用户名替换为你的 Linux 用户名确保
cwd路径正确指向你克隆的项目目录不要删除克隆的文件夹,这会导致 MCP 无法正常工作
4. 启动服务
配置好之后,重启 Cursor 编辑器,它会自动启动 MCP 服务。然后你就可以开始使用了。
你可以要求 AI 执行以下操作:
"帮我搜索一个叫
tokio的 Rust crate""看看
tokio这个 crate 的信息和模块列表""列出
serde这个 crate 的所有 feature flags""在
russhcrate 的文档里搜索server""给我看看
tokio::sync::Mutex的 API 文档""有
tokio::fs::File的使用例子吗?"
工作原理
本工具基于 MCP (Model Context Protocol) 标准实现,作为 AI 模型与 Docs.rs 服务之间的桥梁。它通过模拟浏览器行为来获取和解析文档数据。
主要技术组件包括:
HTTP 客户端: 使用 axios 发送网络请求到
crates.io和docs.rs。HTML 解析器: 使用 cheerio 在服务器端解析返回的 HTML 文档,提取所需信息。
数据校验: 使用 Zod 对工具的输入参数进行严格的类型校验和验证。
内存搜索引擎: 对于“Crate 内搜索”功能,工具会下载目标 crate 的
all.html文件,在内存中解析并构建一个可供搜索的条目索引,以实现高效的即时搜索。缓存层: 实现了一个可配置的内存缓存(默认10分钟),用于缓存网络请求和解析结果,避免对同一资源进行重复请求,提升响应速度。
Markdown 转换: 使用 turndown 将解析出的 HTML 内容转换为 AI 更易于理解和呈现的 Markdown 格式。
许可证
ISC
如果这个项目对你有帮助,欢迎给个 Star ⭐️ (。♥‿♥。)
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shuakami/mcp-docsrs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server