介绍AWS基础设施即代码MCP服务器:AI赋能的CDK和CloudFormation助手
作者 Idriss Laouali Abdou,发布于 2025年11月28日,分类:AWS Cloud Development Kit, AWS CloudFormation, DevOps, 管理工具
通过AI驱动的文档搜索、验证和故障排除,简化您的AWS基础设施开发。
引言
今天,我们很高兴推出AWS基础设施即代码MCP服务器,这是一款连接AI助手与您AWS基础设施开发工作流的新工具。它基于模型上下文协议构建,使Kiro CLI、Claude或Cursor等AI助手能够帮助您搜索AWS CloudFormation和Cloud Development Kit文档、验证模板、排查部署问题并遵循最佳实践——所有这些操作都保持在本地执行的安全性之下。 无论您是编写AWS CloudFormation模板还是AWS Cloud Development Kit代码,IaC MCP服务器都是一个智能伴侣,它能理解您的基础设施需求,并在整个开发生命周期中提供上下文帮助。
模型上下文协议是一个开放标准,使AI助手能够安全地连接到外部数据源和工具。可以将其视为一个通用适配器,让AI模型与您的开发工具交互,同时保持敏感操作的本地化和受您控制。
IaC MCP服务器提供了九个专用工具,分为两类:
远程文档搜索工具
这些工具连接到AWS知识库MCP后端以检索相关的最新信息:
- search_cdk_documentation:搜索AWS CDK知识库以查找API、概念和实施指南。
- search_cdk_samples_and_constructs:从AWS构造库中发现预构建的AWS CDK构造和模式。
- search_cloudformation_documentation:查询CloudFormation文档以了解资源类型、属性和内部函数。
- read_cdk_documentation_page:检索并阅读从搜索或提供的URL返回的完整文档页面。
本地验证和故障排除工具
这些工具完全在您的机器上运行:
- 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的访问被拒绝。您需要向您的部署角色添加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客户端(例如Kiro CLI、Claude Desktop)
配置
在您的MCP客户端配置中配置MCP服务器。在本博客中,我们将重点关注Kiro CLI。编辑.kiro/settings/mcp.json文件:
|
|
安全注意事项
隐私声明:此MCP服务器使用您的凭据执行AWS API调用,并将响应数据与您的第三方AI模型提供商(例如Amazon Q、Claude Desktop、Cursor、VS Code)共享。用户有责任了解您的AI提供商的数据处理实践,并在将此工具与AWS资源一起使用时确保符合您组织的安全和隐私要求。
IAM权限
MCP服务器需要以下AWS权限:
- 对于模板验证和合规性检查:无需AWS权限(仅本地验证)
- 对于部署故障排除:
cloudformation:DescribeStackscloudformation:DescribeStackEventscloudformation:DescribeStackResourcescloudtrail:LookupEvents(用于CloudTrail深度链接)
示例IAM策略:
|
|
使用Kiro CLI的示例用例
重要:在尝试这些命令之前,请确保您已满足所有前提条件。
- 正确设置
mcp.json文件后,尝试运行示例提示。在终端中运行kiro-cli chat以开始在CLI中使用Kiro-cli。
图1:带有AWS IaC MCP服务器的Kiro-CLI
场景:
- “Lambda函数的CDK最佳实践有哪些?” 图2:搜索Lambda函数的CDK最佳实践
- “搜索使用DynamoDB和Lambda的CDK示例” 图3:搜索使用DynamoDB和Lambda的CDK示例
- “验证位于
./template.yaml的我的CloudFormation模板” 图4:使用AWS IaC MCP服务器验证我的CloudFormation模板 - “检查我的模板是否符合安全最佳实践” 图5:使用AWS IaC MCP服务器检查我的模板是否符合安全最佳实践
最佳实践
- 从文档搜索开始:在编写代码之前,先搜索现有的构造和模式
- 尽早并经常验证:在尝试部署之前运行验证工具
- 检查合规性:在开发过程中使用
check_template_compliance来捕获安全问题 - 利用CloudTrail:进行故障排除时,CloudTrail集成提供了详细的失败上下文
- 遵循CDK最佳实践:使用
cdk_best_practices工具以符合AWS建议
下一步是什么?
IAC MCP服务器代表了一种新范式,即AI代理工作流基础设施开发——在这种范式中,AI助手理解您的工具,帮助您浏览复杂的文档,并在整个开发生命周期中提供智能协助。
参与进来
AWS IaC MCP服务器现已推出:
- 文档和GitHub仓库:aws-iac-mcp-server
- 反馈:我们欢迎问题和拉取请求!或者在此处回复我们的IaC调查。
准备好为您的“基础设施即代码”开发注入强大动力了吗?立即安装IaC MCP服务器,体验针对您AWS CDK和CloudFormation工作流的AI驱动协助。 有疑问或反馈?请在AWS开发者论坛上联系博客作者。