Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Aws Sage

    The aws-mcp project is a Python-based application designed to interact with AWS services using the Model Context Protocol (MCP).

    3 stars
    Python
    Updated Oct 3, 2025

    Table of Contents

    • Compatible Clients
    • Why AWS Sage?
    • Features
    • Core Capabilities
    • Safety System
    • Unique Differentiators
    • Cross-Service Resource Discovery
    • Dependency Mapping
    • Impact Analysis
    • Incident Investigation
    • Cost Analysis
    • LocalStack Integration
    • Multi-Account Support
    • Quick Start
    • Installation
    • Prerequisites
    • Option 1: From Source
    • Option 2: Direct from GitHub
    • Client Configuration
    • Claude Desktop
    • Claude Code
    • Cursor
    • Cline (VS Code Extension)
    • Windsurf
    • Zed
    • VS Code (Native MCP)
    • Docker Installation (All Clients)
    • Tools Reference (30 Tools)
    • Credential Management
    • Safety Controls
    • Query Operations (Read-Only)
    • Execute Operations (Require Confirmation)
    • Context & Memory
    • Cross-Service Intelligence
    • AWS Knowledge (Composition)
    • Cost Analysis
    • Environment Management
    • Multi-Account Management
    • 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
    • Debug Server Directly
    • Environment Variables
    • Troubleshooting
    • View Logs
    • Common Issues
    • Roadmap
    • References
    • Contributing
    • License
    • Contact

    Table of Contents

    • Compatible Clients
    • Why AWS Sage?
    • Features
    • Core Capabilities
    • Safety System
    • Unique Differentiators
    • Cross-Service Resource Discovery
    • Dependency Mapping
    • Impact Analysis
    • Incident Investigation
    • Cost Analysis
    • LocalStack Integration
    • Multi-Account Support
    • Quick Start
    • Installation
    • Prerequisites
    • Option 1: From Source
    • Option 2: Direct from GitHub
    • Client Configuration
    • Claude Desktop
    • Claude Code
    • Cursor
    • Cline (VS Code Extension)
    • Windsurf
    • Zed
    • VS Code (Native MCP)
    • Docker Installation (All Clients)
    • Tools Reference (30 Tools)
    • Credential Management
    • Safety Controls
    • Query Operations (Read-Only)
    • Execute Operations (Require Confirmation)
    • Context & Memory
    • Cross-Service Intelligence
    • AWS Knowledge (Composition)
    • Cost Analysis
    • Environment Management
    • Multi-Account Management
    • 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
    • Debug Server Directly
    • Environment Variables
    • Troubleshooting
    • View Logs
    • Common Issues
    • Roadmap
    • References
    • Contributing
    • License
    • Contact

    Documentation

    AWS Sage

    Version

    License

    Python

    Tests

    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

    ClientStatusNotes
    Claude Desktop✅ Full SupportRecommended
    Claude Code✅ Full SupportCLI & IDE
    Cursor✅ Full SupportMCP enabled
    Cline✅ Full SupportVS Code extension
    Windsurf✅ Full SupportMCP enabled
    Zed✅ Full SupportMCP enabled
    VS Code + Copilot⏳ PlannedVia MCP extension

    Why AWS Sage?

    AWS Labs offers 15 separate MCP servers for different services. AWS Sage takes a different approach:

    FeatureAWS Labs MCPAWS Sage
    Architecture15 separate servers1 unified server
    Tools~45 tools across servers30 intelligent tools
    Cross-Service QueriesNoYes - discover resources across all services
    Dependency MappingNoYes - "what depends on this resource?"
    Impact AnalysisNoYes - "what breaks if I delete this?"
    Incident InvestigationNoYes - automated troubleshooting workflows
    Cost AnalysisSeparate serverBuilt-in - idle resources, rightsizing, projections
    LocalStack SupportNoYes - seamless local development
    Multi-AccountNoYes - cross-account via AssumeRole
    Docker SupportSeparateBuilt-in with docker-compose
    Safety SystemBasic3-tier with 70+ blocked operations
    Natural LanguageLimitedFull 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:

    ModeDescriptionOperations Allowed
    READ_ONLYDefault - exploration onlylist, describe, get
    STANDARDNormal operationsread + write (with confirmation)
    UNRESTRICTEDFull accessall except denylist

    Always Blocked (70+ operations):

    • cloudtrail.delete_trail / stop_logging
    • iam.delete_account_password_policy
    • organizations.leave_organization
    • guardduty.delete_detector
    • kms.schedule_key_deletion
    • And 65+ more critical operations

    Unique Differentiators

    Cross-Service Resource Discovery

    Find resources across your entire AWS account:

    code
    "Find all resources tagged Environment=production"
    "Discover resources with Name containing api"

    Dependency Mapping

    Understand resource relationships:

    code
    "What resources does my Lambda function depend on?"
    "Map dependencies for my ECS service"

    Impact Analysis

    Know what breaks before you delete:

    code
    "What will break if I delete this security group?"
    "Show impact of removing this IAM role"

    Incident Investigation

    Automated troubleshooting workflows:

    code
    "Investigate why my Lambda is failing"
    "Debug high latency on my ALB"
    "Analyze this security alert"

    Cost Analysis

    Find savings and optimize spending:

    code
    "Find idle resources in my account"
    "Get rightsizing recommendations for EC2"
    "Project costs for 3 t3.large instances"

    LocalStack Integration

    Develop locally without touching production:

    code
    "Switch to LocalStack environment"
    "Compare S3 buckets between localstack and production"

    Multi-Account Support

    Work across AWS accounts:

    code
    "Assume role in account 123456789012"
    "Switch to production account"

    Quick Start

    bash
    # 1. Clone and install
    git clone https://github.com/arunsanna/aws-sage
    cd aws-sage
    pip install .
    
    # 2. Add to Claude Desktop config (see Configuration below)
    # 3. Restart Claude Desktop
    # 4. Start chatting: "List my S3 buckets"

    That's it! Claude Desktop automatically runs AWS Sage when needed.

    Installation

    Prerequisites

    • Python 3.11+
    • AWS credentials configured (~/.aws/credentials or ~/.aws/config)
    • Any MCP-compatible client (see Compatible Clients above)

    Option 1: From Source

    bash
    git clone https://github.com/arunsanna/aws-sage
    cd aws-sage
    pip install .

    Option 2: Direct from GitHub

    bash
    pip install git+https://github.com/arunsanna/aws-sage.git

    Client Configuration

    First, find your Python path:

    bash
    which python  # or: which python3

    Claude Desktop

    Config file location:

    OSPath
    macOS~/Library/Application Support/Claude/claude_desktop_config.json
    Windows%APPDATA%\Claude\claude_desktop_config.json
    Linux~/.config/Claude/claude_desktop_config.json
    json
    {
      "mcpServers": {
        "aws-sage": {
          "command": "/path/to/python3",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    Claude Code

    Option 1: CLI command

    bash
    claude mcp add aws-sage -s user -- python -m aws_sage.server

    Option 2: Project config (.mcp.json in project root)

    json
    {
      "mcpServers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    Option 3: Global config (~/.claude.json)

    json
    {
      "mcpServers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    Cursor

    Config file: ~/.cursor/mcp.json (global) or .cursor/mcp.json (project)

    json
    {
      "mcpServers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    Cline (VS Code Extension)

    Config file: Access via Cline settings → "Configure MCP Servers" → cline_mcp_settings.json

    json
    {
      "mcpServers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          },
          "disabled": false
        }
      }
    }

    Windsurf

    Config file:

    OSPath
    macOS~/.codeium/windsurf/mcp_config.json
    Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
    json
    {
      "mcpServers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    Zed

    Config file: Zed Settings (settings.json)

    json
    {
      "context_servers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    VS Code (Native MCP)

    Config file: .vscode/mcp.json (project)

    json
    {
      "servers": {
        "aws-sage": {
          "command": "python",
          "args": ["-m", "aws_sage.server"],
          "env": {
            "AWS_PROFILE": "default"
          }
        }
      }
    }

    Docker Installation (All Clients)

    For enhanced security with container isolation:

    bash
    git clone https://github.com/arunsanna/aws-sage
    cd aws-sage
    docker compose build aws-sage

    Docker config (use in any client above):

    macOS/Linux:

    json
    {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "${HOME}/.aws:/home/appuser/.aws:ro",
        "-e", "AWS_PROFILE=default",
        "aws-sage:latest"
      ]
    }

    Windows:

    json
    {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "%USERPROFILE%\\.aws:/home/appuser/.aws:ro",
        "-e", "AWS_PROFILE=default",
        "aws-sage:latest"
      ]
    }

    Tools Reference (30 Tools)

    Credential Management

    ToolDescription
    list_profilesList available AWS profiles
    select_profileSelect and authenticate with a profile
    get_account_infoShow current account ID, region, identity

    Safety Controls

    ToolDescription
    set_safety_modeSwitch between READ_ONLY, STANDARD, UNRESTRICTED

    Query Operations (Read-Only)

    ToolDescription
    aws_queryNatural language AWS queries
    validate_operationCheck if an operation is valid without executing

    Execute Operations (Require Confirmation)

    ToolDescription
    aws_executeExecute validated AWS operations

    Context & Memory

    ToolDescription
    get_contextView conversation context and recent resources
    set_aliasCreate shortcuts for resources (e.g., "prod-db")
    list_aliasesView all defined aliases

    Cross-Service Intelligence

    ToolDescription
    discover_resourcesFind resources by tags across all services
    map_dependenciesShow what a resource depends on
    impact_analysisPredict what breaks if you modify/delete something
    investigate_incidentAutomated incident investigation workflows

    AWS Knowledge (Composition)

    ToolDescription
    search_docsSearch AWS documentation
    get_aws_knowledgeQuery built-in AWS knowledge base
    get_best_practicesGet service-specific best practices
    get_service_limitsShow default service quotas

    Cost Analysis

    ToolDescription
    find_idle_resourcesFind unused EC2/RDS/EBS/EIP resources
    get_rightsizing_recommendationsGet EC2 right-sizing suggestions
    get_cost_breakdownSpending analysis by service/tag
    project_costsEstimate costs before deployment

    Environment Management

    ToolDescription
    list_environmentsList configured environments (production/localstack)
    switch_environmentSwitch between LocalStack and production
    get_environment_infoCurrent environment details
    check_localstackVerify LocalStack connectivity
    compare_environmentsDiff resources between environments

    Multi-Account Management

    ToolDescription
    assume_roleAssume role in another account via STS
    list_accountsShow configured accounts
    switch_accountChange active account context

    Usage Examples

    Basic Queries

    code
    "List all S3 buckets"
    "Show EC2 instances in us-west-2"
    "Describe Lambda function payment-processor"
    "Get IAM users with console access"

    Cost Analysis

    code
    "Find idle resources in us-east-1"
    "Get rightsizing recommendations for EC2"
    "Show cost breakdown by service for last 30 days"
    "Project costs for 2 t3.large and 100GB gp3 EBS"

    LocalStack Development

    code
    "Switch to localstack"
    "Create an S3 bucket in localstack"
    "Compare DynamoDB tables between localstack and production"
    "Check localstack connectivity"

    Multi-Account Operations

    code
    "Assume role arn:aws:iam::123456789012:role/AdminRole"
    "List all configured accounts"
    "Switch to production account"

    Cross-Service Discovery

    code
    "Find all resources tagged with Environment=production"
    "Discover resources owned by team-platform"
    "Show all resources in the payment-service stack"

    Dependency Analysis

    code
    "What does my api-gateway Lambda depend on?"
    "Map all dependencies for the checkout-service ECS task"
    "Show resources connected to vpc-abc123"

    Impact Analysis

    code
    "What breaks if I delete sg-abc123?"
    "Impact of terminating this RDS instance"
    "What depends on this KMS key?"

    Incident Investigation

    code
    "Investigate Lambda failures for order-processor"
    "Debug high latency: ALB arn:aws:elasticloadbalancing:..."
    "Analyze security alert for instance i-abc123"

    Architecture

    code
    aws-sage/
    ├── Dockerfile                  # Container support
    ├── docker-compose.yml          # LocalStack + MCP server
    │
    ├── src/aws_sage/
    │   ├── server.py              # FastMCP server (30 tools)
    │   ├── config.py              # Configuration & safety modes
    │   │
    │   ├── core/
    │   │   ├── session.py         # AWS session management
    │   │   ├── context.py         # Conversation memory
    │   │   ├── environment.py     # Environment configuration
    │   │   ├── environment_manager.py  # LocalStack/production switching
    │   │   ├── multi_account.py   # Cross-account management
    │   │   └── exceptions.py      # Custom exceptions
    │   │
    │   ├── safety/
    │   │   ├── classifier.py      # Operation classification
    │   │   ├── validator.py       # Pre-execution validation
    │   │   └── denylist.py        # Blocked operations (70+)
    │   │
    │   ├── parser/
    │   │   ├── intent.py          # NLP intent classification
    │   │   └── service_models.py  # Botocore integration
    │   │
    │   ├── execution/
    │   │   ├── engine.py          # Execution orchestrator
    │   │   └── pagination.py      # Auto-pagination
    │   │
    │   ├── composition/
    │   │   ├── docs_proxy.py      # AWS documentation
    │   │   └── knowledge_proxy.py # AWS knowledge base + live query
    │   │
    │   └── differentiators/
    │       ├── discovery.py       # Cross-service discovery
    │       ├── dependencies.py    # Dependency mapping
    │       ├── workflows.py       # Incident investigation
    │       ├── cost.py            # Cost analysis
    │       └── compare.py         # Environment comparison
    │
    └── tests/
        ├── unit/                  # Unit tests (145 tests)
        └── integration/           # Integration tests

    Development (For Contributors)

    Setup

    bash
    git clone https://github.com/arunsanna/aws-sage
    cd aws-sage
    pip install -e ".[dev]"

    Run Tests

    bash
    pytest                          # All tests
    pytest --cov=aws_sage           # With coverage
    pytest tests/unit/test_cost.py  # Specific module

    Local Testing with LocalStack

    Test against LocalStack without touching real AWS:

    bash
    # Start LocalStack
    docker compose up -d localstack
    
    # In Claude Desktop, say:
    # "Switch to localstack environment"
    # "Create test bucket my-test-bucket"

    Debug Server Directly

    For development/debugging (not needed for normal use):

    bash
    fastmcp dev src/aws_sage/server.py  # Interactive mode
    python -m aws_sage.server           # Direct run

    Environment Variables

    VariableDescriptionDefault
    AWS_PROFILEAWS profile to usedefault
    AWS_DEFAULT_REGIONDefault AWS regionus-east-1
    AWS_SAGE_SAFETY_MODESafety mode (read_only/standard/unrestricted)read_only
    AWS_SAGE_LOCALSTACK_ENABLEDEnable LocalStack by defaultfalse
    AWS_SAGE_LOCALSTACK_HOSTLocalStack hostlocalhost
    AWS_SAGE_LOCALSTACK_PORTLocalStack port4566

    Troubleshooting

    View Logs

    bash
    # Claude Desktop logs
    tail -f ~/Library/Logs/Claude/mcp-server-aws-sage.log
    tail -f ~/Library/Logs/Claude/mcp.log

    Common Issues

    "Profile not found"

    • Ensure AWS credentials are configured in ~/.aws/credentials or ~/.aws/config
    • For SSO profiles, run aws sso login --profile first

    "Operation blocked"

    • Check current safety mode with get_account_info
    • Use set_safety_mode to change if needed
    • Some operations are always blocked (see denylist)

    "Validation failed"

    • The parser validates operations against botocore models
    • Check spelling of service/operation names
    • Use validate_operation to test before executing

    "LocalStack not reachable"

    • Ensure LocalStack is running: docker compose up -d localstack
    • Check endpoint: curl http://localhost:4566/_localstack/health
    • Use check_localstack tool to diagnose

    Roadmap

    v1.0.0 (Current)

    • [x] 30 intelligent tools across 10 categories
    • [x] Cross-service discovery, dependency mapping, impact analysis
    • [x] Cost optimization analyzer
    • [x] LocalStack integration
    • [x] Multi-account support
    • [x] Docker containerization
    • [x] 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

    Similar MCP

    Based on tags & features

    • AD

      Adls Mcp Server

      Python·
      4
    • BO

      Books Mcp Server

      Python·
      5
    • CH

      Chuk Mcp Linkedin

      Python00
    • PU

      Pursuit Mcp

      Python00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • AD

      Adls Mcp Server

      Python·
      4
    • BO

      Books Mcp Server

      Python·
      5
    • CH

      Chuk Mcp Linkedin

      Python00
    • PU

      Pursuit Mcp

      Python00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k