锈蚀文件
 
Mastra MCP服务器提供从docs.rs访问Rust文档的权限。
生产部署
选择适合您工作流程的基础主机——两者都公开了相同的工具集,但它们的运行时特性不同:
| 主机 | 基本URL | 突出显示 |
|---|---|---|
| 马斯特拉云 | https://rust-docs.mastra.cloud | 首选 -零冷启动、最大响应能力和始终如一的可靠性能。 |
- 追加
/api/mcp/rust-docs/sse对于SSE传输(最适合保持长期连接的编辑器)。 - 追加
/api/mcp/rust-docs/mcp用于HTTP传输(便于CLI和快速一次性调用)。 - Mastra Cloud是推荐的主要部署 -它提供零冷启动和最大响应能力。
端点参考和替代
- Mastra Cloud SSE: https://rust-docs.mastra.cloud/api/mcp/rust-docs/sse
- Mastra云HTTP: https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp
此存储库包含一个基于Mastra的MCP服务器,可从docs.rs访问Rust crate文档。在AI驱动的代码编辑器中使用它,可以直接从官方Rust文档网站即时访问最新的Rust文档。
🎉 最新动态
- ✅ Mastra Cloud上的生产部署
- ✅ 用于板条箱发现、文档检索和搜索的四个主要MCP工具
- ✅ 智能缓存可提高性能
- ✅ 支持所有主要的AI代码编辑器(Cursor、Windsurf、VS code、Zed、Claude code、Codex)
- ✅ HTTP和SSE传输协议
- ✅ 从docs.rs实时抓取网页
编辑器设置
Mastra Cloud是推荐的主要部署 对于所有编辑。它提供零冷启动和最大响应能力。SSE最适合保持持久连接的编辑器,而HTTP则适用于一次性请求和脚本。VS Code用户可以打开命令面板(Cmd/Ctrl+Shift+P)然后跑 MCP: Add server 粘贴任一URL。
光标
- 打开光标设置(
Cmd/Ctrl+,). - 导航到“MCP”/“模型上下文协议”并添加新的服务器配置。
- 建议使用Mastra Cloud 实现零冷启动和最大响应。添加SSE或HTTP路径,如下例所示。
Mastra Cloud——苏格兰和南方能源公司示例:
{
"rust-docs": {
"type": "sse",
"url": "https://rust-docs.mastra.cloud/api/mcp/rust-docs/sse"
}
}Mastra Cloud——HTTP示例:
{
"rust-docs": {
"type": "http",
"url": "https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp"
}
}Mastra Cloud是可靠性和响应性的推荐部署。
帆板运动
- 编辑
~/.codeium/windsurf/mcp_config.json. - 建议使用Mastra Cloud 实现零冷启动和最大响应。添加SSE传输,如图所示:
{
"mcpServers": {
"rust-docs": {
"url": "https://rust-docs.mastra.cloud/api/mcp/rust-docs/sse",
"transport": "sse"
}
}
}- 保存,重新启动Windsurf,然后打开
mcp.json在代理模式下,单击“开始”。
如果需要,请使用HTTP变体:
{
"servers": {
"rust-docs": {
"type": "http",
"url": "https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp"
}
}
}泽德
- 打开Zed设置(
Cmd/Ctrl+,). - 编辑
~/.config/zed/settings.json并在下面添加条目context_servers:
{
"context_servers": {
"rust-docs": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://rust-docs.mastra.cloud/api/mcp/rust-docs/sse"
],
"env": {}
}
}
}- 保存,重新启动Zed,并确认服务器在Agent面板中显示绿色指示灯。Zed还通过设置提供UI流→ 代理粘贴任一端点而不编辑JSON。
CLI和代理配置
相同的基本URL在CLIs之间工作。 Mastra Cloud是推荐的主要部署 以实现零冷启动的最快响应。
克劳德代码命令行界面(Anthropic)
- 全局设置 (
~/.claude/settings.json):
{
"mcpServers": {
"rust-docs": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp"
]
}
}
}- 项目范围覆盖 (
.mcp.json):
{
"mcpServers": {
"rust-docs": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp"
]
}
}
}通过以下方式启用项目服务器:
{
"enableAllProjectMcpServers": true
}- 命令选项板替代方案:
claude mcp add rust-docs --url https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp- 使用
/permissions在Claude Code中,如果提示,则授予工具访问权限。
OpenAI Codex命令行界面
为codex注册Mastra Cloud端点或使用您自己的私有托管MCP端点。
codex mcp add rust-docs --url https://rust-docs.mastra.cloud/api/mcp/rust-docs/sse
codex mcp listGemini CLI(谷歌)
- 创建或编辑
~/.gemini/settings.json:
mkdir -p ~/.gemini
nano ~/.gemini/settings.json- 添加配置。Mastra Cloud示例:
{
"mcpServers": {
"rust-docs": {
"httpUrl": "https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp"
}
}
}- 更喜欢
npx mcp-remote命令变体(如果您的CLI版本需要命令):
{
"mcpServers": {
"rust-docs": {
"command": "npx",
"args": [
"mcp-remote",
"https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcp"
]
}
}
}- 建议使用Mastra Cloud 实现零冷启动和最大响应。重新启动CLI以应用更改。
验证和快速测试
claude mcp listcodex mcp listnpx mcp-remote https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcpcurl -I https://rust-docs.mastra.cloud/api/mcp/rust-docs/mcpcurl -N https://rust-docs.mastra.cloud/api/mcp/rust-docs/sse
Claude Code可能会提示输入工具权限--使用 /permissions 或设置 allowedTools 在 ~/.claude.json。保持长期连接的编辑器应使用SSE URL;快速脚本可以坚持HTTP。
可用工具
安装后,您的AI助手将可以访问这些工具(ID与MCP服务器公开的ID完全相同):
search_crates--按名称或关键字在crates.io上搜索Rust板条箱get_crate_overview--从docs.rs获取Rust crate的主文档页面作为Markdownget_item_docs--获取特定Rust项目的Markdown文档list_modules--以Markdown形式列出Rust机箱或特定模块中的所有模块和项目
工具响应格式(快速参考)
search_crates:包含名称、描述、版本和下载计数的匹配板条箱列表get_crate_overview:板条箱概述的Markdown文档get_item_docs:特定项目(结构、枚举、特征、函数、宏)的Markdown文档list_modules:板条箱或模块中所有模块和项目的Markdown列表
示例用法
在编辑器中安装MCP服务器后,您可以询问您的AI助手:
- “给我看看serde机箱的文档”
- “获取tokio机箱的概述”
- “列出actix网络机箱中的所有模块”
- “搜索异步运行时板条箱”
- “Vec结构体上有哪些可用的方法?”
- “查找与web框架相关的板条箱”
- “获取序列化特性的文档”
- “搜索名称中包含'http'的板条箱”
- “显示tokio::fs模块文档”
地方发展
想在本地运行MCP服务器或为项目做出贡献吗?
目录
src/-Mastra引导程序、MCP服务器、工具和代理src/mastra/tools/-用于访问Rust文档的工具src/mastra/lib/-缓存、解析和实用程序函数scripts/-版本管理和自动化脚本
快速启动(开发烟雾测试)
- 安装依赖项(使用您首选的包管理器)。
# npm
npm install
# or bun
bun install
# or pnpm
pnpm install- 运行开发烟雾测试(推荐):
# Starts Mastra in dev mode; this repo's smoke-test expects a short run to detect runtime errors
npm run dev有用的脚本
npm run dev-在开发模式下启动Mastra(推荐烟雾测试)。npm run build-建造Mastra项目进行生产。npm run start-启动已构建的Mastra服务器。npm run check-versions-检查package.json和mcp-server.ts版本是否匹配(如果不匹配,则失败)。npm run sync-versions-auto-检查版本,如果不匹配则自动同步(package.json是事实来源)。npm run sync-versions-将最新git标签的版本同步到两个文件。
MCP架构
该项目揭示了一个 生产就绪的MCP服务器 这使得Rust文档可供AI代码编辑器使用。
这意味着:
- MCP服务器 (
src/mastra/index.ts)-向外部MCP客户端公开四个Rust文档工具(Cursor、Windsurf、VS Code等) - 无需MCP客户端 -仅此项目 _提供_ 工具,它不使用其他服务器的工具
服务器部署在 https://rust-docs.mastra.cloud 并通过HTTP和SSE传输公开工具。
项目架构
核心组件
- Mastra框架:协调代理、工作流和MCP服务器
- MCP服务器:通过HTTP/SSE协议向AI代码编辑器公开工具
- Web剪贴服务:从docs.rs和crates.io获取文档
- 智能高速缓存:减少API调用,同时确保新鲜度
- 文档解析:从HTML文档中提取结构化信息
主要特点
- 实时文档:始终从docs.rs获取最新内容
- 全面覆盖:访问板条箱、模块、结构、枚举、特征、函数、宏和类型
- 智能高速缓存:减少API调用,同时确保新鲜度
- 搜索功能:在crates.io上按名称或关键字查找板条箱
- Markdown输出:将解析后的文档作为干净的Markdown返回
惯例与注意事项
- 工具在下实施
src/mastra/tools并且应该使用zod用于输入验证 - 网络抓取使用cheerio和turndown进行HTML到markdown的转换
- 智能缓存用于提高性能和减少API调用
- 工具遵循Mastra模式,使用
createTool具有适当的输入/输出模式
开发技巧
- 建议节点>=22.13.0(参见
package.json发动机) - 添加工具时,请遵循中的模式
src/mastra/tools/get-crate-overview-turndown.ts - 更改后,通过以下方式运行10-15s烟雾测试
npm run dev尽早发现运行时集成问题 - 该系统使用智能缓存-如果您在开发过程中需要新数据,请清除缓存
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
贡献
我们欢迎捐款!请阅读我们的 贡献指南 和 行为准则 在开始之前。
联系
- 问题与支持:
- 维护者:迈克尔·奥贝尔
______________________________________________________________________
更多详情:
- Web抓取服务:参见
src/mastra/lib/用于文档获取和解析实现
