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

Rust MCP Server

MCP Server

一个基于Rust编写的模型上下文协议(MCP)服务器,提供AI辅助的代码分析工具,支持Rust项目的语法检查、工作区索引、代码导航、代码异味检测和重构建议。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
RustVS Code代码分析VS Code

安装说明

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

作者 / 组织

MythEclipse

提供方

MythEclipse

最后核验

2026/5/17 20:31

运行时

Docker

快速接入

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

命令预览

docker run --rm -i mytheclipse/rust-mcp-server:latest

详细介绍

Rust MCP服务器

一个用Rust编写的模型上下文协议(MCP)服务器,为Rust项目提供AI辅助的代码分析工具。此服务器使AI代理能够对Rust代码库执行高级代码分析、导航和重构建议。

特性

  • 文件分析:解析Rust文件并检查语法错误
  • 工作区索引:构建全面的调用图、类型使用图和模块依赖关系图
  • 代码导航:查找符号的定义和参考
  • 代码气味检测:识别未使用的函数、长函数、高复杂度代码和god对象
  • 重构建议:代码改进的自动建议

建筑

服务器使用:

  • rmcp MCP协议处理机箱
  • 同步 用于Rust AST解析
  • 东京 用于异步操作
  • 线程安全缓存 RwLock
  • AST遍历的访问者模式

Docker部署

该项目包括Docker支持,便于部署:

  • 多级Dockerfile:通过单独的构建和运行时阶段优化构建过程
  • 夜锈:每晚使用Rust与最新的MCP SDK功能(2024版)兼容
  • Docker Compose:开发和生产的简单编排
  • 最小运行时映像:基于Debian slim,适用于较小的图像大小
  • 无外露端口:MCP通信通过容器内的stdio进行

安装

先决条件

  • Docker和Docker Compose(用于Docker Hub)
  • Git(可选,用于开发)
  • Rust 1.70+(仅当从源代码构建时)

备注对于大多数用户来说,Docker是唯一的要求。Docker镜像每晚使用Rust来支持最新的MCP SDK功能。

Docker Hub安装(推荐)

# Method 1: Direct run (downloads automatically)
docker run --rm -i mytheclipse/rust-mcp-server:latest

# Method 2: Pull first, then run
docker pull mytheclipse/rust-mcp-server:latest
docker run --rm -i mytheclipse/rust-mcp-server:latest

# Method 3: Using Docker Compose
docker run --rm -i -v $(pwd):/workspace mytheclipse/rust-mcp-server:latest

开发安装

# Clone repository
git clone https://github.com/MythEclipse/rust-mcp-server.git
cd rust-mcp-server

# Run with Docker Compose (recommended for development)
docker-compose up --build

# Or build and run manually
docker build -t rust-mcp-server .
docker run --rm -i rust-mcp-server

手动构建(高级用户)

如果您更喜欢从源代码构建:

先决条件

  • Rust 1.70+(2024年版)
  • 货物

从源代码构建

git clone https://github.com/MythEclipse/rust-mcp-server.git
cd rust-mcp-server
cargo build --release
./target/release/rust-mcp-server

用法

运行MCP服务器

Docker Hub(推荐)

# Run the latest version from Docker Hub
docker run --rm -i mytheclipse/rust-mcp-server:latest

# Run with workspace volume mounting (for file analysis)
docker run --rm -i -v $(pwd):/workspace mytheclipse/rust-mcp-server:latest

# Run in background
docker run -d --name rust-mcp-server mytheclipse/rust-mcp-server:latest

# Stop background container
docker stop rust-mcp-server && docker rm rust-mcp-server

使用Docker Compose进行开发

# Clone repository (for development)
git clone https://github.com/MythEclipse/rust-mcp-server.git
cd rust-mcp-server

# Run with hot reload
docker-compose up --build

# Run in background
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down

手动运行(高级)

如果你从源代码构建:

# Run the compiled binary
./target/release/rust-mcp-server

# Or run with Cargo
cargo run

MCP协议集成

该服务器实现了模型上下文协议(MCP),并通过stdio使用JSON-RPC 2.0进行通信。它旨在与MCP兼容的客户端(如AI编码助手)集成。

可用工具

1.检查文件

解析并检查Rust文件的语法错误。

参数:

  • path:要检查的Rust文件的绝对路径

MCP呼叫示例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "check_file",
    "arguments": {
      "path": "/path/to/your/file.rs"
    }
  }
}

示例响应:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "File parsed successfully with no syntax errors."
      }
    ]
  }
}

2.索引工作区

为目录中的所有Rust文件建立索引,并构建全面的分析图。

参数:

  • root:索引的根目录路径

MCP呼叫示例:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "index_workspace",
    "arguments": {
      "root": "/path/to/rust/project"
    }
  }
}

退货:

  • 调用图(函数关系)
  • 类型使用图(使用类型的地方)
  • 模块依赖关系图
  • 功能信息(复杂性、行数、参数)
  • 结构和枚举信息
  • 未使用功能检测
  • 重构建议

3.转到定义

查找符号的定义位置。

参数:

  • name:要查找定义的符号名称

MCP呼叫示例:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "goto_definition",
    "arguments": {
      "name": "MyStruct"
    }
  }
}

4.查找参考文献

查找对符号的所有引用。

