Token导航 LogoToken导航TokenDH.com
Rust Code MCP logo
开发工具未说明官方级别未说明来源级核验

Rust Code MCP

MCP Server

一个用于搜索和分析Rust代码库的MCP服务器,结合了混合BM25和向量搜索,以及基于rust-analyzer的超图结构,提供45+工具用于符号导航、调用图遍历、结构审计和语义邻居查询。

工具数

50

提示词数

0

GitHub Stars

13

资源数

0
代码搜索RustClaude静态分析Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

molaco

提供方

molaco

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

锈蚀代码mcp

用于搜索和分析Rust代码库的MCP服务器。将混合BM25+矢量搜索与HIR驱动的工作空间相结合 超图 基于rustanalyzer构建,提供45多种工具用于符号导航、调用图遍历、结构审计和语义邻域查询。

链接: 网站 · Discord 的中文翻译是“不和谐”或“纷争”。 --来分享一下你是如何使用它的;我们想了解人们的工作流程。

建筑

Architecture

.docs/ARCHITECTURE.md 对于每个模块的细分, TOOLS.md 获取完整的MCP工具参考,以及 THEORY.md 了解每个诊断映射的原理。

特性

  • 混合搜索 -BM25关键词搜索+语义向量相似度(RRF融合)
  • 符号导航 -锈蚀分析仪-支持 find_definition / find_references / rename_symbol (重命名返回预览;不修改任何文件)
  • 持久超图 -HIR驱动的工作空间快照(LMDB),具有跨机箱导入、导出、再导出、调用边、属性、签名、静态和 unsafe
  • 调用图遍历 - who_calls / calls_from / call_graph / callers_in_crate / recursive_callers_count
  • 结构审计 -死公共项、名称冲突、模块阴影、禁止交叉板条箱边缘、罗伯特·马丁不稳定性/抽象性
  • 安全审计 - unsafe_audit, mut_static_audit, recursion_check, channel_capacity_audit, fn_body_audit (打开包装/恐慌/锁定等待检测)
  • 文件和API卫生审核 - missing_docs_audit, derive_audit, pub_use_pub_type_audit, re_export_chain
  • 语义邻居 - similar_to_item 工作空间范围 semantic_overlaps 通过缓存嵌入进行集群
  • 代码映射 - build_codemap 使用Mermaid+轮廓渲染生成任务条件子图(由符号播种,在超图边上展开)
  • 复杂性度量 -LOC、圈复杂度、函数计数
  • 增量索引 -Merkle树变化检测;每5分钟重新同步一次背景

工具

45+MCP工具按类别分组。完整参数参考 TOOLS.md.

类别工具
查询search, get_similar_code, read_file_content
符号分析find_definition, find_references, rename_symbol, get_dependencies, get_call_graph, analyze_complexity
索引生命周期index_codebase, health_check, clear_cache
Hypergraph构建build_hypergraph
进口/出口get_imports, get_exports, get_reexports, get_declared_reexports
反向查找who_imports, who_uses, who_uses_summary
调用图who_calls, calls_from, call_graph, callers_in_crate, recursive_callers_count
工作空间结构dead_pub_in_crate, dead_pub_report, crate_edges, overlaps, module_tree, workspace_stats
架构规则forbidden_dependency_check, crate_dependency_metric
签名和属性function_signature, functions_with_filter, enum_variants, item_attributes, items_with_attribute
安全和质量审计unsafe_audit, mut_static_audit, recursion_check, channel_capacity_audit, fn_body_audit
文件/API审核missing_docs_audit, derive_audit, pub_use_pub_type_audit, re_export_chain
语义similar_to_item, semantic_overlaps
代码映射build_codemap

技能

skills/ 目录发货26 Claude代码技能 将这些MCP工具组合成现成的审计配方。每种技能都是独立的 SKILL.md 有先决条件、分步提示和相关技能的移交——在Claude Code中调用它们 / 一旦安装。

范围技能目的
工作区rmc-workspace-overviewRust工作区的初步审查
工作区rmc-architecture-rules执行板条箱边缘规则
工作区rmc-dependency-metric罗伯特·马丁的《不稳定性/抽象性》
工作区rmc-imports-exports交叉板条箱进出口审核
工作区rmc-type-overlaps名称冲突和模块阴影
工作区rmc-semantic-overlaps通过嵌入相似度进行重复逻辑检测
工作区rmc-snapshot-diff比较两个工作区快照(例如跨分支)
板条箱rmc-crate-audit对一个板条箱进行端到端审核
板条箱rmc-api-surface审核板条箱的公共API
板条箱rmc-module-audit审核单个模块
符号rmc-find-symbol解析符号的限定名
符号rmc-symbol-forensics深入了解一个符号(参考文献、调用者、attrs)
符号rmc-method-api审核类型的方法
符号rmc-trait-audit审计一个特征及其含义
符号rmc-enum-variants检查枚举的变体
符号rmc-rename-symbol预览重命名--精确引用集并重构探测
符号rmc-signature-search按签名形状查找fns
质量rmc-unsafe-audit审计 unsafe 砌块
质量rmc-mut-static-audit审核全局可变状态
质量rmc-attribute-audit审核属性和文档注释
质量rmc-complexity按爆炸半径划分的复杂性热点
质量rmc-test-vs-prod测试与生产分割
质量rmc-call-graphFn级别调用图
质量rmc-reexport-chain追踪 pub use 再出口链
规划rmc-codemap任务条件工作空间子图(节点/边/层次)
规划rmc-refactor-plan利用超图中的证据计划重构

