使用说明
GitHub代码审查MCP
MCP(模型上下文协议)服务,使用Claude对GitHub存储库进行AI驱动的代码审查。
什么是MCP?
模型上下文协议(MCP)是一种开放协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。无论您是在构建基于AI的IDE、增强聊天界面,还是创建自定义AI工作流程,MCP都提供了一种标准化的方式将LLM与所需的上下文连接起来。
概述
此服务提供了一组工具,允许用户:
- 提交GitHub仓库进行代码审查
- 获取有关其代码库的详细反馈和建议
- 重点审查特定的利益领域(如安全、绩效、最佳实践)
- 跟踪评论历史并访问以前的评论
特性
- 存储库分析:只需提供URL即可分析GitHub存储库
- 重点评论:指定代码审查的重点领域
- 改进建议:获取改进代码库的具体建议
- 文件级分析:获取特定文件的详细反馈
- 安全扫描:识别安全漏洞并获得补救建议
- 相关性分析:分析过时软件包和漏洞的项目依赖关系
- 代码质量度量:深入了解代码复杂性、重复性和可维护性
- 性能分析:识别性能瓶颈和优化机会
- 最佳实践比较:将代码与框架的行业最佳实践进行比较
- PR描述生成器:自动生成全面的拉取请求描述
- 级联提示生成:创建现成的提示,以使用Cascade实施改进
MCP工具
此MCP服务器提供以下工具:
存储库审查工具
-
review_repository(repo_url: str, focus_areas: Optional[str] = None):通过提供URL查看GitHub存储库。您可以选择指定要关注的领域(例如,“安全性、性能、最佳实践”)。 -
list_reviewed_repos():列出所有已审查的存储库,包括审查日期和重点领域。 -
get_review_details(repo_key: str):使用“所有者/仓库”格式的密钥获取特定仓库的详细审查结果。
改进和分析工具
-
suggest_improvements(repo_key: str, file_path: Optional[str] = None):获取整个存储库或特定文件的具体改进建议。 -
analyze_dependencies(repo_key: str):分析存储库依赖关系,以识别过时的软件包、潜在漏洞,并提供建议。 -
scan_security_vulnerabilities(repo_key: str):扫描存储库中的安全漏洞并提供补救步骤。 -
analyze_code_quality(repo_key: str):获取代码质量指标,包括复杂性、重复性和可维护性得分。 -
analyze_performance(repo_key: str):识别性能瓶颈并获得优化建议。 -
compare_with_best_practices(repo_key: str, framework: Optional[str] = None):将代码与行业最佳实践进行比较,并进行可选的框架特定比较。
代码生成工具
-
generate_pull_request_description(repo_key: str, review_id: str):根据代码审查结果生成全面的拉取请求描述。 -
generate_cascade_prompt(repo_key: str):创建一个特定于Cascade的提示,可用于实施建议的改进。 -
generate_improved_code(repo_key: str, file_path: str):根据审查结果为特定文件生成改进的代码。
安装
先决条件
- Python 3.12或更高版本
- MCP 1.6.0或更高版本
设置
-
克隆此存储库:
git clone https://github.com/kl63/Mcp-Server-Demo.git cd Mcp-Server-Demo -
设置虚拟环境:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
安装依赖项:
pip install -e . -
(可选)设置GitHub API令牌:
为了避免GitHub API速率限制,建议设置一个GitHub API令牌:
- 在GitHub上创建个人访问令牌(设置>开发人员设置>个人访问令牌)
- 将令牌设置为环境变量:
export GITHUB_API_TOKEN=your_github_token # On Windows: set GITHUB_API_TOKEN=your_github_token
如果没有令牌,您将被限制为每小时60个请求,这可能不足以分析更大的存储库。
用法
启动MCP服务器
运行以下命令以启动MCP服务器:
python main.py
与Claude一起使用服务
MCP服务器运行后,您可以通过Claude使用以下命令与之交互:
-
查看存储库:
Please review the GitHub repository at https://github.com/username/repo-name -
关注特定领域:
Review https://github.com/username/repo-name with focus on security and performance -
获取改进建议:
Suggest improvements for the repository https://github.com/username/repo-name -
列出以前审查过的存储库:
Show me all the repositories that have been reviewed -
生成级联提示以实施改进:
Generate a Cascade prompt for the improvements to https://github.com/username/repo-name -
获取特定文件的改进代码:
Show me improved code for the file src/components/Button.js in https://github.com/username/repo-name
许可证
麻省理工学院
参考文献
- 模型上下文协议(MCP)Python SDK -用于构建MCP提供者的官方Python SDK
