关于 Code Review Server
Code Review Server 是一个 MCP 服务,使用 Repomix 打包代码库,并调用 OpenAI、Anthropic 或 Gemini 的 LLM 生成结构化代码审查。它适合希望借助大模型对仓库进行问题检查和改进建议的开发者。
主要功能
- 01使用 Repomix 将代码库展平为文本
- 02支持 OpenAI、Anthropic 和 Gemini 提供商
- 03按问题类型与严重程度输出结构化审查
- 04对大型代码库进行分块处理
- 05可指定文件、文件类型、详细程度与关注领域
适用场景
- 01审查仓库中的安全漏洞与性能问题
- 02在审查前快速了解代码库结构
- 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
该服务提供两个主要工具:
analyze_repo:使用 Repomix 展平代码库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 集成的工作方式
code_review工具使用 Repomix 处理代码,将仓库结构展平- 对代码进行格式化,并在必要时分块,以适应 LLM 上下文限制
- 根据关注领域和详细程度生成详细提示词
- 将提示词和代码直接发送到你所选提供商的 LLM API
- 将 LLM 响应解析为结构化格式
- 以包含问题、优点和建议的 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。