介绍
今天,我们兴奋地推出 AWS 基础设施即代码 MCP 服务器,这是一款新工具,旨在弥合 AI 助手与您的 AWS 基础设施开发工作流之间的鸿沟。该服务器基于模型上下文协议 构建,使像 Kiro CLI、Claude 或 Cursor 这样的 AI 助手能够帮助您搜索 AWS CloudFormation 和 Cloud Development Kit 文档、验证模板、排查部署故障并遵循最佳实践——所有这一切都在保持本地执行安全性的前提下进行。
无论您是编写 AWS CloudFormation 模板还是 AWS Cloud Development Kit 代码,IaC MCP 服务器都扮演着智能伙伴的角色,它理解您的架构需求,并在整个开发生命周期中提供情境化的协助。
模型上下文协议 是一个开放标准,使 AI 助手能够安全地连接到外部数据源和工具。可以将其视为一个通用适配器,它允许 AI 模型与您的开发工具交互,同时将敏感操作保持在本地区域并处于您的控制之下。
MCP 服务器功能
该 IaC MCP 服务器提供了九种专门工具,分为两类:
远程文档搜索工具
这些工具连接到 AWS Knowledge MCP 后端以检索相关的最新信息:
search_cdk_documentation:在 AWS CDK 知识库中搜索 API、概念和实施指南。search_cdk_samples_and_constructs:从 AWS 构造库中发现预构建的 AWS CDK 构造和模式。search_cloudformation_documentation:查询 CloudFormation 文档以获取资源类型、属性和内部函数信息。read_iac_documentation_page:检索并阅读从搜索返回或提供 URL 的完整 CloudFormation 和 CDK 文档页面。
本地验证和故障排除工具
这些工具完全在您的机器上运行:
cdk_best_practices:访问精心策划的 AWS CDK 最佳实践和设计原则集合。validate_cloudformation_template:使用 cfn-lint 执行语法和模式验证,以便在部署前捕获错误。check_cloudformation_template_compliance:使用 AWS Guard 规则和 cfn-guard 对您的模板运行安全性和合规性检查。troubleshoot_cloudformation_deployment:通过集成的 CloudTrail 事件分析来分析 CloudFormation 堆栈部署失败原因。此工具将使用您的 AWS 凭证来分析您的堆栈状态。get_cloudformation_pre_deploy_validation_instructions:返回 CloudFormation 预部署验证功能的说明,该功能在创建变更集期间验证模板。
主要用例
1. 智能文档助手
无需手动搜索文档,直接用自然语言向您的 AI 助手提问:
“如何在 CDK 中创建一个启用加密的 S3 存储桶?” 服务器将搜索 CDK 最佳实践和示例,返回相关的代码示例和解释。
2. 主动模板验证
在部署架构变更之前:
用户:“验证我的 CloudFormation 模板并检查安全问题” AI 助手:[使用
validate_cloudformation_template和check_cloudformation_template_compliance] “发现 2 个问题:EBS 卷缺少加密,S3 存储桶缺少公共访问阻止配置”
3. 快速部署故障排除
当堆栈部署失败时:
用户:“我在 us-east-1 区域的堆栈 ‘stack_03’ 部署失败。发生了什么?” AI 助手:[使用与 CloudTrail 集成的
troubleshoot_stack_deployment] “部署因 IAM 权限不足而失败。CloudTrail 显示对ec2:CreateVpc的AccessDenied。您需要向您的部署角色添加 VPC 权限。”
4. 学习与探索
刚接触 AWS CDK?服务器可帮助您发现构造和模式:
用户:“向我展示如何构建一个无服务器 API” AI 助手:[搜索 CDK 构造和示例] “以下是使用 API Gateway + Lambda 的三种方法……”
架构与安全
安全设计
- 本地执行:MCP 服务器完全在您的本地机器上使用 uv(快速的 Python 包管理器)运行。除了文档搜索外,不会将任何代码或模板发送到外部服务。
- AWS 凭证:服务器使用您现有的 AWS 凭证(来自
~/.aws/credentials、环境变量或 IAM 角色)来访问 CloudFormation 和 CloudTrail API。这遵循与 AWS CLI 相同的安全模型。 - 标准输入/输出通信:服务器通过标准输入/输出与 AI 助手通信,不开放任何网络端口。
- 最小权限:对于完整功能,服务器需要对 CloudFormation 堆栈和 CloudTrail 事件的只读访问权限——验证和故障排除工作流不需要写入权限。
开始使用
先决条件
- Python 3.10 或更高版本
- uv 包管理器
- 本地配置好的 AWS 凭证
- 兼容 MCP 的 AI 客户端
配置
在您的 MCP 客户端配置中配置 MCP 服务器。以 Kiro CLI 为例,编辑 .kiro/settings/mcp.json:
|
|
安全注意事项
隐私声明:此 MCP 服务器使用您的凭证执行 AWS API 调用,并将响应数据共享给您的第三方 AI 模型提供商。用户有责任了解您的 AI 提供商的数据处理实践,并在将此工具与 AWS 资源一起使用时,确保符合您组织的安全和隐私要求。
IAM 权限
MCP 服务器需要以下 AWS 权限:
- 对于模板验证和合规性:无需 AWS 权限(仅本地验证)
- 对于部署故障排除:
cloudformation:DescribeStackscloudformation:DescribeStackEventscloudformation:DescribeStackResourcescloudtrail:LookupEvents(用于 CloudTrail 深层链接)
示例 IAM 策略:
|
|
最佳实践
- 从文档搜索开始:在编写代码之前,先搜索现有的构造和模式。
- 及早且频繁地验证:在尝试部署之前运行验证工具。
- 检查合规性:在开发过程中使用
check_template_compliance来捕获安全问题。 - 利用 CloudTrail:故障排除时,CloudTrail 集成提供了详细的失败上下文。
- 遵循 CDK 最佳实践:使用
cdk_best_practices工具以符合 AWS 建议。
后续步骤
IaC MCP 服务器代表了 AI 代理工作流架构开发的新范式——在这种范式中,AI 助手理解您的工具,帮助您浏览复杂的文档,并在整个开发生命周期中提供智能协助。
参与进来
AWS IaC MCP 服务器现已推出:
- 文档和 GitHub 仓库:
aws-iac-mcp-server - 反馈:欢迎提交问题和拉取请求!或者在此处回复我们的 IaC 调查。