Cloud Platforms Python ★ 183

alexei-led/aws-mcp-server

Hafif ama güçlü bir server olup, AI asistanlarının AWS CLI komutlarını çalıştırmasını, Unix pipes kullanmasını ve yaygın AWS görevleri için prompt şablonları uygulamasını güvenli Docker ortamında ve çok mimarili destek ile sağlar.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "alexei-led-aws-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "aws_mcp_server"
      ]
    }
  }
}

AWS MCP Server

CI PyPI Code Coverage Linter: Ruff Docker Image

Claude'a AWS CLI aracılığıyla 200+ AWS servisine erişim sağlayın.

Demo

Demo

Ne Yaptığı

Bu MCP sunucusu, Claude'un sizin adınıza AWS CLI komutlarını çalıştırmasını sağlar. Her AWS API'sini ayrı ayrı sarmak yerine, CLI'nin kendisini sarmalır—Claude'a sadece iki araçla tamamen AWS erişimi verir:

Araç Amaç
aws_cli_help Herhangi bir AWS komutunun belgelerine erişin
aws_cli_pipeline AWS CLI komutlarını isteğe bağlı pipe'larla çalıştırın (jq, grep, vb.)

Claude komutları --help kullanarak talep halinde öğrenir, sonra bunları çalıştırır. IAM politikanız gerçekte ne yapabileceğini kontrol eder.

flowchart LR
    Claude[Claude] -->|MCP| Server[AWS MCP Server]
    Server --> CLI[AWS CLI]
    CLI --> AWS[AWS Cloud]
    IAM[Your IAM Policy] -.->|controls| AWS

Yenilikler

  • Streamable HTTP transport — Web tabanlı MCP clientleri için yeni streamable-http transport, kullanımdan kaldırılan sse transport'unu değiştiriyor (#33)
  • Input validation error handling — Validation hataları artık normal sonuçlar yerine uygun MCP araç hataları döndürüyor (isError: true) (#34)
  • Server description — Sunucu, amacını MCP clientlerine instructions alanı aracılığıyla ilan ediyor (#35)
  • Server icons — Sunucu, MCP client ekranı için ikon metadatası sağlıyor (#36)
  • Graceful shutdown — Sunucu, MCP client'ı kesildiğinde düzgün şekilde bağlantısını keser (#16)

Hızlı Başlangıç

Ön Koşullar

Claude Code

MCP ayarlarınıza ekleyin (Cmd+Shift+P → "Claude: Open MCP Config"):

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["aws-mcp"]
    }
  }
}

Claude Desktop

Claude Desktop konfigürasyon dosyanıza ekleyin:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["aws-mcp"]
    }
  }
}

Docker (Daha Güvenli)

Docker, komutları bir konteyner içinde çalıştırarak daha güçlü izolasyon sağlar:

{
  "mcpServers": {
    "aws": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "~/.aws:/home/appuser/.aws:ro",
        "ghcr.io/alexei-led/aws-mcp-server:latest"
      ]
    }
  }
}

Not: Windows'da ~/.aws yerine tam yolu yazın (ör: C:\Users\YOU\.aws).

Docker with Streamable HTTP Transport

Web tabanlı MCP clientleri için streamable-http transport kullanın:

docker run --rm -p 8000:8000 \
  -e AWS_MCP_TRANSPORT=streamable-http \
  -v ~/.aws:/home/appuser/.aws:ro \
  ghcr.io/alexei-led/aws-mcp-server:latest

Sunucu http://localhost:8000/mcp adresinde erişilebilir olacak.

Not: sse transport kullanımdan kaldırıldı. Bunun yerine streamable-http kullanın.

AWS Credentials

Sunucu, standart AWS credential zincirini kullanır. Kimlik bilgileriniz otomatik olarak şunlardan keşfedilir:

  1. Ortam değişkenleri: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
  2. Credentials dosyası: ~/.aws/credentials
  3. Config dosyası: ~/.aws/config (profiller ve region için)
  4. IAM role: EC2, ECS veya Lambda üzerinde çalışırken

Belirli bir profile kullanmak için:

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["aws-mcp"],
      "env": {
        "AWS_PROFILE": "my-profile"
      }
    }
  }
}

Yapılandırma

AWS Ayarları

Ortam Değişkeni Açıklama Varsayılan
AWS_PROFILE Kullanılacak AWS profile default
AWS_REGION AWS region (AWS_DEFAULT_REGION de kabul) us-east-1
AWS_CONFIG_FILE AWS config dosyasına özel yol ~/.aws/config
AWS_SHARED_CREDENTIALS_FILE Credentials dosyasına özel yol ~/.aws/credentials

Sunucu Ayarları

Ortam Değişkeni Açıklama Varsayılan
AWS_MCP_TIMEOUT Komut yürütme timeout'ı (saniye) 300
AWS_MCP_MAX_OUTPUT Maksimum çıkış boyutu (karakter) 100000
AWS_MCP_TRANSPORT Transport protokolü (stdio, sse, veya streamable-http) stdio
AWS_MCP_SANDBOX Sandbox modu (auto, disabled, required) auto
AWS_MCP_SANDBOX_CREDENTIALS Credential iletimi (env, aws_config, both) both

Güvenlik

IAM politikanız, güvenlik sınırınızdır. Bu sunucu, Claude'un istediği AWS komutlarını çalıştırır—IAM aslında neyin başarılı olduğunu kontrol eder.

En iyi uygulamalar:

  • En az yetki IAM role'ü kullanın (sadece Claude'un ihtiyaç duyduğu izinler)
  • Asla root credentials kullanmayın
  • Docker'ı ek host izolasyonu için düşünün

Ayrıntılı güvenlik mimarisi için Güvenlik Belgeleri'ne bakın.

Belgeler

Lisans

MIT Lisansı — ayrıntılar için LICENSE dosyasına bakın.

Benzer MCP sunucuları

Daha fazla: Cloud Platforms →