Code Review MCP Server

Code Review MCP Server

使用 Repomix 和 LLM 分析代码库,提供结构化的代码审查,其中包含具体问题和建议,并支持包括 OpenAI、Anthropic 和 Gemini 在内的多个 LLM 提供商。

Category
访问服务器

README

代码审查服务器

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

功能特性

  • 使用 Repomix 扁平化代码库
  • 使用大型语言模型分析代码
  • 获取包含具体问题和建议的结构化代码审查
  • 支持多种 LLM 提供商(OpenAI、Anthropic、Gemini)
  • 处理大型代码库的分块

安装

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

# 安装依赖
npm install

# 构建服务器
npm run build

配置

在根目录下创建一个 .env 文件,基于 .env.example 模板:

cp .env.example .env

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

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

使用方法

作为 MCP 服务器

代码审查服务器实现了模型上下文协议 (MCP),可以与任何 MCP 客户端一起使用:

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

服务器公开两个主要工具:

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

何时使用 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

开发

# 运行测试
npm test

# 观察模式进行开发
npm run watch

# 运行 MCP 检查器工具
npm run inspector

LLM 集成

代码审查服务器直接与多个 LLM 提供商 API 集成:

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

提供商配置

.env 文件中配置您首选的 LLM 提供商:

# 设置要使用的提供商
LLM_PROVIDER=OPEN_AI  # 选项:OPEN_AI、ANTHROPIC 或 GEMINI

# 提供商 API 密钥(为所选提供商添加您的密钥)
OPENAI_API_KEY=your-openai-api-key
ANTHROPIC_API_KEY=your-anthropic-api-key
GEMINI_API_KEY=your-gemini-api-key

模型配置

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

# 可选:覆盖默认模型
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": "代码及其用途的简要摘要",
  "issues": [
    {
      "type": "SECURITY|PERFORMANCE|QUALITY|MAINTAINABILITY",
      "severity": "HIGH|MEDIUM|LOW",
      "description": "问题的描述",
      "line_numbers": [12, 15],
      "recommendation": "推荐的修复方法"
    }
  ],
  "strengths": ["代码优点的列表"],
  "recommendations": ["总体建议的列表"]
}

许可证

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选