使用说明

项目简介

本项目 'mcp-code-review-server' 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专注于提供代码评审服务。它集成了 Repomix 代码库分析工具和多种大型语言模型 (LLM),能够对代码仓库进行深入分析和评审,并以结构化的 JSON 格式返回评审结果。该服务器旨在作为 LLM 应用的后端,提供标准化的上下文信息和代码分析能力。

主要功能点

  • 代码库扁平化分析: 利用 Repomix 工具将复杂的代码仓库结构扁平化,方便 LLM 理解和分析。
  • LLM 代码审查: 集成 OpenAI, Anthropic, Gemini 等多种 LLM 提供商,使用先进的语言模型进行代码审查,发现潜在问题。
  • 结构化评审报告: 以 JSON 格式返回详细的代码评审报告,包括代码总结、问题列表(问题类型、严重程度、描述、行号、建议修复方案)、代码优点和总体改进建议。
  • 多维度代码分析: 支持从安全、性能、代码质量和可维护性等多个维度进行代码审查。
  • 灵活的配置: 允许用户配置 LLM 提供商、API 密钥和模型选择,以及代码审查的详细程度和关注领域。
  • MCP 标准协议: 遵循 MCP 协议,易于与任何 MCP 客户端集成,实现标准化的上下文服务。
  • CLI 工具: 提供命令行工具用于快速测试代码审查功能。

安装步骤

  1. 克隆仓库
    git clone https://github.com/crazyrabbitLTC/mcp-code-review-server.git
    cd mcp-code-review-server
  2. 安装依赖
    npm install
  3. 构建项目
    npm run build
  4. 配置环境变量 复制 '.env.example' 文件并重命名为 '.env',根据需要配置 LLM 提供商和 API 密钥。例如,使用 OpenAI:
    cp .env.example .env
    编辑 '.env' 文件,设置 'LLM_PROVIDER' 和 'OPENAI_API_KEY':
    LLM_PROVIDER=OPEN_AI
    OPENAI_API_KEY=your_openai_api_key_here
    支持的 'LLM_PROVIDER' 包括 'OPEN_AI', 'ANTHROPIC', 'GEMINI',请根据您选择的提供商配置相应的 API 密钥。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 'mcp-code-review-server' 服务器。

{
  "server name": "code-review-server",  // MCP 服务器名称,与 server.name 保持一致
  "command": "node",                   // 启动服务器的命令,这里使用 Node.js 运行时
  "args": ["build/index.js"]         // 启动命令的参数,指向编译后的服务器入口文件
}

基本使用方法

  1. 启动 MCP 服务器 在项目根目录下运行以下命令启动服务器:

    node build/index.js

    服务器默认通过 Stdio 传输协议与客户端通信。

  2. 使用 MCP 客户端连接 配置 MCP 客户端,使其连接到本服务器。客户端可以通过 MCP 协议向服务器发送请求,例如:

    • 列出资源 (ListResources): 获取代码文件列表。
    • 读取资源 (ReadResource): 读取指定代码文件的内容。
    • 列出工具 (ListTools): 获取可用的工具列表,例如 'analyze_repo' 和 'code_review'。
    • 调用工具 (CallTool): 调用 'analyze_repo' 工具分析代码仓库,或调用 'code_review' 工具进行代码审查。
    • 获取 Prompt (GetPrompt): 获取预定义的 Prompt 模板,用于指导 LLM 进行特定类型的代码审查。
  3. 通过工具进行代码审查 客户端可以调用 'code_review' 工具,并提供代码仓库路径、文件类型、审查详细程度和关注领域等参数,服务器将使用配置的 LLM 模型对代码进行审查,并将结构化的 JSON 结果返回给客户端。

    例如,调用 'code_review' 工具的请求参数可能如下:

    {
      "name": "code_review",
      "arguments": {
        "repoPath": "./path/to/your/repo",
        "fileTypes": [".js", ".ts"],
        "detailLevel": "detailed",
        "focusAreas": ["security", "performance"]
      }
    }
  4. 查看代码评审结果 服务器返回的 JSON 响应包含了详细的代码评审结果,客户端可以解析并展示这些结果,例如以用户友好的界面呈现代码问题、建议和代码质量评分。

使用 CLI 工具 (可选)

为了方便测试,项目还包含了一个 CLI 工具。可以使用以下命令运行 CLI 工具进行代码审查:

node build/cli.js <repo_path> [options]

具体选项和用法请参考 'README.md' 或运行 'node build/cli.js --help' 查看帮助信息。

信息

分类

开发者工具