Repomix代码评审服务器添加福利群:解决AI开发者的「MCP实战痛点」一个使用 Repomix 和大型语言模型 (LLM) 进行代码审查的自定义 MCP 服务器。
# 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 文件以设置您首选的 LLM 提供商和 API 密钥:
# LLM Provider Configuration
LLM_PROVIDER=OPEN_AI
OPENAI_API_KEY=your_openai_api_key_here

代码审查服务器实现了 Model Context Protocol (MCP),可以与任何 MCP 客户端一起使用:
# Start the server
node build/index.js

该服务器提供了两个主要工具:
analyze_repo: 使用 Repomix 扁平化代码库code_review: 使用 LLM 进行代码审查此服务器提供了两个不同的工具,用于满足不同的代码分析需求:
在以下情况下使用此工具:
示例场景:
在以下情况下使用此工具:
示例场景:
何时使用参数:
specificFiles: 当你只想审查某些文件而不是整个仓库时fileTypes: 当你想专注于特定文件扩展名(如 .js, .ts)时detailLevel: 使用 'basic' 进行快速概览或 'detailed' 进行深入分析focusAreas: 当你想优先考虑某些方面(安全、性能等)时为了测试目的,您可以使用附带的 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
代码审查服务器直接与多个LLM提供商的API集成:
在.env文件中配置您首选的LLM提供商:
# 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
code_review工具使用Repomix处理代码,以扁平化仓库结构。实现包括针对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