使用说明
Rust MCP服务器
一个模型上下文协议(MCP)服务器,为AI助手和IDE提供基本的Rust开发工具。该服务器通过标准化的MCP接口实现Rust项目的实时语法检查、linting、格式化、测试和构建。
特性
可用工具
-
货检 -语法和类型验证
- 验证Rust代码语法和类型检查
- 支持工作区范围内的检查
- 提供详细的错误消息和建议
-
货运费 -代码linting
- 发现常见错误并提出改进建议
- 在可能的情况下支持自动修复
- 可配置的棉绒水平和规则
-
rustfmt -代码格式
- 根据样式指南格式化Rust代码
- 可以在不应用更改的情况下检查格式
- 支持单个文件或项目范围的格式设置
-
货运测试 -测试执行
- 运行具有详细输出的Rust测试
- 支持特定的测试模式和包
- 用于调试的可配置输出捕获
-
货运大楼 -项目建设
- 在调试或发布模式下构建Rust项目
- 支持工作区构建
- 提供构建状态和错误详细信息
安装
先决条件
- 生锈工具链(生锈、货物、夹子、生锈)
- Tokio异步运行时支持
从源代码构建
git clone https://github.com/lh/rust-mcp-server
cd rust-mcp-server
cargo build --release
Claude代码集成
快速安装
# 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代码
安装后,您可以使用自然语言调用Rust工具:
- “检查此Rust代码是否有错误”→ runs
cargo check - “抓取我的Rust项目”→ runs
cargo clippy - “格式化此Rust文件”→ runs
rustfmt - “运行测试”→ runs
cargo test - “以发布模式构建项目”→ runs
cargo build --release
MCP集成
服务器通过JSON-RPC在stdin/stdout上按照MCP协议进行通信:
初始化
{
"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
}
}
}
刀具参数
货检
{
"target": "", // Optional specific target
"workspace": false // Check all workspace packages
}
货运费
{
"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
}
货运测试
{
"test_name": "", // Specific test pattern
"package": "", // Specific package
"workspace": false, // Test all packages
"nocapture": false // Don't capture output
}
货运大楼
{
"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代码集成
该服务器旨在与Claude Code等AI助手无缝协作,在代码开发过程中提供实时反馈:
- 语法验证:自动检查编写的代码
- 棉绒建议:获取改进建议并应用修复
- 代码格式化:确保代码风格一致
- 测试执行:验证更改不会破坏现有功能
- 构建验证:确认项目编译成功
VS代码扩展
可以通过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:找不到命令”:确保Rust已安装并位于PATH中
- “找不到货物。汤姆”:确保
--project-path指向Rust项目 - 服务器立即断开连接:检查二进制路径是否为绝对路径,而非相对路径
- 服务器已连接,但没有可用的工具:这是v0.1.0中的一个错误,其中服务器包括
"error": null在成功响应中,违反JSON-RPC 2.0规范。已在v0.1.1中修复。
贡献
- 分叉存储库
- 创建要素分支
- 实施您的更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证
更新日志
v0.1.1(修复/json-rpc错误字段)
- 修复了JSON-RPC 2.0合规性问题,其中
error: null被错误地包含在成功的回复中 - 此修复程序解决了Claude Code的连接问题,服务器可以连接,但工具不可用
- 添加
#[serde(skip_serializing_if = "Option::is_none")]到McpResponse中的错误字段
v0.1.0
- 初始版本
- 核心MCP服务器实现
- 支持货物检查、剪切、防锈、测试和构建
- 通过stdin/stdout进行JSON-RPC通信
- 可配置的项目路径
- 全面的错误处理