安装 通过将目录符号链接(或复制)到您的Claude Code技能文件夹中:

mkdir -p ~/.claude/skills
ln -s "$(pwd)/skills/"rmc-* ~/.claude/skills/

然后在Claude Code中键入 /rmc- 发现它们,或 /rmc-workspace-overview 开启新回购之旅。

安装

1.构建二进制文件

git clone https://github.com/molaco/rust-code-mcp.git
cd rust-code-mcp
cargo build --release

二进制文件位于 target/release/file-search-mcp.

(可选)将其复制到PATH中的某个位置:

cp target/release/file-search-mcp ~/.local/bin/

2.添加到克劳德代码

在Rust项目目录中,创建 .mcp.json:

{
  "mcpServers": {
    "rust-code-mcp": {
      "command": "/absolute/path/to/file-search-mcp"
    }
  }
}

或者在全球范围内添加 ~/.claude.json 因此,它在所有项目中都可用:

{
  "mcpServers": {
    "rust-code-mcp": {
      "command": "/absolute/path/to/file-search-mcp"
    }
  }
}

3.索引你的代码库

一旦Claude Code启动,服务器就会运行。使用 index_codebase 为项目建立索引的工具:

> index my codebase at /absolute/path/to/my-rust-project

或者直接使用 directory 将参数设置为项目根目录。索引是增量的——后续运行仅处理更改的文件(通过Merkle树更改检测)。后台同步也会每5分钟自动重新索引一次。

4.开始使用它

所有工具都接受 directory 指向项目根的参数。示例:

  • 搜索代码: search 使用类似“解析器中的错误处理”的查询
  • 查找定义: find_definition 对于符号名称
  • 查找引用: find_references 查看符号的所有用法
  • 预览重命名: rename_symbol 返回完整的编辑集,不涉及文件
  • 调用图: get_call_graphwho_calls / calls_from 追踪函数关系
  • 类似代码: get_similar_code 语义相似度搜索

对于Rust特定的工作空间分析,首先调用 build_hypergraph 一次(在后续调用中重用指纹快照),然后运行审计,如 unsafe_audit, dead_pub_report, overlaps, crate_dependency_metric,或 semantic_overlaps.代码映射工具(build_codemap)生成一个由感兴趣的符号播种的美人鱼可渲染子图。

索引数据存储在 ~/Library/Application Support/dev.rust-code-mcp.search/ (macOS)或 ~/.local/share/search/ (Linux),以项目路径的哈希值为键——它从不写入您的项目目录。持久超图与之共存(在 graph//,在LMDB中)。 clear_cache 随着 include_hypergraph=true 擦拭两者。

提供Nix薄片,便于安装:

# Enter dev shell with all dependencies
nix develop github:molaco/rust-code-mcp

# Build the binary
nix build github:molaco/rust-code-mcp

dev shell包括夜间Rust和CUDA支持。

GPU加速

嵌入生成使用ONNX Runtime和CUDA支持,在NVIDIA GPU上实现10-15倍的索引速度。

需求

  • NVIDIA GPU(Maxwell或更新版本)
  • CUDA 12.x+cuDNN 9.x
  • ort crate将ONNX运行时二进制文件下载到 ~/.cache/ort.pyke.io/

MCP服务器CUDA配置

为了使CUDA在Claude Code(或其他MCP客户端)生成MCP服务器时工作 LD_LIBRARY_PATH 必须包括:

  1. ORT 缓存 -包含 libonnxruntime_providers_shared.solibonnxruntime_providers_cuda.so
  2. CUDA图书馆 - libcudart.so, libcublas.so, libcublasLt.so
  3. cuDNN库 - libcudnn.so

选项1:使用flake.nix(推荐)

包括 flake.nix 自动生成 .mcp.json 与正确 LD_LIBRARY_PATH:

nix develop
# Generates .mcp.json with dynamically discovered ORT cache path

选项2:手动配置

首先,找到ORT缓存路径:

find ~/.cache/ort.pyke.io/dfbin -name "libonnxruntime_providers_shared.so" -printf '%h\n' | head -1
# Example output: /home/user/.cache/ort.pyke.io/dfbin/x86_64-unknown-linux-gnu/8BBB.../onnxruntime/lib

然后配置您的MCP客户端(例如。, ~/.claude.json 克劳德代码):

{
  "mcpServers": {
    "rust-code-mcp": {
      "command": "/path/to/file-search-mcp",
      "args": [],
      "env": {
        "RUST_LOG": "info",
        "CUDA_HOME": "/usr/local/cuda",
        "CUDA_PATH": "/usr/local/cuda",
        "LD_LIBRARY_PATH": "/home/user/.cache/ort.pyke.io/dfbin/x86_64-unknown-linux-gnu//onnxruntime/lib:/usr/local/cuda/lib64:/usr/lib/x86_64-linux-gnu"
      }
    }
  }
}

替换:

  • /path/to/file-search-mcp 使用您的二进制路径
  • ` 哈希值来自 find` 上面的命令
  • CUDA路径与系统的CUDA安装
注: 更新ONNX运行时,ORT缓存哈希值会发生变化。如果CUDA停止工作,请重新运行 find 命令获取新路径。

演出

模式吞吐量
仅限CPU~50块/秒
GPU(RTX 3090)~500块/秒(全流水线)
GPU隔离嵌入~8000块/秒

堆栈

截图

Screenshot

More screenshots

Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

许可证

麻省理工学院

目录标签

目录标签

代码搜索RustClaude静态分析本地部署Rust工具语义搜索代码审核

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

50

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP