Part of the SyntropAI MCP Ecosystem - A unified multi-cloud abstraction framework.
This MCP (Model Context Protocol) server provides secure, dynamic access to AWS services through the innovative SyntropAI abstraction layer. Unlike traditional hardcoded service catalogs, this server supports any AWS service through dynamic SDK access with built-in security sandboxing.
- Universal AWS Access: Dynamic access to all AWS services without hardcoded limitations
- Secure Code Execution: AST-based validation and sandboxed execution environment
- Provider-Agnostic Design: Built on SyntropAI's unified abstraction pattern
- Future-Proof Architecture: Automatically supports new AWS services without updates
- Docker Containerization: Production-ready deployment
This server implements the SyntropAI abstraction pattern:
Claude Desktop → MCP Protocol → AWS MCP Server → SyntropAIBox → boto3 → AWS Services
- AWSSession: Unified AWS credential management using
BaseSession - AWSResourceQuerier: Secure query execution extending
BaseQuerier - AST Sandbox: Safe code execution with timeout protection
- Dynamic Schema: Runtime API documentation generation
- Python 3.10 or higher
- AWS credentials configured (via
~/.aws/credentials, environment variables, or IAM roles) - Docker (recommended)
- SyntropAIBox core library
# 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:latestAdd to your 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"
]
}
}
}- Prevents malicious code injection
- Whitelisted imports and functions
- Controlled execution environment
- Timeout protection (2-second default)
- Isolated namespace
- JSON-serialized responses
# User provides this code snippet:
import boto3
ec2 = session.client('ec2')
result = ec2.describe_instances()The system:
- ✅ Validates AST syntax
- ✅ Checks allowed imports (
boto3approved) - ✅ Executes in sandbox with timeout
- ✅ Returns JSON-serialized results
import boto3
ec2 = session.client('ec2')
result = ec2.describe_instances()import boto3
s3 = session.client('s3')
result = s3.create_bucket(Bucket='my-unique-bucket-name')import boto3
lambda_client = session.client('lambda')
result = lambda_client.list_functions()- Same patterns work across AWS, Azure, OCI
- Consistent authentication and error handling
- Provider-agnostic abstractions
- Supports any AWS service automatically
- No service catalog limitations
- Future services work immediately
- Security-first design
- Docker containerization
- Comprehensive logging
- Main Documentation: Complete ecosystem overview and architecture
- SyntropAIBox Core: Shared abstraction library
- Azure MCP Server: Azure implementation
- OCI MCP Server: Oracle Cloud implementation
- Finviz MCP Server: Financial data server
This implementation showcases:
- Advanced Abstraction Patterns: Clean separation of concerns
- Security Engineering: AST validation and sandboxed execution
- Cloud Architecture: Scalable, maintainable multi-cloud design
- DevOps Excellence: Containerized, configurable deployment
For questions about the SyntropAI MCP ecosystem:
- Documentation: SyntropAI Documentation Project
- Author: Hari Bantwal (hpai.bantwal@gmail.com)
This server demonstrates cutting-edge cloud abstraction technology, providing secure, unified access to AWS services through innovative architectural patterns.