返回 MCP 目录
public公开dns本地运行

mcp-code-review-server

一个基于MCP协议的代码审查服务器,利用Repomix和大型语言模型对代码进行结构化分析并提供审查建议。

article

README

🚀 代码审查服务器

代码审查服务器是一个自定义的MCP服务器,它借助Repomix和大型语言模型(LLM)开展代码审查工作。通过该服务器,用户能够对代码库进行全面分析,获取结构化的审查结果,包含具体问题和改进建议。

✨ 主要特性

  • 代码库扁平化:使用Repomix将代码库进行扁平化处理。
  • 代码智能分析:利用大型语言模型对代码进行深入分析。
  • 结构化审查结果:获得包含具体问题和建议的结构化代码审查结果。
  • 多LLM供应商支持:支持多种LLM供应商,如OpenAI、Anthropic、Gemini。
  • 大代码库处理:具备处理大代码库分块的能力。

📦 安装指南

# 克隆仓库
git clone https://github.com/yourusername/code-review-server.git
cd code-review-server

# 安装依赖
npm install

# 构建服务器
npm run build

📚 详细文档

配置

基于.env.example模板创建根目录下的.env文件:

cp .env.example .env

编辑.env文件以设置首选的LLM供应商和API密钥:

# LLM 供应商配置
LLM_PROVIDER=OPEN_AI
OPENAI_API_KEY=your_openai_api_key_here

使用方法

作为MCP服务器

该代码审查服务器实现Model Context Protocol (MCP),可与任何MCP客户端一起使用:

# 启动服务器
node build/index.js

服务器提供两个主要工具:

  1. analyze_repo:使用Repomix扁平化代码库
  2. code_review:利用LLM执行代码审查

使用情况指南

analyze_repo

当需要以下功能时使用此工具:

  • 获取代码库的总体概览
  • 了解代码库的目的和结构
  • 分析代码库的主要组成部分

示例用法:

# 示例命令
node build/index.js analyze_repo --path /path/to/your/repo
code_review

当需要以下功能时使用此工具:

  • 深入分析代码质量
  • 识别潜在问题和漏洞
  • 获取改进建议

示例用法:

# 示例命令
node build/index.js code_review --path /path/to/your/repo --focus SECURITY,MAINTAINABILITY

LLM 集成细节

  1. 模型选择与配置
    • 默认使用供应商提供的特定版本,如OpenAI的gpt-4-turbo、Anthropic的claude-3-sonnet和Gemini的gemini-1.5-flash-preview
    • 允许用户通过环境变量覆盖默认模型选择。
  2. API 调用与错误处理
    • 实现了重试逻辑,增强API调用的稳定性。
    • 包括请求超时和错误处理机制,确保服务可靠性。
  3. 代码处理流程
    • 使用Repomix工具将代码库转换为线性文本,便于模型分析。
    • 根据上下文窗口限制对代码进行分块处理,确保模型能够有效处理。

代码审查输出格式

代码审查结果以结构化的JSON格式返回:

{
  "summary": "代码库的简要总结和目的描述",
  "issues": [
    {
      "type": "SECURITY|PERFORMANCE|QUALITY|MAINTAINABILITY",
      "severity": "HIGH|MEDIUM|LOW",
      "description": "问题的具体描述",
      "line_numbers": [12, 15],
      "recommendation": "建议的修复方案"
    }
  ],
  "strengths": ["代码库的优点列表"],
  "recommendations": ["总体改进建议"]
}

📄 许可证

本项目采用MIT许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端