代码审阅器MCP服务器
一个MCP(模型上下文协议)服务器,使用自定义指令自动执行代码并从GitHub和Bitbucket中提取请求审查。
特性
- 🔍 自动PR审核:根据自定义审核指南分析拉取请求
- 📝 客户指令:在markdown文件中定义自己的审核标准
- 🔐 安全检查:检测硬编码秘密、SQL注入、XSS漏洞
- 🎯 语言特定规则:支持JavaScript、TypeScript、Python等
- 🔄 双重整合:适用于GitHub和Bitbucket
- 💬 预览和直接模式:发布前审核或自动发布评论
- 🎨 IDE集成:从VSCode或任何兼容MCP的IDE使用
安装
- 克隆此存储库:
git clone
cd mcp- 安装依赖项:
pnpm install- 配置环境变量:
cp .env.example .env- 编辑
.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工具
github_review_pr-查看GitHub pull请求
- 输入:所有者、仓库、pullNumber、指令路径(可选)、模式(可选) - 返回:带有评论和严重性计数的回顾摘要
github_get_pr-获取PR详细信息
- 输入:所有者、回购、pullNumber - 返回:PR元数据和更改的文件
github_add_comment-添加一条评论
- 输入:所有者、仓库、pullNumber、路径、行、消息 - 返回:已创建评论详细信息
Bitbucket工具
bitbucket_review_pr-查看Bitbucket拉取请求
- 输入:工作区(可选)、仓库、pullRequestId、指令路径(可选)和模式(可选) - 返回:带有评论和严重性计数的回顾摘要
bitbucket_get_pr-获取PR详细信息
- 输入:工作区(可选)、仓库、pullRequestId - 返回:PR元数据和更改的文件
bitbucket_add_comment-添加评论
- 输入:工作区(可选)、仓库、pullRequestId、消息、路径(可选)和行(可选) - 返回:已创建评论详细信息
bitbucket_approve_pr-批准PR
- 输入:工作区(可选)、仓库、pullRequestId - 返回:批准确认
审核模式
- 预览模式 (默认):将审核反馈返回到IDE,而不发布到PR
- 直接模式:自动向PR发布评论
工作流示例
- 创建自定义说明:
cp .reviewrc.example.md .reviewrc.md
# Edit .reviewrc.md with your team's guidelines- 打开IDE (支持MCP的VSCode)
- 调用审查工具:
- 工具: github_review_pr - 业主: your-org - 代表: your-repo - 拉线编号: 123 - 模式: preview
- 查看反馈 在IDE中
- 发布到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
