代码审查服务器

一个自动化代码和拉取请求审查的MCP服务器,支持GitHub和Bitbucket,可根据自定义指令进行审查。

  • by connect-raj
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 connect-raj/reviewer-mcp

使用说明

代码审阅器MCP服务器

一个MCP(模型上下文协议)服务器,使用自定义指令自动执行代码并从GitHub和Bitbucket中提取请求审查。

特性

  • 🔍 自动PR审核:根据自定义审核指南分析拉取请求
  • 📝 客户指令:在markdown文件中定义自己的审核标准
  • 🔐 安全检查:检测硬编码秘密、SQL注入、XSS漏洞
  • 🎯 语言特定规则:支持JavaScript、TypeScript、Python等
  • 🔄 双重整合:适用于GitHub和Bitbucket
  • 💬 预览和直接模式:发布前审核或自动发布评论
  • 🎨 IDE集成:从VSCode或任何兼容MCP的IDE使用

安装

  1. 克隆此存储库:

    git clone <your-repo-url>
    cd mcp
    
  2. 安装依赖项:

    pnpm install
    
  3. 配置环境变量:

    cp .env.example .env
    
  4. 编辑 .env 并添加您的凭据:

    • 对于GitHub:添加您的个人访问令牌
    • 对于Bitbucket:添加用户名和应用密码

配置

环境变量

创建一个 .env 文件基于 .env.example:

# GitHub Configuration
GITHUB_TOKEN=your_github_personal_access_token_here

# Bitbucket Configuration
BITBUCKET_USERNAME=your_bitbucket_username
BITBUCKET_APP_PASSWORD=your_bitbucket_app_password
BITBUCKET_WORKSPACE=your_workspace_name

# Review Settings
DEFAULT_INSTRUCTIONS_PATH=.reviewrc.md
REVIEW_MODE=preview

客户指令

创建一个 .reviewrc.md 在项目根目录中的文件中定义自定义审核条件。请参阅 .reviewrc.example.md 一个完整的模板。

示例结构:

## Security
- Check for hardcoded credentials, API keys, or secrets
- Ensure user inputs are validated and sanitized

## Code Quality
- Functions should be under 50 lines when possible
- Variable and function names should be descriptive

## Style (Language-Specific)
### JavaScript/TypeScript
- Use const by default, let when reassignment needed, avoid var
- Prefer arrow functions for callbacks

用法

启动服务器

node src/server.js

与MCP客户端一起使用(例如,Claude Desktop)

配置您的MCP客户端以通过stdio连接到此服务器。

可用工具

GitHub工具

  1. github_review_pr -查看GitHub pull请求

    • 输入:所有者、仓库、pullNumber、指令路径(可选)、模式(可选)
    • 返回:带有评论和严重性计数的回顾摘要
  2. github_get_pr -获取PR详细信息

    • 输入:所有者、回购、pullNumber
    • 返回:PR元数据和更改的文件
  3. github_add_comment -添加一条评论

    • 输入:所有者、仓库、pullNumber、路径、行、消息
    • 返回:已创建评论详细信息

Bitbucket工具

  1. bitbucket_review_pr -查看Bitbucket拉取请求

    • 输入:工作区(可选)、仓库、pullRequestId、指令路径(可选)和模式(可选)
    • 返回:带有评论和严重性计数的回顾摘要
  2. bitbucket_get_pr -获取PR详细信息

    • 输入:工作区(可选)、仓库、pullRequestId
    • 返回:PR元数据和更改的文件
  3. bitbucket_add_comment -添加评论

    • 输入:工作区(可选)、仓库、pullRequestId、消息、路径(可选)和行(可选)
    • 返回:已创建评论详细信息
  4. bitbucket_approve_pr -批准PR

    • 输入:工作区(可选)、仓库、pullRequestId
    • 返回:批准确认

审核模式

  • 预览模式 (默认):将审核反馈返回到IDE,而不发布到PR
  • 直接模式:自动向PR发布评论

工作流示例

  1. 创建自定义说明:

    cp .reviewrc.example.md .reviewrc.md
    # Edit .reviewrc.md with your team's guidelines
    
  2. 打开IDE (支持MCP的VSCode)

  3. 调用审查工具:

    • 工具: github_review_pr
    • 业主: your-org
    • 代表: your-repo
    • 拉线编号: 123
    • 模式: preview
  4. 查看反馈 在IDE中

  5. 发布到PR (如果满意):

    • 将模式更改为 direct 或手动发布所选评论

MCP客户端配置

对于Claude Desktop或其他MCP客户端,请将此服务器添加到您的配置中:

{
  "mcpServers": {
    "code-reviewer": {
      "command": "node",
      "args": ["C:\\path\\to\\mcp\\src\\server.js"],
      "env": {
        "GITHUB_TOKEN": "your_token",
        "REVIEW_MODE": "preview"
      }
    }
  }
}

支持的语言

分析器支持特定语言的检查:

  • JavaScript/TypeScript
  • python
  • Java
  • 去
  • 红宝石
  • PHP
  • C#/C/C++
  • 锈
  • 迅速
  • 科特林

安全功能

自动检测:

  • 硬编码API密钥和秘密
  • 硬编码密码
  • 代码中的私钥
  • SQL注入漏洞
  • XSS漏洞(内部HTML使用)
  • 使用危险函数(eval等)

故障排除

“配置验证失败”

确保你的 .env 文件已设置所有必需的凭据。

“获取PR失败”

检查:

  • 您的API令牌/凭证有效
  • 您有权访问存储库
  • PR编号/ID正确

“未注册任何工具”

确保在中配置了至少一组凭据(GitHub或Bitbucket) .env.

贡献

欢迎投稿!请随时提交问题或拉取请求。

许可证

国际学生委员会

作者

Raj Trivedi