Code Review Server

Code Review Server

镜子 (jìng zi)

MCP-Mirror

开发者工具
访问服务器

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

推荐服务器

Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript