mcpField
A
AWS Model Context Protocol (MCP) Server

AWS Model Context Protocol (MCP) Server

本地服务
github.com/alexei-led云与基础设施18635 周前更新

关于 AWS Model Context Protocol (MCP) Server

AWS MCP Server 是一个轻量服务,使 AI 助手能够在容器化的安全环境中执行 AWS CLI 命令。它面向使用 Claude、Cursor 等支持 MCP 的工具进行云基础设施管理的用户。该服务封装的是 CLI 本身,而非逐个封装 AWS API。

主要功能

  1. 01封装 AWS CLI 命令执行
  2. 02提供 aws_cli_help 与 aws_cli_pipeline 工具
  3. 03支持 jq、grep 等管道
  4. 04支持 stdio 与 streamable-http 传输
  5. 05通过 IAM 策略控制权限

适用场景

  1. 01让 Claude 查询与管理 AWS 资源
  2. 02通过 Docker 隔离执行 AWS CLI 命令

MCP 相关

作为 MCP 服务,向 MCP 客户端暴露 aws_cli_help 和 aws_cli_pipeline 两个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aws": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/alexei-led/aws-mcp-server:latest"
]
}
}
}
启动命令docker run -i --rm ghcr.io/alexei-led/aws-mcp-server:latest

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/alexei-led/aws-mcp-server:latest

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AWS MCP 服务

CI PyPI Code Coverage Linter: Ruff Docker Image

通过 AWS CLI,让 Claude 访问 200 多项 AWS 服务。

演示

演示

功能说明

此 MCP 服务可代表你运行 AWS CLI 命令。它不单独封装每个 AWS API,而是直接封装 CLI 本身,让 Claude 仅通过两个工具即可完全访问 AWS:

工具用途
aws_cli_help获取任何 AWS 命令的文档
aws_cli_pipeline执行 AWS CLI 命令,并可选择使用管道(jq、grep 等)

Claude 会按需使用 --help 学习命令,然后执行命令。它实际能执行哪些操作由你的 IAM 策略控制。

flowchart LR
    Claude[Claude] -->|MCP| Server[AWS MCP Server]
    Server --> CLI[AWS CLI]
    CLI --> AWS[AWS Cloud]
    IAM[Your IAM Policy] -.->|controls| AWS

最新动态

  • 可流式传输的 HTTP 传输 — 新增面向 Web MCP 客户端的 streamable-http 传输,取代已弃用的 sse 传输(#33)
  • 输入验证错误处理 — 验证错误现在会返回规范的 MCP 工具错误(isError: true),而不是常规结果(#34)
  • 服务描述 — 服务通过 instructions 字段向 MCP 客户端说明其用途(#35)
  • 服务图标 — 服务提供图标元数据,供 MCP 客户端显示(#36)
  • 平稳关闭 — MCP 客户端断开连接时,服务会妥善断开连接(#16)

快速开始

前置条件
Claude Code

将以下内容添加到 MCP 设置中(Cmd+Shift+P → “Claude: 打开 MCP 配置”):

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["aws-mcp"]
    }
  }
}
Claude Desktop

将以下内容添加到 Claude Desktop 配置文件:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["aws-mcp"]
    }
  }
}
Docker(更安全)

Docker 通过在容器中运行命令来提供更强的隔离:

{
  "mcpServers": {
    "aws": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "~/.aws:/home/appuser/.aws:ro",
        "ghcr.io/alexei-led/aws-mcp-server:latest"
      ]
    }
  }
}

注意:在 Windows 上,请将 ~/.aws 替换为完整路径(例如 C:\Users\YOU\.aws)。

使用 Streamable HTTP 传输的 Docker

对于基于 Web 的 MCP 客户端,请使用 streamable-http 传输:

docker run --rm -p 8000:8000 \
  -e AWS_MCP_TRANSPORT=streamable-http \
  -v ~/.aws:/home/appuser/.aws:ro \
  ghcr.io/alexei-led/aws-mcp-server:latest

服务将在 http://localhost:8000/mcp 提供。

注意:sse 传输已弃用。请改用 streamable-http。

AWS 凭证

服务使用标准 AWS 凭证链。系统会自动从以下位置发现凭证:

  1. 环境变量:AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY
  2. 凭证文件:~/.aws/credentials
  3. 配置文件:~/.aws/config(用于配置文件和区域)
  4. IAM 角色:在 EC2、ECS 或 Lambda 上运行时

若要使用特定配置文件:

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["aws-mcp"],
      "env": {
        "AWS_PROFILE": "my-profile"
      }
    }
  }
}

配置

AWS 设置
环境变量说明默认值
AWS_PROFILE要使用的 AWS 配置文件default
AWS_REGIONAWS 区域(也接受 AWS_DEFAULT_REGION)us-east-1
AWS_CONFIG_FILEAWS 配置文件的自定义路径~/.aws/config
AWS_SHARED_CREDENTIALS_FILE凭证文件的自定义路径~/.aws/credentials
服务设置
环境变量说明默认值
AWS_MCP_TIMEOUT命令执行超时时间(秒)300
AWS_MCP_MAX_OUTPUT最大输出字符数100000
AWS_MCP_TRANSPORT传输协议(stdio、sse 或 streamable-http)stdio
AWS_MCP_SANDBOX沙盒模式(auto、disabled、required)auto
AWS_MCP_SANDBOX_CREDENTIALS凭证传递方式(env、aws_config、both)both

安全性

您的 IAM 策略就是安全边界。 此服务会执行 Claude 请求的任何 AWS 命令,而 IAM 控制实际能够成功执行的命令。

最佳实践:

  • 使用最小权限 IAM 角色(仅授予 Claude 所需的权限)
  • 切勿使用 root 凭证
  • 考虑使用 Docker 加强主机隔离

有关详细的安全架构,请参阅安全文档。

文档

许可证

MIT 许可证 — 详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。