Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AWS SageFind idle resources and provide cost saving recommendations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AWS Sage
A production-grade Model Context Protocol (MCP) server for AWS. Connect AI assistants to your AWS infrastructure and manage it through natural conversation.
š Works with any MCP-compatible client - just install and configure.
Compatible Clients
Client | Status | Notes |
ā Full Support | Recommended | |
ā Full Support | CLI & IDE | |
ā Full Support | MCP enabled | |
ā Full Support | VS Code extension | |
ā Full Support | MCP enabled | |
ā Full Support | MCP enabled | |
VS Code + Copilot | ā³ Planned | Via MCP extension |
Why AWS Sage?
AWS Labs offers 15 separate MCP servers for different services. AWS Sage takes a different approach:
Feature | AWS Labs MCP | AWS Sage |
Architecture | 15 separate servers | 1 unified server |
Tools | ~45 tools across servers | 30 intelligent tools |
Cross-Service Queries | No | Yes - discover resources across all services |
Dependency Mapping | No | Yes - "what depends on this resource?" |
Impact Analysis | No | Yes - "what breaks if I delete this?" |
Incident Investigation | No | Yes - automated troubleshooting workflows |
Cost Analysis | Separate server | Built-in - idle resources, rightsizing, projections |
LocalStack Support | No | Yes - seamless local development |
Multi-Account | No | Yes - cross-account via AssumeRole |
Docker Support | Separate | Built-in with docker-compose |
Safety System | Basic | 3-tier with 70+ blocked operations |
Natural Language | Limited | Full NLP with intent classification |
Features
Core Capabilities
Natural Language Queries: "Show me EC2 instances tagged production"
Multi-Profile Support: Switch between AWS profiles with SSO support
Auto-Pagination: Never miss resources due to pagination limits
Smart Formatting: Tabular output for lists, detailed JSON for single resources
Safety System
Three safety modes protect your infrastructure:
Mode | Description | Operations Allowed |
| Default - exploration only | list, describe, get |
| Normal operations | read + write (with confirmation) |
| Full access | all except denylist |
Always Blocked (70+ operations):
cloudtrail.delete_trail/stop_loggingiam.delete_account_password_policyorganizations.leave_organizationguardduty.delete_detectorkms.schedule_key_deletionAnd 65+ more critical operations
Unique Differentiators
Cross-Service Resource Discovery
Find resources across your entire AWS account:
Dependency Mapping
Understand resource relationships:
Impact Analysis
Know what breaks before you delete:
Incident Investigation
Automated troubleshooting workflows:
Cost Analysis
Find savings and optimize spending:
LocalStack Integration
Develop locally without touching production:
Multi-Account Support
Work across AWS accounts:
Quick Start
That's it! Claude Desktop automatically runs AWS Sage when needed.
Installation
Prerequisites
Python 3.11+
AWS credentials configured (
~/.aws/credentialsor~/.aws/config)Any MCP-compatible client (see Compatible Clients above)
Option 1: From Source
Option 2: Direct from GitHub
Client Configuration
First, find your Python path:
Claude Desktop
Config file location:
OS | Path |
macOS |
|
Windows |
|
Linux |
|
Claude Code
Option 1: CLI command
Option 2: Project config (.mcp.json in project root)
Option 3: Global config (~/.claude.json)
Cursor
Config file: ~/.cursor/mcp.json (global) or .cursor/mcp.json (project)
Cline (VS Code Extension)
Config file: Access via Cline settings ā "Configure MCP Servers" ā cline_mcp_settings.json
Windsurf
Config file:
OS | Path |
macOS |
|
Windows |
|
Zed
Config file: Zed Settings (settings.json)
VS Code (Native MCP)
Config file: .vscode/mcp.json (project)
Docker Installation (All Clients)
For enhanced security with container isolation:
Docker config (use in any client above):
macOS/Linux:
Windows:
Tools Reference (30 Tools)
Credential Management
Tool | Description |
| List available AWS profiles |
| Select and authenticate with a profile |
| Show current account ID, region, identity |
Safety Controls
Tool | Description |
| Switch between READ_ONLY, STANDARD, UNRESTRICTED |
Query Operations (Read-Only)
Tool | Description |
| Natural language AWS queries |
| Check if an operation is valid without executing |
Execute Operations (Require Confirmation)
Tool | Description |
| Execute validated AWS operations |
Context & Memory
Tool | Description |
| View conversation context and recent resources |
| Create shortcuts for resources (e.g., "prod-db") |
| View all defined aliases |
Cross-Service Intelligence
Tool | Description |
| Find resources by tags across all services |
| Show what a resource depends on |
| Predict what breaks if you modify/delete something |
| Automated incident investigation workflows |
AWS Knowledge (Composition)
Tool | Description |
| Search AWS documentation |
| Query built-in AWS knowledge base |
| Get service-specific best practices |
| Show default service quotas |
Cost Analysis
Tool | Description |
| Find unused EC2/RDS/EBS/EIP resources |
| Get EC2 right-sizing suggestions |
| Spending analysis by service/tag |
| Estimate costs before deployment |
Environment Management
Tool | Description |
| List configured environments (production/localstack) |
| Switch between LocalStack and production |
| Current environment details |
| Verify LocalStack connectivity |
| Diff resources between environments |
Multi-Account Management
Tool | Description |
| Assume role in another account via STS |
| Show configured accounts |
| Change active account context |
Usage Examples
Basic Queries
Cost Analysis
LocalStack Development
Multi-Account Operations
Cross-Service Discovery
Dependency Analysis
Impact Analysis
Incident Investigation
Architecture
Development (For Contributors)
Setup
Run Tests
Local Testing with LocalStack
Test against LocalStack without touching real AWS:
Debug Server Directly
For development/debugging (not needed for normal use):
Environment Variables
Variable | Description | Default |
| AWS profile to use |
|
| Default AWS region |
|
| Safety mode (read_only/standard/unrestricted) |
|
| Enable LocalStack by default |
|
| LocalStack host |
|
| LocalStack port |
|
Troubleshooting
View Logs
Common Issues
"Profile not found"
Ensure AWS credentials are configured in
~/.aws/credentialsor~/.aws/configFor SSO profiles, run
aws sso login --profile <name>first
"Operation blocked"
Check current safety mode with
get_account_infoUse
set_safety_modeto change if neededSome operations are always blocked (see denylist)
"Validation failed"
The parser validates operations against botocore models
Check spelling of service/operation names
Use
validate_operationto test before executing
"LocalStack not reachable"
Ensure LocalStack is running:
docker compose up -d localstackCheck endpoint:
curl http://localhost:4566/_localstack/healthUse
check_localstacktool to diagnose
Roadmap
v1.0.0 (Current)
30 intelligent tools across 10 categories
Cross-service discovery, dependency mapping, impact analysis
Cost optimization analyzer
LocalStack integration
Multi-account support
Docker containerization
3-tier safety system with 70+ blocked operations
Future
CloudFormation drift detection
Custom workflow definitions
Terraform state integration
Compliance scanning (CIS benchmarks)
References
Model Context Protocol Specification - Anthropic, 2024
MCP Ecosystem - 5,800+ servers, 97M monthly SDK downloads (2025)
AWS Labs MCP Servers - Official AWS MCP implementations
FastMCP Framework - Python MCP SDK
LocalStack - Local AWS cloud emulator
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License - see LICENSE for details.
Contact
GitHub Issues: arunsanna/aws-sage
Email: arun.sanna@outlook.com
Website: arunsanna.com