article
README
🚀 AWS 资源 MCP 服务器
这是一个由 Python 实现的 AWS 资源 MCP 服务器,借助 boto3 库对 AWS 资源进行查询和管理。该服务器支持 S3、EC2、DynamoDB 等多种 AWS 服务,还能通过 Docker 容器运行,为 AWS 资源管理提供了简单灵活的解决方案。
🚀 快速开始
配置 AWS 凭证
确保在运行容器前已正确配置 AWS 凭证(访问密钥 ID 和秘密访问密钥)。
选择区域
可以通过设置 AWS_DEFAULT_REGION 环境变量来指定默认区域,或在调用中显式指定区域。
使用 API
通过发送 HTTP 请求到 MCP 服务器,并包含所需的 AWS 操作和参数。
✨ 主要特性
支持的服务
- S3:可进行列出桶、上传/下载文件等操作。
- EC2:能查询实例状态、启动/停止实例等。
- DynamoDB:支持读写表数据、查询索引等操作。
- IAM:可管理用户和权限。
轻量级与易集成
与现有的工具相比,本项目的实现更加轻量级且易于集成到各种环境中。
📦 安装指南
Docker 安装
支持平台
- Linux/amd64
- Linux/arm64
- Linux/arm/v7
方案 1: 从 Docker Hub 拉取
docker pull buryhuang/mcp-server-aws-resources:latest
方案 2: 本地构建
docker build -t mcp-server-aws-resources .
运行容器
方式一:使用环境变量配置凭证
docker run \
-e AWS_ACCESS_KEY_ID=your_access_key_id_here \
-e AWS_SECRET_ACCESS_KEY=your_secret_access_key_here \
-e AWS_DEFAULT_REGION=us-east-1 \
buryhuang/mcp-server-aws-resources:latest
方式二:使用配置文件和本地凭证
docker run \
-e AWS_PROFILE=default \
-v ~/.aws:/root/.aws \
buryhuang/mcp-server-aws-resources:latest
跨平台发布
要将镜像推送到多个平台,请按照以下步骤操作:
-
创建新的构建器实例(如果尚未创建):
docker buildx create --use -
构建并推送多平台镜像:
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-server-aws-resources:latest --push . -
验证镜像是否可用于指定平台:
docker buildx imagetools inspect buryhuang/mcp-server-aws-resources:latest
💻 使用示例
基础用法
示例查询
# 列出所有 S3 桶
{
"operation": "list_buckets",
"params": {}
}
# 查询 EC2 实例状态
{
"operation": "describe_instances",
"params": {
"InstanceIds": ["i-12345678"]
}
}
使用 Claude Desktop 的 Docker 运行示例
示例 1:使用 ACCESS_KEY_ID 和 SECRET_ACCESS_KEY
{
"mcpServers": {
"aws-resources": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_ACCESS_KEY_ID=your_access_key_id_here",
"-e",
"AWS_SECRET_ACCESS_KEY=your_secret_access_key_here",
"-e",
"AWS_DEFAULT_REGION=us-east-1",
"buryhuang/mcp-server-aws-resources:latest"
]
}
}
}
示例 2:使用 PROFILE 和挂载本地 AWS 凭证
{
"mcpServers": {
"aws-resources": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_PROFILE=default",
"-v",
"~/.aws:/root/.aws",
" buryhuang/mcp-server-aws-resources:latest"
]
}
}
}
示例代码
import requests
# 初始化 MCP 服务器地址
mcp_server_url = "http://localhost:5000"
# 列出 S3 桶
response = requests.post(mcp_server_url, json={
"operation": "list_buckets",
"params": {}
})
print(response.json())
# 查询 EC2 实例状态
response = requests.post(mcp_server_url, json={
"operation": "describe_instances",
"params": {
"InstanceIds": ["i-12345678"]
}
})
print(response.json())
⚠️ 注意事项
⚠️ 重要提示
确保 AWS 凭证的安全性,避免泄露。
💡 使用建议
定期更新依赖库以获取最新的功能和安全修复。
通过以上步骤,您可以轻松地在本地或云环境中部署并使用这个 MCP 服务器来管理和查询 AWS 资源。
微信扫一扫