项目简介

Rust MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端服务,专注于为 Rust 编程语言提供一系列开发工具能力。它允许支持 MCP 协议的 LLM 客户端(如 AI 编码助手或集成开发环境)通过标准化的 JSON-RPC 接口调用 Rust 项目的语法检查、代码 Lint、格式化、测试和构建等功能。

主要功能点

该服务器提供以下 Rust 开发工具作为 MCP 的工具 (Tools):

  • 'cargo_check': 执行 'cargo check' 命令,用于检查 Rust 代码的语法和类型错误,提供详细的错误信息。
  • 'cargo_clippy': 执行 'cargo clippy' 命令,运行 Rust 代码 Lint 工具,帮助发现潜在问题和改进建议,支持自动修复。
  • 'rustfmt': 执行 'cargo fmt' 命令,根据 Rust 标准风格或项目配置格式化代码,支持检查格式是否规范。
  • 'cargo_test': 执行 'cargo test' 命令,运行 Rust 项目的测试,显示测试结果和输出。
  • 'cargo_build': 执行 'cargo build' 命令,编译 Rust 项目,支持 Debug 或 Release 模式构建,提供构建状态和错误详情。

安装步骤

  1. 前提条件:
    • 已安装 Rust 工具链 ('rustc', 'cargo', 'clippy', 'rustfmt')。
    • 系统支持 Tokio 异步运行时(Rust 安装通常包含)。
  2. 从源码构建:
    • 克隆仓库:'git clone https://github.com/lh/rust-mcp-server'
    • 进入目录:'cd rust-mcp-server'
    • 构建项目:'cargo build --release'
    • 构建成功后,可执行文件位于 './target/release/rust-mcp-server'。

服务器配置

MCP 客户端需要配置如何启动该服务器进程。典型的客户端配置需要指定服务器名称、可执行文件路径以及启动参数。

以下是一个示例配置结构,您需要在 MCP 客户端中进行相应的设置:

  • 'name': 服务器的唯一名称,例如 'rust-tools'。
  • 'command': 服务器可执行文件的绝对路径,例如 '/path/to/rust-mcp-server/target/release/rust-mcp-server'。
  • 'args': 传递给服务器的启动参数列表。
    • 通常需要 '--project-path <PATH>' 参数,指定 Rust 项目所在的根目录。例如 '["--project-path", "/path/to/your/rust/project"]'。

重要: 具体配置方式取决于您的 MCP 客户端实现。请参考您的客户端文档进行设置。上述信息提供了配置所需的核心内容(服务器名称、启动命令和参数)。

基本使用方法

服务器启动并连接到 MCP 客户端后,LLM 可以通过发送 MCP 的 JSON-RPC 请求来调用工具。

  • 初始化: 客户端发送 'initialize' 请求以建立连接和获取服务器能力。
  • 列出工具: 客户端发送 'tools/list' 请求以获取服务器提供的所有工具列表及其描述和参数 schema。
  • 调用工具: 客户端发送 'tools/call' 请求,指定工具名称(如 'cargo_check')和相应的参数(如 '{ "workspace": true }')来执行特定操作。

对于用户而言,通常是通过 MCP 客户端(如集成的 AI 助手)的自然语言交互或特定界面触发这些工具调用。例如,在支持该服务器的 AI 助手中,您可以直接输入:

  • “检查这段 Rust 代码有没有错误” → 客户端可能调用 'cargo_check' 工具。
  • “格式化我的 Rust 文件” → 客户端可能调用 'rustfmt' 工具。
  • “运行项目测试” → 客户端可能调用 'cargo_test' 工具。

服务器会执行相应的命令并将结果(成功状态、退出码、标准输出、标准错误)返回给客户端,客户端再将这些信息呈现给用户或用于进一步处理。

信息

分类

开发者工具