mcpField
C
Code Review Server

Code Review Server

本地服务
github.com/crazyrabbitLTC版本控制3483 周前更新

关于 Code Review Server

Code Review Server 是一个 MCP 服务,使用 Repomix 打包代码库,并调用 OpenAI、Anthropic 或 Gemini 的 LLM 生成结构化代码审查。它适合希望借助大模型对仓库进行问题检查和改进建议的开发者。

主要功能

  1. 01使用 Repomix 将代码库展平为文本
  2. 02支持 OpenAI、Anthropic 和 Gemini 提供商
  3. 03按问题类型与严重程度输出结构化审查
  4. 04对大型代码库进行分块处理
  5. 05可指定文件、文件类型、详细程度与关注领域

适用场景

  1. 01审查仓库中的安全漏洞与性能问题
  2. 02在审查前快速了解代码库结构
  3. 03评估代码质量与可维护性

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 analyze_repo 和 code_review 两个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

代码审查服务

一个使用 Repomix 和大模型执行代码审查的自定义 MCP 服务。

功能

  • 使用 Repomix 展平代码库
  • 使用大语言模型分析代码
  • 获取结构化代码审查结果,其中包含具体问题和建议
  • 支持多个大模型提供商(OpenAI、Anthropic、Gemini)
  • 支持对大型代码库进行分块处理

安装

# Clone the repository
git clone https://github.com/yourusername/code-review-server.git
cd code-review-server

# Install dependencies
npm install

# Build the server
npm run build

配置

根据 .env.example 模板,在根目录中创建 .env 文件:

cp .env.example .env

编辑 .env 文件,设置首选的大模型提供商和 API 密钥:

# LLM Provider Configuration
LLM_PROVIDER=OPEN_AI
OPENAI_API_KEY=your_openai_api_key_here

使用方法

作为 MCP 服务

代码审查服务实现了 Model Context Protocol(MCP),可与任何 MCP 客户端搭配使用:

# Start the server
node build/index.js

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

  1. analyze_repo:使用 Repomix 展平代码库
  2. code_review:使用大模型执行代码审查

何时使用 MCP 工具

该服务提供两个不同的工具,满足不同的代码分析需求:

analyze_repo

在以下情况下使用此工具:

  • 了解代码库的整体结构和组织方式
  • 将仓库展平为文本表示,以便进行初步分析
  • 无需详细审查即可了解目录结构和文件内容
  • 为更深入的代码审查做准备
  • 快速扫描代码库,找出需要进一步分析的相关文件

示例场景:

  • “我想在审查之前先了解这个仓库的结构”
  • “显示此代码库中有哪些文件和目录”
  • “给我一份展平后的代码视图,帮助我了解其组织方式”
code_review

在以下情况下使用此工具:

  • 全面评估代码质量
  • 找出具体的安全漏洞、性能瓶颈或代码质量问题
  • 获取可执行的代码改进建议
  • 进行详细审查,并为问题评级
  • 根据最佳实践评估代码库

示例场景:

  • “审查此代码库,找出安全漏洞”
  • “分析这些特定 JavaScript 文件的性能”
  • “对这个仓库进行详细的代码质量评估”
  • “审查我的代码,并告诉我如何提高其可维护性”

参数使用时机:

  • specificFiles:只想审查特定文件,而非整个仓库时使用
  • fileTypes:想要重点关注特定文件扩展名(例如 .js、.ts)时使用
  • detailLevel:快速概览时使用 'basic',深入分析时使用 'detailed'
  • focusAreas:想要优先关注特定方面(安全性、性能等)时使用
使用 CLI 工具

出于测试目的,你可以使用随附的 CLI 工具:

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

选项:

  • --files <file1,file2>:要审查的特定文件
  • --types <.js,.ts>:审查中要包含的文件类型
  • --detail <basic|detailed>:详细程度(默认:detailed)
  • --focus <areas>:要重点关注的方面(security,performance,quality,maintainability)

示例:

node build/cli.js ./my-project --types .js,.ts --detail detailed --focus security,quality

开发

# Run tests
npm test

# Watch mode for development
npm run watch

# Run the MCP inspector tool
npm run inspector

大模型集成

代码审查服务可直接集成多个大模型提供商的 API:

  • OpenAI(默认:gpt-4o)
  • Anthropic(默认:claude-3-opus-20240307)
  • Gemini(默认:gemini-1.5-pro)
提供商配置

在 .env 文件中配置首选的大模型提供商:

# Set which provider to use
LLM_PROVIDER=OPEN_AI  # Options: OPEN_AI, ANTHROPIC, or GEMINI

# Provider API Keys (add your key for the chosen provider)
OPENAI_API_KEY=your-openai-api-key
ANTHROPIC_API_KEY=your-anthropic-api-key
GEMINI_API_KEY=your-gemini-api-key
模型配置

你可以选择为每个提供商指定要使用的模型:

# Optional: Override the default models
OPENAI_MODEL=gpt-4-turbo
ANTHROPIC_MODEL=claude-3-sonnet-20240229
GEMINI_MODEL=gemini-1.5-flash-preview
LLM 集成的工作方式
  1. code_review 工具使用 Repomix 处理代码,将仓库结构展平
  2. 对代码进行格式化,并在必要时分块,以适应 LLM 上下文限制
  3. 根据关注领域和详细程度生成详细提示词
  4. 将提示词和代码直接发送到你所选提供商的 LLM API
  5. 将 LLM 响应解析为结构化格式
  6. 以包含问题、优点和建议的 JSON 对象形式返回审查结果

该实现包含重试逻辑,以应对 API 错误并增强稳定性;同时采用适当的格式,确保审查中包含最相关的代码。

代码审查输出格式

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

{
  "summary": "Brief summary of the code and its purpose",
  "issues": [
    {
      "type": "SECURITY|PERFORMANCE|QUALITY|MAINTAINABILITY",
      "severity": "HIGH|MEDIUM|LOW",
      "description": "Description of the issue",
      "line_numbers": [12, 15],
      "recommendation": "Recommended fix"
    }
  ],
  "strengths": ["List of code strengths"],
  "recommendations": ["List of overall recommendations"]
}

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。