上周AWS悄悄把 MCP Server 从预览版转成了GA,我第一时间拉下来测了一遍。结论是:如果你在用Claude Code或Cursor写AWS相关的代码,这个东西能省掉你至少80%的凭证管理噩梦。
先说痛点。用AI编码Agent操作AWS之前只有两条路:要么给Agent一把Admin权限的Access Key——风险大到睡不着觉;要么手写Lambda封装每个API——写半天发现Agent根本不知道怎么调用。AWS MCP Server就是来终结这个困境的:它让AI Agent通过标准MCP协议跟AWS交互,权限走IAM细粒度控制,操作全走CloudTrail审计,而且还免费(只收资源本身的钱)。
什么是AWS MCP Server
MCP(Model Context Protocol)是Anthropic提出的开放协议,让AI模型跟外部工具/数据源交互。你可以理解成"AI界的USB-C"——统一接口,插上就能用。
AWS MCP Server就是这个协议在AWS上的官方实现。它是一个托管服务,部署在AWS端,你的AI编码Agent(Claude Code、Cursor、Codex等)通过MCP协议连上去,就能:
- 调用任意AWS API(包括需要上传文件或长时间执行的操作)
- 在沙盒环境执行Python脚本,多步骤操作AWS资源
- 搜索AWS官方文档,让Agent知道最佳实践
- 自动加载精选的"技能"(官方写好的操作指南)
而且所有这些操作都走IAM鉴权+CloudTrail审计。不再需要把Access Key硬编码到prompt里,也不用担心Agent"手滑"删了生产库。
前置条件
在开始之前,确保你有:
- 一个AWS账号+ 有权限创建IAM角色和策略
- 支持MCP的AI编码Agent:Claude Code、Cursor、Codex、Kiro等
- 本地安装了Python 3.10+和
uvx(AWS推荐的MCP代理工具) - AWS CLI已配置(
aws configure或环境变量)
安装uvx:
pipinstalluv# 或者curl-LsSfhttps://astral.sh/uv/install.sh|sh第一步:配置本地认证
AWS MCP Server使用IAM SigV4认证,但MCP协议目前只支持OAuth 2.1。AWS提供了一个开源代理工具mcp-proxy-for-aws来做协议转换:
# 安装mcp-proxy-for-awsuv toolinstallmcp-proxy-for-aws然后在本地用AWS CLI凭证运行代理:
# 假设你已经在 ~/.aws/credentials 配置好了凭证exportAWS_REGION=us-west-2 mcp-proxy-for-aws--region$AWS_REGION这个命令会启动一个本地MCP代理,监听在 stdio 上,把IAM SigV4认证转换成MCP兼容的OAuth流。
第二步:在Claude Code中配置MCP Server
以Claude Code为例,编辑MCP配置文件(~/.claude/mcp.json):
{"mcpServers":{"aws":{"command":"uvx","args":["mcp-proxy-for-aws@latest","https://aws-mcp.us-east-1.api.aws/mcp","--metadata","AWS_REGION=us-west-2"]}}}如果你的Agent是Cursor,在Cursor Settings → MCP Servers 里添加同样的配置。
配置完后重启Claude Code,输入/mcp应该能看到aws已连接。
第三步:实战一:用Agent创建S3存储桶并上传文件
配置好之后,你可以直接跟Claude Code说:
“帮我创建一个S3存储桶,路径前缀是 my-app-assets,然后上传当前目录的 dist/ 文件夹”
Claude Code会通过MCP Server依次调用:
1. s3:CreateBucket → 创建存储桶 2. s3:PutBucketPolicy → 设置公共读取策略(如果你要求的话) 3. s3:PutObject → 上传每个文件(沙盒Python脚本执行)整个过程你只需要说一句话。每个操作都在CloudTrail里有记录,你可以随时去查谁做了什么。
需要注意的点:MCP Server默认只在美国东部(弗吉尼亚北部)和欧洲(法兰克福)两个Region可用。如果你资源在其他Region,需要在启动代理时指定正确的AWS_REGION。
第四步:实战二:用Agent查询EC2实例并生成报告
这是个真实场景——每次登录AWS控制台查实例状态太烦了,让Agent直接搞定:
“列出我账号下所有正在运行的EC2实例,按实例类型分组,告诉我哪类实例最贵”
Agent通过MCP Server调用ec2:DescribeInstances,获取数据后在本地沙盒里用Python做聚合分析,最后返回一个格式化的报告。
# 沙盒环境里Agent自动生成的Python代码importboto3fromcollectionsimportCounter ec2=boto3.client('ec2',region_name='us-west-2')response=ec2.describe_instances()instances=[]forreservationinresponse['Reservations']:forinstanceinreservation['Instances']:ifinstance['State']['Name']=='running':instances.append(instance['InstanceType'])type_counts=Counter(instances)print("正在运行的EC2实例分组:")forinstance_type,countintype_counts.most_common():print(f"{instance_type}:{count}台")这就是沙盒执行的价值——Agent不只是调API,还能对返回数据做二次处理。
第五步:高级配置 — IAM权限细粒度控制
MCP Server最大的卖点是安全。你可以创建一个专门的IAM角色,只给Agent最小权限:
{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["s3:ListBucket","s3:GetObject","s3:PutObject"],"Resource":["arn:aws:s3:::my-app-assets","arn:aws:s3:::my-app-assets/*"]},{"Effect":"Allow","Action":["ec2:DescribeInstances","ec2:DescribeRegions"],"Resource":"*"}]}这样Agent只能读写my-app-assets这个存储桶,和查看EC2实例信息。即使Agent被"投毒"了,破坏范围也锁死了。
常见问题
Q: MCP Server收不收费?
A: 服务本身免费。你只需要为Agent实际调用的AWS资源付费——创建的EC2、S3存储、Lambda执行时间等。
Q: 支持哪些AI Agent?
A: 官方认证支持:Claude Code、Cursor、Codex、Kiro。实测任何支持MCP协议的Agent都能用。
Q: 国内能用吗?
A: 目前只支持 us-east-1(弗吉尼亚北部)和 eu-central-1(法兰克福)。如果你在国内,需要确保网络能访问这两个Region的AWS端点。
Q: 跟DIY的MCP Server比有什么区别?
A: 我之前写过一篇《MCP协议实战:从零搭建一个MCP Server》——自己搭的好处是灵活,可以对接任意API。AWS MCP Server的好处是开箱即用、IAM原生集成、CloudTrail审计、沙盒执行——省去了自己实现安全层的麻烦。
总结
AWS MCP Server GA这件事,看起来只是一个托管服务的发布,但背后是AWS对AI编程范式的明确表态:Agent不是来取代开发者的,是来给开发者配一个安全、可控的"数字助手"。
从这个角度看,几个关键变化值得关注:
- 安全层标准化— IAM + CloudTrail + 沙盒执行,Agent的安全不再靠prompt engineering
- Agent技能"官方化"— AWS开始提供预置的操作指南(Agent Skills),而不是让每个Agent从零学习最佳实践
- MCP协议生态加速— 云厂商开始拥抱MCP,说明它正在成为AI与基础设施交互的事实标准
如果你已经在用AI编码Agent,花10分钟配置一下AWS MCP Server——以后写基础设施代码的效率能翻倍,还不用担心安全审计的问题。如果还没开始用这些Agent,这篇文章就是最好的入门指引,配置完你就知道为什么我说这是2026年最值得做的云原生配置之一了。