关于 Cursor Rust Tools
Cursor Rust Tools 是一个 MCP 服务,让 Cursor 中的 LLM 能够访问 Rust Analyzer、crate 文档和 Cargo 命令。适合在 Cursor 中进行 Rust 开发的用户,它让 LLM 直接获取类型信息,而不必靠猜测推断类型。
主要功能
- 01通过 Rust Analyzer 获取悬停信息(类型与描述)
- 02查询 crate 或特定符号的文档
- 03列出符号的所有引用
- 04按名称在项目中查找类型
- 05运行 cargo test 与 cargo check 并返回输出
适用场景
- 01让 LLM 基于实际类型信息修改 Rust 代码
- 02查询依赖库(如 tokio)当前版本的 API 文档
- 03在 Agent 模式下运行 cargo check 或 cargo test 验证改动
MCP 相关
该项目是一个 MCP 服务,向 Cursor 等 MCP 客户端暴露 LSP 查询、文档查询与 Cargo 命令等工具。项目通过项目目录下的 mcp.json 配置接入客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cursor Rust Tools
一个 MCP 服务,让 Cursor 中的大模型能够访问 Rust Analyzer、Crate 文档和 Cargo 命令。
包含用于配置的 UI。

功能介绍
目前,各种 AI Agent 都无法让 AI 通过 LSP 获取 Rust 类型信息。 这会带来障碍,因为大模型无法直接看到类型,只能推断可能的类型。
此外,关于依赖项(例如 tokio)的信息仅限于训练数据,而这些数据可能已经过时,也可能针对不同的版本。这可能会引发各种问题。
Cursor Rust Tools 通过模型上下文协议(MCP)提供这些信息。
- 获取某个
crate或其中特定符号的文档(例如tokio或tokio::spawn) - 获取文件中特定符号的悬停信息(类型、描述)
- 获取文件中特定符号的所有引用列表
- 获取文件中某个符号的实现(检索包含该实现的整个文件)
- 在项目中的文件里按名称查找类型,并返回悬停信息
- 获取
cargo test的输出 - 获取
cargo check的输出

工作原理
对于 LSP 功能 src/lsp,它会启动一个新的 Rust Analyzer 来索引你的代码库,就像编辑器中运行的 Rust Analyzer 一样。我们无法查询编辑器中运行的那个实例,因为 Rust Analyzer 只能供单个使用者使用(例如,open document 操作需要按正确顺序执行 close document 等)。
对于文档,它会运行 cargo docs,然后在本地将 HTML 文档解析为 Markdown。
这些信息存储在项目根目录下的 .docs-cache 文件夹中。
安装
cargo install --git https://github.com/terhechte/cursor-rust-tools
使用 UI 运行
cursor-rust-tools
这将打开一个 UI,你可以在其中添加项目、安装 mcp.json 并查看活动情况。
不使用 UI 运行
或者,如果你已经设置好包含项目的 ~/.cursor-rust-tools,也可以直接通过以下命令运行:
cursor-rust-tools --no-ui
配置
除了使用 UI 创建配置外,你也可以自行设置 ~/.cursor-rust-tools:
[[projects]]
root = "/Users/terhechte/Developer/Rust/example1"
ignore_crates = []
[[projects]]
root = "/Users/terhechte/Developer/Rust/example2"
ignore_crates = []
ignore_crates 是一个 crate 依赖项名称列表,其中的依赖项不会被索引文档。例如,它们可能过于庞大。
配置 Cursor
应用运行后,你可以配置 Cursor 来使用它。这需要执行多个步骤。
- 在项目中添加
project-dir/.cursor/mcp.json。Cursor Rust ToolsUI 中有一个按钮可以帮你完成此操作。不使用 UI 运行时,终端也会显示mcp.json的内容。 - 保存该文件后,Cursor 会检测到新增了一个 MCP 服务,并询问你是否启用它。(对话框会显示在右下角)。
- 你可以查看 Cursor 设置(在
MCP下),确认它是否正常运行。 - 要进行测试,请确保当前
Chat中已选择Agent Mode。然后你可以让它使用某个新工具,例如cargo_check工具。 - 你可能需要添加 cursor 规则,告诉大模型尽可能优先使用这些工具。我还在试验这种做法。

所有 mcp.json 的内容都相同。Cursor Rust Tools 会根据文件路径确定正确的项目
待办事项
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。