AWS Amplify Pipeline MCP服务器
🆕 v1.2.0更新:动态应用ID解析
工作流现在会根据存储库名称自动检测您的Amplify应用程序ID!
- 工作流中不再有硬编码的应用程序ID
- 相同的工作流程适用于您的所有项目
- 自动回退,并显示有用的错误消息
🎯 智能部署模式检测
此MCP服务器 自动检测 您的Amplify应用程序是否:
- 存储库已连接 (最常见)-应用程序通过AWS Amplify连接到GitHub
- 手动部署 (罕见)-应用程序未连接到任何存储库
存储库连接应用程序(95%的案例)
✅ 自动检测和配置 ✅ 无需webhooks或手动触发器 ✅ 针对基于Git的部署进行了优化 ✅ 监控自动Amplify构建
手动部署应用程序(占5%)
✅ 使用webhook并创建部署API ✅ 完全控制部署时间 ✅ 适用于没有Git连接的应用程序
一种模型上下文协议(MCP)服务器,通过智能部署模式检测自动设置AWS Amplify Gen 2应用程序的自定义CI/CD管道。
📚 完整使用指南 -所有功能的综合指南 🚀 功能路线图 -即将推出的功能和增强功能 🤖 自动修复文档 -深入了解自动修复系统
概述
此MCP服务器智能检测您的Amplify应用程序的部署模式,并配置最佳管道设置。只需一个命令- pipeline-deploy -根据您的应用程序是连接存储库还是使用手动部署,所有内容都会自动配置。
特性
核心能力
- 🆕 动态应用ID查找:工作流按存储库名称自动查找应用程序ID
- 🔍 自动部署模式检测:智能检测存储库连接与手动应用程序
- 🎯 双工作流模板:根据部署模式生成适当的GitHub操作
- 🚀 智能管道设置:为您的特定应用程序配置配置最佳CI/CD
- 📦 框架检测:自动检测Next.js、React、Vue、Angular等。
- 🔧 平台配置:设置正确的平台(SSR为WEB_COMPUTE,SPA为WEB)
存储库连接功能
- ✅ 无手动触发器:利用Amplify的自动构建
- 📊 构建监控:跟踪Git推送触发的自动构建
- 🔄 简化工作流程:后端部署→ Git推送→ 自动前端构建
- ⚡ 更快的部署:针对常见情况进行了优化
手动部署功能
- 🔗 网钩 管理:创建用于手动触发的Webhook
- 🎮 完全控制:完全控制部署时间
- 📦 捆绑包创建:打包和部署构建工件
- 🛑 自动构建禁用:关闭自动构建以进行手动控制
错误处理和恢复
- 🤖 自动修复系统:自动修复常见的部署问题
- 🔍 错误检测:标识错误的部署模式使用
- 📝 聪明的建议:为故障提供可操作的修复
- 🔄 重试逻辑:自动重试并应用修复程序
新工作流程
步骤1:手动设置(一次)
- 在AWS控制台中创建您的Amplify应用程序
- 使用AWS Amplify GitHub应用程序连接您的GitHub存储库(用于存储库连接模式)
- 这建立了Amplify和GitHub之间的安全连接
步骤2:自动管道设置
在您的存储库目录中,只需说:
- “管道部署” 或
- “设置管道” 或
- “p-deploy”
就是这样!MCP服务器会自动检测您的部署模式,并相应地配置所有内容。
自动发生的事情
当你奔跑时 pipeline-deploy 使用您的应用程序ID,服务器:
- ✅ 通过动态应用ID查找生成工作流 (没有硬编码!)
- ✅ 检测部署模式 (存储库已连接或手动)
- ✅ 检测框架 (Next.js、React、Vue等)
- ✅ 配置适当的工作流程 基于模式
- ✅ 自动检测您当前的Git分支
- ✅ 对于已连接的存储库:确保启用自动构建
- ✅ 对于手动:禁用自动构建并创建Webhook
- ✅ 生成最佳GitHub操作工作流
- ✅ 创建用于错误恢复的自动修复脚本
- ✅ 设置正确
amplify.yml使用Node.js 20
先决条件
- AWS-CLI 配置了适当的凭据
- AWS Amplify应用程序 在AWS控制台中创建
- GitHub存储库 (已连接为存储库模式)
- Python 3.9+ 安装
- Node.js 20+ 用于Amplify Gen 2
- MCP兼容客户端 (如克劳德密码)
快速开始
1.安装依赖项
pip install mcp pyyaml2.添加到克劳德代码
# Using the shell script (recommended)
claude mcp add amplify-pipeline /Users/kjetilge/mcp-servers/amplify-pipeline-mcp/run_server.sh -s local
# Or using Python directly
claude mcp add amplify-pipeline "python /Users/kjetilge/mcp-servers/amplify-pipeline-mcp/server.py" -s local3.配置您的应用程序
# The tool will auto-detect your deployment mode and configure accordingly
pipeline-deploy --app-id YOUR_APP_ID
# Example output:
# 🔍 Detecting deployment mode...
# ✅ Repository-connected app detected
# 📦 Framework: Next.js SSR (WEB_COMPUTE)
# 🌿 Branch: main
# 🚀 Setting up repository-connected pipeline...创造什么
适用于存储库连接的应用程序(最常见)
- 优化GitHub操作工作流 -部署后端,监控前端自动构建
- amplify.yml -使用Node.js 20构建配置
- 自动修复脚本 -处理常见错误
- 构建监控 -跟踪自动Amplify构建
用于手动部署应用程序(罕见)
- 手动部署工作流 -完全控制部署
- Webhook 配置 -用于触发部署
- 构建捆绑包创建 -打包工件以供部署
- 部署监控 -跟踪手动部署状态
常见问题及解决方案
“不支持操作”错误
问题:在与存储库连接的应用程序上使用手动部署 解决方案:MCP服务器现在会自动检测到这一点,并使用正确的工作流程
缺少amplify_outputs.json
问题:前端找不到后端配置 解决方案:在后端部署期间自动生成
Package-lock.json不同步
问题:package.json和锁文件之间的依赖关系不匹配 解决方案:部署前自动检测并修复
建筑
存储库连接的应用程序(自动检测)
┌─────────────────┐
│ GitHub Push │
└────────┬────────┘
│
▼
┌─────────────────┐
│ GitHub Actions │
│ Workflow │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Backend Deploy │
│ (pipeline-deploy)│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Git Push with │
│ amplify_outputs │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Amplify Auto │
│ Build (Triggered│
│ by Git Push) │
└─────────────────┘手动部署应用程序(自动检测)
┌─────────────────┐
│ GitHub Push │
└────────┬────────┘
│
▼
┌─────────────────┐
│ GitHub Actions │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Backend Deploy │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Create Bundle │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Manual Deploy │
│ (create-deploy) │
└─────────────────┘所需的GitHub设置
运行后 pipeline-deploy,您需要:
- 添加GitHub机密:
- AWS_ACCESS_KEY_ID -AWS部署访问密钥 - AWS_SECRET_ACCESS_KEY -AWS部署密钥
- 确保存储库权限:
- GitHub操作需要写入权限(自动添加到工作流中) - 验证 amplify_outputs.json 不在 .gitignore
- 承诺并推动:
git add -A
git commit -m "Add custom pipeline configuration"
git push自动修复功能
什么会自动修复
| 问题类型 | 自动修复操作 | 应用时 |
|---|---|---|
| 部署模式错误 | 使用正确的工作流 | 检测阶段 |
| Linting错误 | ESLint--修复 | 部署前 |
| 格式化 | 预处理--写入 | 部署前 |
| TypeScript错误 | 添加缺失的类型/导入 | 失败时 |
| 安全漏洞 | npm审计修复 | 失败时 |
| 缺少依赖项 | npm安装 | 失败时 |
| 缺少amplify_outputs.json | 从应用程序ID生成 | 失败时 |
| 包锁同步 | npm安装 | 部署前 |
使用示例
克劳德代码(自然语言)
"Set up pipeline for my amplify app"
"Why is my build failing?"
"Is my app repository-connected?"
"Fix deployment errors"直接命令
"pipeline deploy d1234abcd5678"应用程序ID可以在您的Amplify控制台URL中找到:
- 转到AWS Amplify控制台
- 点击您的应用
- URL将是:
.../apps/d1234abcd5678/... - 复制ID:
d1234abcd5678
益处
- 智能检测:自动使用正确的部署策略
- 零配置:开箱即用,自动检测
- 错误预防:防止“不支持操作”错误
- 完全控制:完全控制构建和部署过程
- 自定义步骤:添加测试、linting、安全扫描等。
- 整合:与现有的CI/CD系统配合使用
- 自动修正:自动解决常见的部署错误
- 节省时间:不手动修复部署模式不匹配
文档
支持
使用克劳德代码
只需问:
- “管道设置帮助”
- “调试我失败的构建”
- “我的应用程序使用什么部署模式?”
- “修复存储库连接问题”
手动支持
- 检查 完整使用指南
- 查看GitHub Actions中的工作流日志
- 查看AWS Amplify控制台以获取前端日志
- 确保满足所有先决条件
发展
项目结构
amplify-pipeline-mcp/
├── server.py # Main MCP server implementation
├── deployment_detector.py # Deployment mode detection logic
├── deployment_monitor.py # Enhanced monitoring capabilities
├── workflow_templates.py # Dual workflow templates
├── README.md # User documentation
└── pyproject.toml # Python package configuration测试检查表
- \[\]使用与存储库连接的应用程序进行测试
- \[\]使用手动部署应用程序进行测试
- \[\]测试部署模式检测
- \[\]测试框架检测
- \[\]验证工作流生成是否正确
- \[\]确认错误模式的错误处理
- \[\]检查自动修复功能
许可证
麻省理工学院
