/ Verzeichnis / Playground / AWS Labs MCP
● Offiziell awslabs 🔑 Eigener Schlüssel nötig

AWS Labs MCP

von awslabs · awslabs/mcp

Offizielle AWS Labs Sammlung — ein MCP pro Service (S3, Lambda, CloudFormation, ECS, RDS, CloudWatch). Standardmäßig schreibgeschützt.

Die AWS Labs MCP Suite. Anstatt eines einzelnen großen Servers liefert AWS eine Familie: aws-api (allgemeiner CLI-Stil), plus spezialisierte Server für S3, Lambda, CloudFormation, ECS, RDS, CloudWatch, Cost Explorer und mehr. Alle sind lesezuerst konfiguriert; Schreibvorgänge erfordern explizites Opt-in via Umgebungsvariablen.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

aws.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "aws",
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "aws": {
      "command": {
        "path": "uvx",
        "args": [
          "awslabs.aws-api-mcp-server"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add aws -- uvx awslabs.aws-api-mcp-server

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: AWS Labs MCP

Triage eines CloudWatch Alarms durch Korrelation von Logs, Metriken und kürzlichen Deployments

👤 SRE und On-Call Engineers ⏱ ~15 min intermediate

Wann einsetzen: Ein Alarm wurde gerade ausgelöst und Sie möchten von 'welcher Service, welches Deployment, welche Log-Zeile' wissen, ohne durch die Konsole zu navigieren.

Voraussetzungen
  • AWS Anmeldedaten mit CloudWatch + CloudFormation Lesezugriffaws sso login mit einer Rolle, die die ReadOnlyAccess Richtlinie hat
  • aws-cloudwatch-mcp Server läuftuvx awslabs.cloudwatch-mcp-server — oder installieren Sie das Bundle
Ablauf
  1. Rufen Sie die Alarmdetails und betroffenen Ressourcen ab
    Beschreiben Sie CloudWatch Alarm 'prod-api-5xx-high'. Welche Ressource beobachtet er, welcher Schwellwert, was ist der aktuelle Zustand?✓ Kopiert
    → Alarm-Konfiguration plus Zustandsverlauf (wann er sich umgeschaltet hat)
  2. Fragen Sie Logs rund um den Verstoß ab
    Führen Sie eine Logs Insights Abfrage über die Log-Gruppe /aws/ecs/prod-api von 10 Minuten vor dem Alarm bis jetzt aus. Finden Sie ERROR-Level Log-Zeilen gruppiert nach Nachrichtenvorlage.✓ Kopiert
    → Top-Fehlervorlagen mit Zählen
  3. Korrelieren Sie mit kürzlichen Deployments
    Listen Sie CodeDeploy Deployments zum Service prod-api in den letzten 6 Stunden auf. Korreliert die Deployment-Zeit mit dem Fehler-Spike?✓ Kopiert
    → Deployment-Zeitleiste abgestimmt auf den Fehleranfang

Ergebnis: Eine konkrete Hypothese wie 'Deployment abc123 um 14:22 UTC korreliert mit 5xx Anfang um 14:23' mit Belegen dafür.

Fallstricke
  • Logs Insights Abfragen gegen eine große Log-Gruppe ohne Zeitfenster kosten echtes Geld — Inkludieren Sie immer @timestamp Grenzen enger als 1 Stunde; der MCP stoppt Sie nicht vor dem Abrechnen von $$$
  • Cross-Account Ressourcen benötigen das richtige Credential-Profil — Setzen Sie AWS_PROFILE Umgebungsvariable pro Server-Aufruf; nehmen Sie nicht an, dass das Standard-Profil das ist, das Sie wollen
Kombinieren mit: sentry · github

Prüfen Sie einen S3 Bucket auf öffentliche Objekte und Verschlüsselungsstatus

👤 Sicherheitstechniker, Compliance-Prüfer ⏱ ~20 min intermediate

Wann einsetzen: Vor einem Penetrationstest oder einer Prüfung möchten Sie eine schnelle Bestandsaufnahme der Bucket-Sicherheitslage.

Voraussetzungen
  • S3:List und S3:GetBucket* Berechtigungen — Fügen Sie SecurityAudit verwaltete Richtlinie an (schreibgeschützt)
Ablauf
  1. Listen Sie Buckets auf und holen Sie ihre Richtlinien
    Listen Sie alle S3 Buckets in diesem Konto auf. Rufen Sie für jeden ab: Public Access Block Konfiguration, Bucket ACL, Bucket-Richtlinie, Standard-Verschlüsselungskonfiguration.✓ Kopiert
    → Pro-Bucket Sicherheitslage Tabelle
  2. Kennzeichnen Sie riskante Buckets
    Heben Sie jeden Bucket hervor, bei dem Public Access Block aus ist, ODER Verschlüsselung aus ist, ODER die Bucket-Richtlinie Principal: '*' enthält.✓ Kopiert
    → Kurze Liste riskanter Buckets mit Gründen
  3. Probieren Sie ein paar Objekte aus den gekennzeichneten Buckets
    Für jeden gekennzeichneten Bucket listen Sie die ersten 5 Objekte auf und zeigen ihre ACLs. Sind einige tatsächlich weltweit lesbar?✓ Kopiert
    → Objekt-Level-Bestätigung statt nur Bucket-Level

Ergebnis: Eine priorisierte Behebungsliste für Ihre Sicherheitsprüfung.

Fallstricke
  • Bucket-Richtlinien können öffentlichen Zugriff gewähren, auch wenn ACLs privat aussehen — Bewerten Sie beide; verwenden Sie die GetPublicAccessBlock und GetBucketPolicyStatus APIs, nicht nur ACLs
Kombinieren mit: filesystem

Finden Sie heraus, warum die AWS Rechnung diesen Monat gestiegen ist

👤 Engineering Leiter, Finance Ops ⏱ ~25 min intermediate

Wann einsetzen: Rechnung ist um 30% gestiegen und Sie haben 48 Stunden Zeit, um Finance zu erklären.

Voraussetzungen
  • Cost Explorer API Zugriff — Aktivieren Sie Cost Explorer in der Abrechnungskonsole; gewähren Sie ce:GetCostAndUsage Ihrer Rolle
Ablauf
  1. Holen Sie die täglichen Kostenunterschiede
    Rufen Sie die Gesamtkombinierten Kosten pro Tag für die letzten 60 Tage ab. Identifizieren Sie jeden Tag, an dem die Kosten um >20% gegenüber dem 7-Tage-Durchschnitt gestiegen sind.✓ Kopiert
    → Tägliche Kostenserie plus gekennzeichnete Anomalietage
  2. Unterteilen Sie nach Service für die Anomalie
    Für den größten Anomalietag brechen Sie die Kosten nach Service auf. Welcher Service treibt den Spike?✓ Kopiert
    → Service-Level-Treiber identifiziert
  3. Teilen Sie weiter nach Ressource auf
    Für diesen Service brechen Sie nach Nutzungstyp und Ressourcen-Tag auf. Welche spezifische Ressource ist verantwortlich?✓ Kopiert
    → Ressourcen-Level-Schuldiger — z.B. 'NAT Gateway in us-east-1 verarbeitete 12 TB'

Ergebnis: Eine Ein-Absatz-Antwort für Finance: 'der Spike war X verursacht durch Y; Behebung ist Z'.

Fallstricke
  • Cost Explorer hat bis zu 24h Verzögerung — die heutigen Kosten sind noch nicht vollständig — Beschränken Sie Abfragen, um mindestens vor 1 Tag zu enden; vermerken Sie die Verzögerung explizit in Ihrer Antwort
  • Jeder Cost Explorer API Aufruf kostet $0,01 — Schleife Sie keine Abfragen in einem Script ohne Grenzen; der MCP stoppt Sie nicht
Kombinieren mit: filesystem

Debuggen Sie ein fehlerhaftes Lambda durch Lesen seiner kürzlichen Aufrufe und Logs

👤 Serverless Engineers ⏱ ~15 min intermediate

Wann einsetzen: Ein Lambda wirft intermittierend Fehler und Sie möchten Eingaben, Fehler und Dauertends sehen.

Ablauf
  1. Beschreiben Sie die Funktion
    Beschreiben Sie Lambda-Funktion my-api-handler. Welche Runtime, Speicher, Timeout, zuletzt geändert?✓ Kopiert
    → Konfigurations-Snapshot
  2. Rufen Sie kürzliche Fehler aus CloudWatch Logs ab
    Logs Insights: für /aws/lambda/my-api-handler in den letzten 2 Stunden zeigen Sie Fehlerlinien mit ihren requestId, Dauer und Init-Zeit. Gruppieren Sie nach Fehlertyp.✓ Kopiert
    → Fehler Kategorien mit repräsentativen requestIds
  3. Holen Sie einen Request von End-zu-End
    Wählen Sie eine fehlgeschlagene requestId. Ziehen Sie den vollständigen Log-Stream für diesen Aufruf — START, alle Drucke, END, REPORT. Sagen Sie mir, was passiert ist.✓ Kopiert
    → Erzählung eines einzelnen Aufrufs mit Cold-Start-Timing und Fehlerursache

Ergebnis: Spezifische Fehlerursache plus ein Reparaturweg (mehr Speicher, Abhängigkeits-Upgrade, Retry-Konfiguration, etc.).

Fallstricke
  • Bereitgestellte Parallelität verzerrt Cold-Start Zahlen — Filtern Sie REPORT Zeilen, bei denen Init Duration vorhanden ist — das sind Cold Starts; ignorieren Sie sie, wenn Sie warme Aufrufe debuggen
Kombinieren mit: github · sentry

Erkennen Sie Drift zwischen CloudFormation Stacks und Live-Ressourcen

👤 Platform Engineers, DevOps ⏱ ~30 min advanced

Wann einsetzen: Sie vermuten, dass jemand in der Konsole geklickt und eine Ressource außerhalb von IaC geändert hat.

Ablauf
  1. Listen Sie Stacks auf und aktivieren Sie Drift-Erkennung
    Listen Sie alle ACTIVE CloudFormation Stacks auf. Starten Sie für jeden eine Drift-Erkennung und Polling bis alle vollständig sind.✓ Kopiert
    → Drift Status pro Stack: IN_SYNC / DRIFTED / NOT_CHECKED
  2. Graben Sie sich in abgetriftete Stacks
    Für jeden Stack mit Status DRIFTED listen Sie auf, welche Ressourcen abgetriftet sind und welche Eigenschaft sich unterscheidet.✓ Kopiert
    → Ressourcen-Level Diffs (z.B. 'SG erlaubt 0.0.0.0/0 aber Vorlage sagt 10.0.0.0/8')
  3. Entscheiden Sie: Vorlage aktualisieren oder zurücksetzen
    Für jeden Drift empfehlen Sie: ist der Live-Zustand absichtlich (Vorlage aktualisieren, um zu passen) oder zufällig (Ressource zurücksetzen)? Basieren Sie auf der Natur der Änderung.✓ Kopiert
    → Pro-Drift Empfehlung mit Begründung

Ergebnis: Ihre IaC wieder synchron mit Realität, mit einem Entscheidungsprotokoll.

Fallstricke
  • Drift-Erkennung erfasst nicht jede Eigenschaft für jeden Ressourcentyp — Überprüfen Sie die CloudFormation Dokumentation für 'unsupported drift' Liste; ergänzen Sie mit AWS Config Regeln für umfassende Abdeckung
Kombinieren mit: github

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

aws + github

Korrelieren Sie einen Deploy PR mit dem resultierenden CloudWatch Alarm — identifizieren Sie den Breaking Commit

CloudWatch Alarm prod-latency-p99 wurde um 14:22 ausgelöst. Finden Sie den GitHub PR, der zu main am nächsten zu dieser Zeit zusammengeführt wurde, fassen Sie seinen Diff zusammen und sagen Sie mir, welcher Hunk die Regression wahrscheinlich verursacht hat.✓ Kopiert
aws + postgres

Für RDS-gehostetes Postgres, kombinieren Sie AWS-Level Beobachtbarkeit mit SQL Zugriff

RDS Alarm 'cpu > 80%' auf prod-db-01. Korrelieren Sie mit pg_stat_statements — welche Abfragen liefen am meisten während des Spike?✓ Kopiert

Exportieren Sie AWS Ressourcen Bestände in lokale CSVs für Compliance Dokumente

Exportieren Sie jeden S3 Bucket mit seiner Verschlüsselungskonfiguration und öffentlichen Zugriffs Einstellungen in /reports/s3-audit-2026-04.csv.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
call_aws service: str, operation: str, parameters: object Generisches AWS CLI-Äquivalent — beliebiger Service, beliebige Leseoperation normalerweise kostenlos; einige Services (CE) berechnen pro Aufruf
describe_stack stack_name: str CloudFormation Introspektion kostenlos
detect_stack_drift / describe_stack_drift_detection_status stack_name: str Überprüfen Sie IaC-vs-Live Drift kostenlos
list_functions / get_function / invoke_function Lambda Name, Payload? Verwalten Sie und testen Sie Lambdas — invoke ist eine Schreiboperation, gesperrt invoke kostet pro Lambda Preisgestaltung
list_buckets / get_object / list_objects_v2 S3 Parameter S3 Bestand und Inhaltszugriff Standard S3 Anfrage Preisgestaltung
start_query / get_query_results (Logs Insights) logGroupName, queryString, startTime, endTime Log-Analytik über eine oder mehrere Log-Gruppen $0,005 pro GB gescannt
get_metric_data CloudWatch Metrik Abfrage JSON Zeit-Reihen Metrik-Pulls Kostenlos-Tier gilt
get_cost_and_usage TimePeriod, Granularity, GroupBy, Metrics Cost Explorer Abfragen $0,01 pro API Aufruf
list_services / describe_services / list_tasks (ECS) Cluster Parameter ECS Cluster/Service Introspektion kostenlos
describe_db_instances (RDS) Identifier? RDS Bestand; verwenden Sie postgres MCP für tatsächliche SQL kostenlos

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Pro-Service. Die meisten describe/list Aufrufe sind kostenlos; einige APIs berechnen pro Aufruf (Cost Explorer $0,01, Logs Insights $0,005/GB gescannt)
Tokens pro Aufruf
200-2000 Tokens typisch; Logs Insights Ergebnisse können groß sein — setzen Sie immer eine Zeilenbegrenzung
Kosten in €
MCP selbst ist kostenlos. Ihre AWS Rechnung spiegelt alle API Aufrufe wider, die der Agent macht.
Tipp
Begrenzen Sie Zeitfenster, begrenzen Sie Ergebniszeilen, speichern Sie describe-* Ausgabe pro Sitzung. Eine sorglose Logs Insights Schleife über 30 Tage ausführlicher Logs kann TB an Daten scannen.

Sicherheit

Rechte, Secrets, Reichweite

Minimale Scopes: arn:aws:iam::aws:policy/ReadOnlyAccess (für schreibgeschützten Gebrauch)
Credential-Speicherung: Standard AWS Credential Chain — Umgebungsvariablen, ~/.aws/credentials, SSO oder Instance-Rolle. Hardcodieren Sie niemals Schlüssel.
Datenabfluss: Direkt zu AWS API Endpoints (regional). Kein Drittanbieter.
Niemals gewähren: AdministratorAccess iam:* write kms:Decrypt auf sensiblen Schlüsseln ohne Scoping

Fehlerbehebung

Häufige Fehler und Lösungen

Konnte Anmeldedaten nicht aus irgendeinen Anbietern laden

Führen Sie aws sts get-caller-identity aus — wenn das fehlschlägt, beheben Sie zunächst Ihr CLI-Setup. Der MCP verwendet die gleiche Chain.

Prüfen: aws sts get-caller-identity
AccessDenied bei einem Describe Aufruf

Ihrer Rolle fehlt die spezifische Berechtigung. Lesen Sie den Fehler — er benennt die fehlende Aktion. Fügen Sie zur Rolle hinzu oder schalten Sie Profil.

Throttling: Grenzwert überschritten

Sie treffen Service API Grenzwerte (z.B. CloudFormation 1 req/s). Zurücktreten; die meisten SDKs versuchen automatisch erneut, aber Bulk-Schleifen überschreiten es. Fügen Sie explizite Schlaf in Multi-Call Prompts hinzu.

uvx kann awslabs.<server> nicht finden

Paketnamensformat: awslabs.<name>-mcp-server. Überprüfen Sie die awslabs/mcp Repo README für die aktuelle Liste — Namen wurden Ende 2025 geändert.

Prüfen: uvx --help | head

Alternativen

AWS Labs MCP vs. andere

AlternativeWann stattdessenKompromiss
Cloudflare MCPSie laufen auf Cloudflare (Workers/R2/D1) statt AWSAndere Cloud; nicht drop-in
Terraform MCP (community)Sie möchten IaC-First Workflows über Clouds hinwegWeniger Abdeckung von Live-State Debugging
Direktes `aws` CLI über einen Shell MCPSie möchten, dass Claude beliebige CLI Befehle ausführt, nicht nur vorab genehmigteViel größere Angriffsfläche; vermeiden Sie, es sei denn, es ist sandboxed

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen