Rust文档浏览服务

MCP服务器用于浏览Rust crate文档,支持从docs.rs、doc.rust-lang.org和crates.io API抓取数据,适用于Rust开发者快速查阅和分析库文档。

  • by kieled
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 kieled/mcp-rustdoc

使用说明

mcp rustdoc

用于浏览Rust crate文档的MCP服务器。废弃docs.rs,doc.rust-lang.org(std/core/alloc)和crates.io API。零HTTP依赖关系--本机 fetch 只有。

工具

工具 说明
get_crate_metadata 版本、功能、deps、MSRV、链接
get_crate_brief 元数据+概述+模块+集中模块项在一次调用中
lookup_crate_docs 板条箱概述、版本、部分、再出口
get_crate_items 模块中的项目。按类型和特征门过滤
lookup_crate_item 完整的项目文档:签名、弃用、方法、变体、impls、示例。自动发现模块路径
list_methods 带有签名、弃用和简短文档的struct/enum/trait上的所有方法
search_crate 基于Levenshtein模糊回退的排序符号搜索
search_crates 按关键字搜索crates.io
get_crate_versions 所有已发布的版本,包括日期和取消状态
get_source_code 来自docs.rs的原始源代码
batch_lookup 一次调用中的多个项目查找(最多20个)
get_crate_changelog GitHub发布了一个crate
resolve_type 解析类型路径,如下所示 tokio::sync::Mutex 到其文档

所有工具都接受可选 version 参数,并用注释 readOnlyHint: true.

安装

npx -y mcp-rustdoc

克劳德代码

claude mcp add mcp-rustdoc -- npx -y mcp-rustdoc

Gemini CLI

{ "mcpServers": { "mcp-rustdoc": { "command": "npx", "args": ["-y", "mcp-rustdoc"] } } }

OpenAI Codex命令行界面

codex mcp add mcp-rustdoc -- npx -y mcp-rustdoc

克劳德桌面

{ "mcpServers": { "mcp-rustdoc": { "command": "npx", "args": ["-y", "mcp-rustdoc"] } } }

参数

每个工具都需要 crateName (字符串,必填)和 version (字符串,可选)。附加参数:

工具 额外参数
get_crate_brief focusModules --逗号分隔的展开模块
get_crate_items modulePath, itemType, feature
lookup_crate_item itemType (必填), itemName (必填), modulePath, includeImpls, includeExamples
list_methods itemType (必填), itemName (必填), modulePath
search_crate query (必填)
search_crates query (必填), page, perPage
get_source_code path (必填)
batch_lookup items (必填)--数组 { itemType, itemName, modulePath? },最多20
get_crate_changelog count --发布次数(默认值5)
resolve_type typePath (必填)-例如。 "tokio::sync::Mutex"

发展

git clone https://github.com/kieled/mcp-rustdoc.git
cd mcp-rustdoc && npm install
bun run dev          # run with bun (no build)
npm run build        # vite build → dist/index.js
npm run typecheck    # tsc --noEmit
npm publish          # build + publish

建筑

  • 服务器说明 --在init上发送给客户端的工作流指南
  • Markdown输出 --文档注释将代码块保留为围栏标记,内联代码保留为回溯标记
  • 再见 --从rustdoc HTML中提取DOM
  • 本地获取 — AbortController 超时,请在5xx上回退重试
  • LRU缓存 --500个条目,5分钟TTL,15分钟失效,同时重新验证
  • 模糊搜索 --精确>前缀>子字符串评分,Levenshtein在没有匹配的情况下回退
  • 自动发现 — lookup_crate_item 通过以下方式查找模块路径 all.html,对失误的模糊回退
  • 可操作的错误 --每个错误都包含一个恢复提示,建议下一步尝试哪个工具

许可证

麻省理工学院