AWS MCP服务器
    ](https://github.com/alexei-led/aws-mcp-server/pkgs/container/aws-mcp-server)
让Claude通过AWS CLI访问所有200多个AWS服务。
演示
它做什么
此MCP服务器允许Claude代表您运行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传输 新
streamable-http基于web的MCP客户端的传输,取代了已弃用的sse运输(#33) - 输入验证错误处理 --验证错误现在返回正确的MCP工具错误(
isError: true)而不是常规结果(#34) - 服务器描述 --服务器通过以下方式向MCP客户端通告其目的
instructions现场(#35) - 服务器图标 --服务器为MCP客户端显示提供图标元数据(#36)
- 平滑关闭 --当MCP客户端断开连接时,服务器会干净地断开连接(#16)
快速开始
先决条件
克劳德代码
添加到MCP设置(Cmd+Shift+P→ “克劳德:打开MCP配置”):
{
"mcpServers": {
"aws": {
"command": "uvx",
"args": ["aws-mcp"]
}
}
}克劳德桌面
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %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"
]
}
}
}备注:替换~/.aws在Windows上使用完整路径(例如。,C:\Users\YOU\.aws).
具有流式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.
备注:Thesse传输已弃用。使用streamable-http相反。
AWS凭据
服务器使用标准的AWS凭据链。您的凭据将从以下位置自动发现:
- 环境变量:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY - 凭据文件:
~/.aws/credentials - 配置文件:
~/.aws/config(用于配置文件和区域) - IAM角色:在EC2、ECS或Lambda上运行时
要使用特定配置文件,请执行以下操作:
{
"mcpServers": {
"aws": {
"command": "uvx",
"args": ["aws-mcp"],
"env": {
"AWS_PROFILE": "my-profile"
}
}
}
}配置
AWS设置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
AWS_PROFILE | 要使用的AWS配置文件 | default |
AWS_REGION | AWS区域(也接受 AWS_DEFAULT_REGION) | us-east-1 |
AWS_CONFIG_FILE | AWS配置文件的自定义路径 | ~/.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角色 (只有克劳德需要的权限)
- 从不使用root凭据
- 考虑 码头工人 用于额外的主机隔离
有关详细的安全架构,请参阅 安全文档.
文档
许可证
MIT许可证——见 许可证 了解详情。