参数:

  • name:用于查找引用的符号名称

MCP呼叫示例:

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "find_references",
    "arguments": {
      "name": "my_function"
    }
  }
}

实际使用示例

分析Rust项目

  1. 启动MCP服务器:
cargo run
  1. 为您的工作空间建立索引 (在另一个终端或MCP客户端中):
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "index_workspace",
    "arguments": {
      "root": "/home/user/my-rust-project"
    }
  }
}
  1. 检查特定文件中的语法错误:
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "check_file",
    "arguments": {
      "path": "/home/user/my-rust-project/src/main.rs"
    }
  }
}
  1. 查找函数的定义位置:
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "goto_definition",
    "arguments": {
      "name": "process_data"
    }
  }
}

与AI助手集成

该服务器旨在与支持MCP的AI编码助手配合使用。以下是它通常的集成方式:

  1. AI助手启动MCP服务器 作为子流程
  2. 通过stdio进行通信 使用JSON-RPC 2.0
  3. 助手可以调用工具 分析代码、导航和获取建议
  4. 使用结果 提供智能代码辅助

命令行测试

您可以使用以下工具手动测试服务器 socat 或者通过编写一个简单的客户端。出于开发目的,您还可以使用内置测试:

# Run all tests
cargo test

# Run specific tool tests
cargo test test_index_workspace
cargo test test_check_file

代码分析输出

当您为工作区建立索引时,服务器会返回全面的分析,包括:

功能分析:

  • 长度超过50行的函数
  • 复杂度>10的函数
  • 具有>5个参数的函数

结构分析:

  • 字段数>10的结构
  • 包含>10个变体的枚举

依赖性分析:

  • 调用>10个其他函数的函数
  • 由>10个其他函数调用的函数
  • 在>10个地方使用的结构(上帝对象)

未使用的代码:

  • 从未被调用的私有函数

错误处理

服务器返回无效请求的结构化错误:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Invalid params",
    "data": {
      "details": "Path does not exist"
    }
  }
}

发展

建筑

使用Docker

# Build the Docker image
docker build -t rust-mcp-server .

# Or use Docker Compose
docker-compose build

手动构建

cargo build

测试

使用Docker

# Run tests in Docker container (for development)
docker run --rm -v $(pwd):/app mytheclipse/rust-mcp-server:latest cargo test

手动测试

cargo test

开发工作流程

  1. 对代码进行更改
  2. 本地测试:
   cargo test
  1. 构建Docker镜像:
   docker build -t rust-mcp-server .
  1. 测试Docker镜像:
   docker run rust-mcp-server

代码分析功能

服务器执行几种类型的代码分析:

  1. 功能分析

- 行数检测(标记>50行) - 圈复杂度计算(标记>10) - 参数计数分析(标记>5个参数)

  1. 结构分析

- 大结构检测(>10个字段) - 大枚举检测(>10个变体)

  1. 相关性分析

- 函数调用了太多其他函数(>10个被调用者) - 被太多其他人调用的函数(>10个调用者) - 上帝对象检测(结构体在>10个地方使用)

  1. 未使用代码检测

- 从未被调用的私有函数

配置

MCP客户端配置

要将此MCP服务器与MCP兼容的客户端一起使用,请将其配置为运行Docker容器:

适用于克劳德桌面(Claude_Desktop_config.json)

{
  "mcpServers": {
    "rust-mcp-server": {
      "command": "docker",
      "args": ["run", "--rm", "mytheclipse/rust-mcp-server:latest"]
    }
  }
}

适用于VS Code或其他MCP客户端

{
  "mcpServers": {
    "rust-mcp-server": {
      "command": "docker",
      "args": ["run", "--rm", "mytheclipse/rust-mcp-server:latest"]
    }
  }
}

使用Docker Compose

如果你更喜欢使用Docker Compose:

{
  "mcpServers": {
    "rust-mcp-server": {
      "command": "docker-compose",
      "args": ["exec", "rust-mcp-server", "rust-mcp-server"],
      "cwd": "/path/to/rust-mcp-server"
    }
  }
}

配置参数

  • command:要运行的可执行文件(dockerdocker-compose)
  • args:传递给命令的参数数组
  • cwd:当前工作目录-仅用于docker compose安装,应指向包含以下内容的目录 docker-compose.yml

环境变量

服务器基本操作不需要任何环境变量。但是,您可以设置:

  • RUST_LOG:设置日志记录级别(例如。, info, debug, trace)

Docker镜像管理

# Build the image locally
docker build -t rust-mcp-server .

# Pull from Docker Hub
docker pull mytheclipse/rust-mcp-server:latest

# Run with custom environment variables
docker run -e RUST_LOG=debug mytheclipse/rust-mcp-server:latest

# Run with volume mounts (if you need to access host files)
docker run -v /host/path:/container/path mytheclipse/rust-mcp-server:latest

发布到Docker Hub

有关如何将此映像推送到Docker Hub的详细说明,请参阅 .

Docker Hub的官方仓库是: mytheclipse/rust-mcp-server

配置选项

服务器使用默认配置,不需要额外的设置。当调用工具时,所有分析都是按需执行的。

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 确保 cargo test 通过
  6. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

目录标签

目录标签

RustVS Code代码分析本地部署Rust开发AI辅助编程代码重构静态分析

支持客户端

VS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP