MCP Automation System
Automated pull request review using Model Context Protocol, Gemini, GitHub, Slack, and Asana
此回购是什么
此存储库演示了基于MCP的完整自动化工作流,用于拉取请求审查。与其将MCP视为玩具协议演示,不如像内部平台团队那样使用MCP:
- 将真实的企业集成作为MCP服务器公开
- 将这些服务器聚合到工具注册表中
- 让主机应用程序跨系统收集上下文
- 从GitHub webhooks触发工作流
- 将可操作的审核摘要发布回Slack
当前的实现侧重于一个具体的用例: PR审核自动化.
端到端流程
GitHub pull request opened
-> webhook hits the MCP host
-> host queries the MCP tool registry
-> registry exposes GitHub / Slack / Asana / prompt servers
-> Gemini synthesizes review context
-> summary is posted into Slack这为您提供了一个现实的企业自动化循环:
- GitHub提供代码和PR元数据
- Asana提供产品或任务上下文
- Slack成为交付渠道
- 双子座将原始背景变成了人类可以审查的东西
为什么这个项目是好的投资组合材料
- 它不仅仅是一个LLM包装器;它是一个编排系统。
- 它在真实的系统集成环境中使用MCP。
- 它展示了平台思维:工具注册表、模块化服务器、主机编排、webhook入口点、可观察性。
- 它很好地映射到真正的内部开发工具或AI自动化平台工作。
核心组件
apps/pr-reviewer-mcp-servers
此软件包包含模块化MCP服务器:
- 用于PR数据和代码审查上下文的GitHub服务器
- 用于邮件传递和历史访问的Slack服务器
- 用于任务上下文的Asana服务器
- 可重用LLM工作流行为的提示/范围实用程序
- 工具注册表聚合层
apps/pr-reviewer-mcp-host
此包包含编排层:
- GitHub PR事件的FastAPI webhook端点
- MCP主机连接管理
- 基于Gemini的评审总结
- 通知传递延迟
- Opik跟踪挂钩可观察性
仓库布局
mcp-automation-system/
├── apps/
│ ├── pr-reviewer-mcp-host/ # webhook-driven host/orchestrator
│ └── pr-reviewer-mcp-servers/ # GitHub, Slack, Asana, prompt servers + registry
├── LICENSE
└── README.md演示是什么样子的
- 启动MCP服务器捆绑包和工具注册表。
- 启动主机服务。
- 通过ngrok公开主机webhook。
- 在GitHub中打开一个pull请求。
- 让主机收集仓库差异、任务上下文和提示指导。
- 在Slack中查看生成的摘要。
这是一个比“这个仓库包含一些MCP实验”更强大的故事,因为它展示了从事件触发到面向团队的输出的整个自动化循环。
快速开始
先决条件
- python
3.12 uvmake- 码头工人
- 访问GitHub、Slack、Asana、Gemini和可选Opik的相关SaaS令牌
1.启动MCP服务器
cd apps/pr-reviewer-mcp-servers
cp .env.example .env
uv venv .venv
. .venv/bin/activate
make install
make run这将启动MCP服务器捆绑包和工具注册表。
2.启动主机
cd ../pr-reviewer-mcp-host
cp .env.example .env
uv venv .venv
. .venv/bin/activate
make install
make run主机在上监听webhook事件 http://localhost:5001.
3.露出Webhook
ngrok http 5001添加生成的公共URL+ /webhook 作为您的GitHub webhook目标,然后将其配置为拉取请求事件。
环境概述
系统根据您运行的哪一方使用多种令牌:
主机
GEMINI_API_KEYSLACK_CHANNEL_IDTOOL_REGISTRY_URLOPIK_API_KEY(可选)
服务器
GITHUB_ACCESS_TOKENSLACK_BOT_TOKENASANA_ACCESS_TOKENOPIK_API_KEY(可选)
详细的每项服务设置仍然存在于子项目README中。
下一步去哪里
当您想运行webhook和编排层时,请使用主机README。 当您想配置集成或工具注册表时,请使用服务器README。
此README修复了什么
前面的顶层README描述了这个想法,但它并没有使实际的系统流程变得明显。此版本使项目在一分钟内清晰可见:
- 它是什么
- 为什么这很重要
- 什么跑在哪里
- 工作流是如何触发的
- 为什么这个架构很有趣
许可证
该项目根据MIT许可证获得许可。看 许可证.
