关于 Rust MCP Server
面向 Rust 开发者及 IDE、AI 助手的 MCP 服务,可通过统一接口运行代码检查、Lint、格式化、测试和构建。工具支持工作区操作,并返回标准化结果。
主要功能
- 01语法与类型检查
- 02Clippy 代码检查及修复
- 03Rust 代码格式化
- 04运行测试并筛选用例
- 05调试或发布模式构建
适用场景
- 01检查 Rust 项目的编译错误
- 02发现并修复常见代码问题
- 03统一文件或工作区格式
- 04运行指定测试或工作区测试
MCP 相关
该 MCP 服务通过 stdin/stdout 上的 JSON-RPC 提供 Rust 开发工具,供 MCP 客户端调用 cargo_check、cargo_clippy、rustfmt、cargo_test 和 cargo_build。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Rust MCP 服务
一个模型上下文协议(MCP)服务,为 AI 助手和 IDE 提供必备的 Rust 开发工具。此服务通过标准化的 MCP 接口,支持对 Rust 项目进行实时语法检查、代码 lint、格式化、测试和构建。
功能
可用工具
-
cargo_check - 语法和类型验证
- 验证 Rust 代码语法并进行类型检查
- 支持检查整个工作区
- 提供详细的错误消息和建议
-
cargo_clippy - 代码 lint
- 捕获常见错误并提出改进建议
- 在可能的情况下支持自动修复
- 可配置 lint 级别和规则
-
rustfmt - 代码格式化
- 根据样式指南格式化 Rust 代码
- 可检查格式,但不应用更改
- 支持格式化单个文件或整个项目
-
cargo_test - 测试执行
- 运行 Rust 测试并提供详细输出
- 支持指定测试模式和软件包
- 可配置输出捕获,以便调试
-
cargo_build - 项目构建
- 以调试或发布模式构建 Rust 项目
- 支持工作区构建
- 提供构建状态和错误详情
安装
前置条件
- Rust 工具链(rustc、cargo、clippy、rustfmt)
- Tokio 异步运行时支持
从源代码构建
git clone https://github.com/lh/rust-mcp-server
cd rust-mcp-server
cargo build --release
Claude Code 集成
快速安装
# Clone and build the server
git clone https://github.com/lh/rust-mcp-server
cd rust-mcp-server
cargo build --release
# Add to Claude Code (adjust the project path as needed)
claude mcp add rust-tools -s user -- $(pwd)/target/release/rust-mcp-server --project-path ~/Code
# Verify installation
claude mcp list | grep rust-tools
其他安装方式
使用绝对路径:
claude mcp add rust-tools -s user -- /path/to/rust-mcp-server/target/release/rust-mcp-server --project-path /path/to/your/rust/projects
项目专属安装:
# Navigate to your Rust project
cd /path/to/your/rust/project
# Add the server with current directory as project path
claude mcp add rust-tools -s project -- /path/to/rust-mcp-server/target/release/rust-mcp-server --project-path .
验证连接
安装后,重启 Claude Code 并检查服务状态:
/mcp
你应该会在列表中看到 rust-tools: connected。
用法
命令行
# Run in current directory
./target/release/rust-mcp-server
# Specify project path
./target/release/rust-mcp-server --project-path /path/to/rust/project
与 Claude Code 搭配使用
安装后,你可以使用自然语言调用 Rust 工具:
- “检查这段 Rust 代码是否有错误” → 运行
cargo check - “对我的 Rust 项目进行 lint” → 运行
cargo clippy - “格式化这个 Rust 文件” → 运行
rustfmt - “运行测试” → 运行
cargo test - “以发布模式构建项目” → 运行
cargo build --release
MCP 集成
此服务遵循 MCP 协议,通过 stdin/stdout 使用 JSON-RPC 进行通信:
初始化
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {}
}
列出可用工具
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}
执行工具
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "cargo_check",
"arguments": {
"workspace": true
}
}
}
工具参数
cargo_check
{
"target": "", // Optional specific target
"workspace": false // Check all workspace packages
}
cargo_clippy
{
"fix": false, // Auto-apply fixes
"workspace": false, // Run on all packages
"deny": [] // Lint levels to deny
}
rustfmt
{
"file": "", // Specific file to format
"check": false // Check without applying
}
cargo_test
{
"test_name": "", // Specific test pattern
"package": "", // Specific package
"workspace": false, // Test all packages
"nocapture": false // Don't capture output
}
cargo_build
{
"release": false, // Build in release mode
"workspace": false // Build all packages
}
输出格式
所有工具都会返回标准化的 JSON 响应:
{
"success": true,
"exit_code": 0,
"stdout": "compilation output...",
"stderr": "warnings and errors...",
"command": "cargo check"
}
集成示例
Claude Code 集成
此服务旨在与 Claude Code 等 AI 助手无缝协作,在代码开发过程中提供实时反馈:
- 语法验证:编写代码时自动检查
- Lint 建议:获取改进建议并应用修复
- 代码格式化:确保代码风格一致
- 测试执行:验证更改不会破坏现有功能
- 构建验证:确认项目能够成功编译
VS Code 扩展
可通过 MCP 与 VS Code 集成,在现有语言服务的基础上提升 Rust 开发体验。
错误处理
此服务会提供以下错误的详细信息:
- 无效的工具名称
- 缺少必需参数
- 编译错误
- 进程执行失败
- 文件系统错误
故障排除
服务未连接
如果你在 Claude Code 中看到连接错误:
-
确保二进制文件已构建:
cd /path/to/rust-mcp-server cargo build --release ls -la target/release/rust-mcp-server # Should exist and be executable -
检查 -- 分隔符:
# ✅ Correct claude mcp add rust-tools -- /path/to/rust-mcp-server/target/release/rust-mcp-server # ❌ Incorrect (missing --) claude mcp add rust-tools /path/to/rust-mcp-server/target/release/rust-mcp-server -
手动测试服务:
cd /path/to/rust-mcp-server python3 test_server.py -
检查日志: 运行
claude --mcp-debug时查看是否有错误消息
常见问题
- “cargo: command not found”:确保已安装 Rust,且 Rust 位于 PATH 中
- “failed to find cargo.toml”:确保
--project-path指向一个 Rust 项目 - 服务立即断开连接:检查二进制文件路径是否为绝对路径,而非相对路径
- 服务已连接,但没有可用工具:这是 v0.1.0 中的一个错误,服务在成功响应中包含了
"error": null,违反了 JSON-RPC 2.0 规范。此问题已在 v0.1.1 中修复。
贡献
- Fork 此仓库
- 创建一个功能分支
- 实现你的更改
- 适用时添加测试
- 提交拉取请求
许可证
MIT 许可证
更新日志
v0.1.1(fix/json-rpc-error-field)
- 修复了 JSON-RPC 2.0 兼容性问题:成功响应中错误地包含了
error: null - 此修复解决了与 Claude Code 的连接问题:服务虽能连接,但工具不可用
- 为 McpResponse 中的错误字段添加了
#[serde(skip_serializing_if = "Option::is_none")]
v0.1.0
- 首次发布
- MCP 服务核心实现
- 支持 cargo check、clippy、rustfmt、test 和 build
- 通过 stdin/stdout 进行 JSON-RPC 通信
- 可配置项目路径
- 完善的错误处理
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。