这是一个由 Python 实现的 AWS 资源 MCP 服务器,借助 boto3 库对 AWS 资源进行查询和管理。该服务器支持 S3、EC2、DynamoDB 等多种 AWS 服务,还能通过 Docker 容器运行,为 AWS 资源管理提供了简单灵活的解决方案。
确保在运行容器前已正确配置 AWS 凭证(访问密钥 ID 和秘密访问密钥)。
可以通过设置 AWS_DEFAULT_REGION 环境变量来指定默认区域,或在调用中显式指定区域。
通过发送 HTTP 请求到 MCP 服务器,并包含所需的 AWS 操作和参数。
与现有的工具相比,本项目的实现更加轻量级且易于集成到各种环境中。
docker pull buryhuang/mcp-server-aws-resources:latest
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"]
}
}
{
"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"
]
}
}
}
{
"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 资源。