关于 MCP Server for AWS Resources
通过 SyntropAI 抽象层访问 AWS 服务的 MCP 服务。它以动态 SDK 调用和沙箱执行取代固定服务目录。
主要功能
- 01动态访问 AWS 服务
- 02AST 校验与沙箱执行
- 03运行时生成 API 架构
- 04Docker 部署
- 05AWS 凭证管理
适用场景
- 01查询 EC2 实例
- 02创建 S3 存储桶
- 03列出 Lambda 函数
MCP 相关
通过 SyntropAI 抽象层向 MCP 客户端提供 AWS 服务访问。查询会在经过 AST 校验的沙箱中执行,并受超时保护。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
AWS MCP 服务 - SyntropAI 生态系统
属于 SyntropAI MCP 生态系统——统一的多云抽象框架。
此 MCP(Model Context Protocol)服务通过创新的 SyntropAI 抽象层,为 AWS 服务提供安全、动态的访问。与传统的硬编码服务目录不同,此服务通过内置安全沙箱的动态 SDK 访问,支持任何 AWS 服务。
🚀 主要功能
- 通用 AWS 访问:动态访问所有 AWS 服务,不受硬编码限制
- 安全代码执行:基于 AST 的验证和沙箱执行环境
- 与提供商无关的设计:基于 SyntropAI 的统一抽象模式构建
- 面向未来的架构:无需更新即可自动支持新的 AWS 服务
- Docker 容器化:可用于生产环境的部署
🏗️ 架构
此服务实现了 SyntropAI 抽象模式:
Claude Desktop → MCP Protocol → AWS MCP Server → SyntropAIBox → boto3 → AWS Services
核心组件:
- AWSSession:使用
BaseSession统一管理 AWS 凭证 - AWSResourceQuerier:扩展
BaseQuerier,安全执行查询 - AST 沙箱:具备超时保护的安全代码执行
- 动态 Schema:运行时生成 API 文档
📋 前提条件
- Python 3.10 或更高版本
- 已配置 AWS 凭证(通过
~/.aws/credentials、环境变量或 IAM 角色) - Docker(推荐)
- SyntropAIBox 核心库
🐳 Docker 安装(推荐)
构建并运行
# Build the image
docker build -t mcp-server-aws-resources .
# Run with AWS profile
docker run -i --rm \
-e AWS_PROFILE=default \
-v ~/.aws:/root/.aws \
mcp-server-aws-resources:latest
# Run with environment variables
docker run -i --rm \
-e AWS_ACCESS_KEY_ID=your_key \
-e AWS_SECRET_ACCESS_KEY=your_secret \
-e AWS_DEFAULT_REGION=us-east-1 \
mcp-server-aws-resources:latest
⚙️ Claude Desktop 集成
添加到你的 claude_config.json:
{
"mcpServers": {
"aws-resources": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "AWS_PROFILE=default",
"-v", "/Users/yourusername/.aws:/root/.aws",
"mcp-server-aws-resources:latest"
]
}
}
}
🛡️ 安全功能
基于 AST 的验证
- 防止恶意代码注入
- 导入项和函数采用白名单机制
- 受控的执行环境
安全执行
- 超时保护(默认 2 秒)
- 隔离的命名空间
- JSON 序列化响应
安全查询示例
# User provides this code snippet:
import boto3
ec2 = session.client('ec2')
result = ec2.describe_instances()
系统会:
- ✅ 验证 AST 语法
- ✅ 检查允许的导入项(已批准
boto3) - ✅ 在带超时保护的沙箱中执行
- ✅ 返回 JSON 序列化结果
🔧 使用示例
列出 EC2 实例
import boto3
ec2 = session.client('ec2')
result = ec2.describe_instances()
创建 S3 存储桶
import boto3
s3 = session.client('s3')
result = s3.create_bucket(Bucket='my-unique-bucket-name')
Lambda 函数
import boto3
lambda_client = session.client('lambda')
result = lambda_client.list_functions()
🌟 SyntropAI 生态系统优势
统一的多云体验
- 相同模式适用于 AWS、Azure 和 OCI
- 统一的身份验证和错误处理
- 与提供商无关的抽象
无硬编码服务
- 自动支持任何 AWS 服务
- 不受服务目录限制
- 新服务可立即使用
满足企业需求
- 安全优先的设计
- Docker 容器化
- 全面的日志记录
🔗 相关项目
- 主要文档:完整的生态系统概览和架构
- SyntropAIBox 核心库:共享抽象库
- Azure MCP 服务:Azure 实现
- OCI MCP 服务:Oracle Cloud 实现
- Finviz MCP 服务:金融数据服务
🏆 技术亮点
此实现展示了:
- 高级抽象模式:清晰分离关注点
- 安全工程:AST 验证和沙箱执行
- 云架构:可扩展、易维护的多云设计
- DevOps 卓越实践:容器化、可配置的部署
📞 支持
如有关于 SyntropAI MCP 生态系统的问题:
- 文档:SyntropAI 文档项目
- 作者:Hari Bantwal([email protected])
此服务展示了前沿的云抽象技术,通过创新的架构模式,为 AWS 服务提供安全、统一的访问。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。