亚马逊AWS官方博客

AWS MCP 服务器现已正式发布

我使用人工智能代理和 MCP 工具进行构建已经有一段时间了,在此期间,我始终被一个问题困扰:如何在不授予代理全域权限的情况下,为其提供真正的、经过身份验证的 AWS 访问权限? 如今,这个问题终于有了答案。

我很高兴地宣布,AWS MCP 服务器正式发布。这是一款托管式远程模型上下文协议(MCP)服务器,让人工智能代理助手可以通过一套精简、固定的工具以安全且经过身份验证的方式访问所有 AWS 服务。

AWS MCP 服务器是 AWS 代理工具套件的一部分。该套件包含 MCP 服务器、技能和插件,可帮助编码代理更高效、更有效地在 AWS 上进行构建。

AI 编码代理虽然能够胜任许多任务,但在深度对接 AWS 时往往力不从心。由于无法获取最新 AWS 文档,代理只能依赖可能已过时数月的训练数据,并且可能对 Amazon S3 VectorsAmazon Aurora DSQLAmazon Bedrock AgentCore 等新服务缺乏了解。当被要求构建基础设施时,它们往往会选用 AWS 命令行界面(AWS CLI),而非 AWS Cloud Development Kit(AWS CDK)AWS CloudFormation,并且会制定权限远超必要范围的 AWS Identity and Access Management(IAM)策略。最终生成的基础设施只能用于演示,无法直接投入生产。

AWS MCP 服务器通过一套紧凑的工具解决了上述问题,并且不会消耗模型的上下文窗口。call_aws 工具可以通过您的现有 IAM 凭证执行超过 15000 项 AWS API 操作。新发布的 API 通常在几天内即可获得支持。search_documentationread_documentation 工具可以在查询时实时检索最新 AWS 文档和最佳实践,确保代理始终基于最新信息开展工作。

正式发布后,我们将引入多项新功能。AWS MCP 服务器现在支持 IAM 上下文密钥,因此您不再需要单独的 IAM 权限即可使用服务器,并且可以在标准 IAM 策略中表示细粒度的访问权限。文档检索不再需要身份验证。我们还减少了单次交互所需的令牌数量,这对于复杂的多步骤工作流程非常重要。

另一项新功能 run_script 工具允许代理编写简短的 Python 脚本,在沙盒环境中运行服务端。该沙盒会继承您的 IAM 权限,但没有网络访问权限,因此您可以在不向代理授予本地文件系统或 Shell 的访问权限的情况下赋予其处理数据的能力。当代理需要调用多个 API 并合并结果时,逐次调用不仅速度慢,还会消耗大量上下文。借助 run_script,代理可以在一次往返中链接 API 调用、过滤响应并计算结果,这样速度更快且上下文效率更高。

本次最重要的新增功能是从代理 SOP 到技能的过渡。技能针对代理最易出错的任务提供经过整理的指引和最佳实践。这可以帮助代理更快完成工作,遵循经过验证的最佳实践、减少错误和令牌消耗 — 所有这些都能为您节省时间和成本。技能由 AWS 服务团队贡献和维护。这样可以保持工具列表精简可控,从而减少幻觉,并使代理保持专注。

对于企业客户,AWS MCP 服务器明确区分了人员权限和代理权限。您可以使用 IAM 策略或服务控制策略来指定给定用户可以执行变更操作,而 MCP 服务器仅限于执行只读操作。在 AWS-MCP 命名空间下发布的 Amazon CloudWatch 指标允许您独立观察 MCP 服务器调用和人员调用,从而为您提供合规团队所需的审计跟踪记录。Amazon CloudTrail 会捕获所有 API 调用以生成完整记录。

下面来看实际操作
在本演示中,我选择了使用 Claude Code,但我可以将 AWS MCP 服务器与任何支持 MCP 的人工智能代理一起使用,这基本上涵盖了目前可用的所有工具:Kiro CLIKiroCursorCodex 等。我将 Claude Code 配置为使用 Anthropic Opus 4.6 模型

Opus 4.6 的知识截止日期为 2025 年 5 月。这意味着它不知道去年五月之后发生的任何事情。我提出一个关于最近推出的 AWS 服务 Amazon S3 Vectors 的问题,该服务于 2025 年 7 月发布预览版,并于 2025 年 12 月正式发布

问题是:“如何在 S3 中存储嵌入”(嵌入是一种向量)

模型给出了五个解决方案,全部正确,但没有任何一个按照我要求的那样使用了 S3 Vectors。请注意,该回答来自 Opus 4.6 模型,而非 Claude Code。任何使用相同模型的人工智能工具都会返回类似的回答,因为 S3 Vectors 在训练模型时尚未发布。

未接入 AWS MCP 服务器时,基于 Opus 4.6 的 Claude Code 对 S3 Vectors 相关问题的回复

现在,我们尝试接入 AWS MCP 服务器 。

AWS MCP 服务器采用 AWS Identity and Access Management(IAM)和 IAM SigV4 身份验证。由于 MCP 协议仅支持 OAuth 2.1,为了使用基于 MCP 的本地 AWS 凭证配置,我需要将人工智能编码代理配置为通过代理调用 AWS MCP 服务器。适用于 AWS 的 MCP 代理是一款开源代理工具,在我的计算机上运行,可连接 IAM 认证体系和 OAuth。

我通过以下命令添加 MCP 配置:

claude mcp add-json aws-mcp --scope user \
   '{"command":"uvx","args":["mcp-proxy-for-aws@latest","https://aws-mcp.us-east-1.api.aws/mcp","--metadata","AWS_REGION=us-west-2"]}'

让我们来分析 JSON 配置:

  • 我使用用户作用域,使我的笔记本上的所有项目都能访问该服务器。
  • uvx mcp-proxy-for-aws 是启动代理的命令;其余参数是传递给代理的参数。
  • https://aws-mcp.us-east-1.api.aws/mcp 是 AWS MCP 服务器的两个区域端点之一。代理会将 Claude Code 的请求转发到该端点。
  • --metadata 将传递给代理目标。此处用于指定 AWS MCP 服务器使用美国西部(俄勒冈州)区域。

我启动 Claude Code,然后键入 /mcp 来验证 AWS MCP 服务器已正确安装并且可以使用我的凭证。

在 Claude Code 中验证 AWS MCP 服务器

我再次提出相同的问题:“如何在 S3 中存储嵌入。”

这一次,Claude Code 知道可以使用一个工具来回答我的问题。该模型向我申请调用 aws___search_documentation 工具的权限。几秒钟后,我收到了一个正确的答案:“AWS 现在提供一项专门服务来执行此操作:Amazon S3 Vectors…”

Claude Code 对 S3 Vector 相关问题的正确回复

定价和可用性
AWS MCP 服务器现已在美国东部(弗吉尼亚州北部)和欧洲地区(法兰克福)AWS 区域推出,可以向任何区域进行 API 调用。AWS MCP 服务器本身不收取额外费用。您只需为创建的 AWS 资源和任何适用的数据传输付费。

AWS MCP 服务器可与 Claude Code、Kiro、Cursor 和任何兼容 MCP 的客户端配合使用。要开始使用,请参阅 AWS MCP 服务器用户指南

自去年初开始在人工智能代理中使用 MCP 工具以来,我一直在期待这样的功能。将最新文档、经过身份验证的 API 访问权限、沙盒脚本执行结合在单个服务器中,可以改变代理在 AWS 上的实际操作能力。期待看到大家基于该功能构建的各类内容。欢迎在评论区告诉我们。

— seb