AWS基础设施即代码MCP服务器:AI赋能的CDK与CloudFormation助手

本文介绍了AWS推出的基础设施即代码MCP服务器,该工具基于模型上下文协议,将AI助手集成到AWS基础设施开发流程中,能帮助开发者搜索文档、验证模板、排查部署问题并遵循最佳实践。

介绍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_templatecheck_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文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "mcpServers": {
    "awslabs.aws-iac-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-iac-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-named-profile",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

安全注意事项

隐私声明:此MCP服务器使用您的凭据执行AWS API调用,并将响应数据与您的第三方AI模型提供商(例如Amazon Q、Claude Desktop、Cursor、VS Code)共享。用户有责任了解您的AI提供商的数据处理实践,并在将此工具与AWS资源一起使用时确保符合您组织的安全和隐私要求。

IAM权限

MCP服务器需要以下AWS权限:

  • 对于模板验证和合规性检查:无需AWS权限(仅本地验证)
  • 对于部署故障排除
    • cloudformation:DescribeStacks
    • cloudformation:DescribeStackEvents
    • cloudformation:DescribeStackResources
    • cloudtrail:LookupEvents(用于CloudTrail深度链接)

示例IAM策略:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:DescribeStacks",
        "cloudformation:DescribeStackEvents",
        "cloudformation:DescribeStackResources",
        "cloudtrail:LookupEvents"
      ],
      "Resource": "*"
    }
  ]
}

使用Kiro CLI的示例用例

重要:在尝试这些命令之前,请确保您已满足所有前提条件。

  1. 正确设置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开发者论坛上联系博客作者。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计