Integrations
Provides tools for listing available S3 buckets, listing objects within a bucket, and retrieving object contents from AWS S3 storage.
S3 MCP-Server
Ein Amazon S3 Model Context Protocol (MCP)-Server, der Tools für die Interaktion mit S3-Buckets und -Objekten bereitstellt.
https://github.com/user-attachments/assets/d05ff0f1-e2bf-43b9-8d0c-82605abfb666
Überblick
Dieser MCP-Server ermöglicht Large Language Models (LLMs) wie Claude die Interaktion mit AWS S3-Speicher. Er bietet Tools für:
- Auflisten verfügbarer S3-Buckets
- Auflisten von Objekten innerhalb eines Buckets
- Abrufen von Objektinhalten
Der Server wird mit TypeScript und dem MCP SDK erstellt und bietet LLMs eine sichere und standardisierte Möglichkeit, mit S3 zu interagieren.
Installation
Voraussetzungen
- Node.js 18 oder höher
- npm oder yarn
- AWS-Anmeldeinformationen konfiguriert (entweder über Umgebungsvariablen oder AWS-Anmeldeinformationsdatei)
- Docker (optional, für containerisiertes Setup)
Aufstellen
- Über npm installieren:
- Beim Erstellen aus der Quelle:
- Konfigurieren Sie AWS-Anmeldeinformationen und S3-Zugriff:
Erstellen Sie eine .env
Datei mit Ihrer AWS-Konfiguration:
Oder legen Sie diese als Umgebungsvariablen fest.
Konfiguration
Der Server kann mit den folgenden Umgebungsvariablen konfiguriert werden:
Variable | Beschreibung | Standard |
---|---|---|
AWS_REGION | AWS-Region, in der sich Ihre S3-Buckets befinden | us-east-1 |
S3_BUCKETS | Durch Kommas getrennte Liste zulässiger S3-Bucket-Namen | (leer) |
S3_MAX_BUCKETS | Maximale Anzahl von Buckets, die in der Auflistung zurückgegeben werden sollen | 5 |
AWS_ACCESS_KEY_ID | AWS-Zugriffsschlüssel (wenn keine Standardanmeldeinformationen verwendet werden) | (aus der AWS-Konfiguration) |
AWS_SECRET_ACCESS_KEY | AWS-Geheimschlüssel (wenn keine Standardanmeldeinformationen verwendet werden) | (aus der AWS-Konfiguration) |
Ausführen des Servers
Direkte Node.js-Ausführung
Sie können den Server direkt mit Node.js ausführen:
Docker-Setup 🐳
Sie können den S3 MCP-Server als Docker-Container ausführen, indem Sie entweder Docker CLI oder Docker Compose verwenden.
Verwenden der Docker-CLI
- Erstellen Sie das Docker-Image:
- Führen Sie den Container mit Umgebungsvariablen aus:
- Überprüfen Sie die Containerprotokolle:
- Anhalten und Behälter entfernen:
Beachten Sie, dass der Container keine Ports verfügbar macht, da er für die Verwendung mit Claude Desktop über Docker Exec und nicht über direkte HTTP-Verbindungen konzipiert ist.
Verwenden von Docker Compose
- Erstellen und starten Sie den Docker-Container:
- So stoppen Sie den Container:
Docker mit MinIO zum Testen verwenden
Das Docker Compose-Setup umfasst einen MinIO-Dienst für lokale Tests:
Der MinIO-Dienst erstellt automatisch zwei Test-Buckets ( test-bucket-1
und test-bucket-2
) und lädt Beispieldateien zum Testen hoch.
Debuggen mit MCP Inspector
So debuggen Sie den Server mit MCP Inspector:
Bei Verwendung der Option --docker-compose
führt das Skript Folgendes aus:
- Starten Sie MinIO und die S3 MCP-Servercontainer, falls diese nicht ausgeführt werden
- Starten Sie den mit dem S3 MCP-Server verbundenen MCP Inspector
- Anschließend können Sie die S3-Tools mit der lokalen MinIO-Instanz testen
Verbindung zu Claude Desktop herstellen
So verwenden Sie diesen Server mit Claude Desktop:
- Bearbeiten Sie Ihre Claude Desktop-Konfigurationsdatei:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Fügen Sie den S3 MCP-Server zur Konfiguration hinzu:
Docker-Option für Claude Desktop 🐳
Sie können Claude Desktop auch so konfigurieren, dass ein laufender Docker-Container für den MCP-Server verwendet wird:
⚠️ Wichtige Voraussetzungen : Damit diese Docker-Konfiguration funktioniert, MÜSSEN Sie zuerst den Docker-Container erstellen und ausführen, BEVOR Sie Claude Desktop starten:
CopyOhne einen laufenden Container zeigt Claude Desktop beim Versuch, S3-Tools zu verwenden, Fehler an.
Die obige Docker-Konfiguration verwendet
exec
, um MCP-Anfragen direkt an den laufenden Container zu senden. Es ist keine Portzuordnung erforderlich, da Claude direkt mit dem Container kommuniziert und nicht über einen Netzwerkport.
Hinweis : Stellen Sie sicher, dass der Containername in der Konfiguration (
aws-s3-mcp-server
) mit dem Namen Ihres laufenden Containers übereinstimmt.
Wichtig : Bitte beachten Sie Folgendes, wenn Sie die obige Konfiguration verwenden
- Ersetzen Sie
AWS_ACCESS_KEY_ID
undAWS_SECRET_ACCESS_KEY
durch Ihre tatsächlichen AnmeldeinformationenS3_BUCKETS
sollte eine durch Kommas getrennte Liste der Buckets enthalten, auf die Sie Zugriff gewähren möchtenAWS_REGION
sollte auf die Region eingestellt werden, in der sich Ihre Buckets befinden
💣 Wenn ein Fehler auf Claude Desktop auftritt
Wenn bei der obigen Konfiguration in Claude Desktop Fehler auftreten, versuchen Sie es mit absoluten Pfaden wie folgt:
Verfügbare Tools
Bucket-Liste
Listet verfügbare S3-Buckets auf, auf die der Server Zugriff hat. Dieses Tool berücksichtigt die S3_BUCKETS
-Konfiguration, die die angezeigten Buckets einschränkt.
Parameter: Keine
Beispielausgabe:
Listenobjekte
Listet Objekte in einem angegebenen S3-Bucket auf.
Parameter:
bucket
(erforderlich): Name des S3-Buckets, aus dem Objekte aufgelistet werden sollenprefix
(optional): Präfix zum Filtern von Objekten (wie ein Ordnerpfad)maxKeys
(optional): Maximale Anzahl der zurückzugebenden Objekte
Beispielausgabe:
Objekt abrufen
Ruft ein Objekt aus einem angegebenen S3-Bucket ab. Textdateien werden als einfacher Text zurückgegeben, Binärdateien mit eingeschränkten Details.
Parameter:
bucket
(erforderlich): Name des S3-Bucketskey
(erforderlich): Schlüssel (Pfad) des abzurufenden Objekts
Beispiel für eine Textausgabe:
Beispiel einer Binärausgabe:
Sicherheitsüberlegungen
- Der Server greift nur auf die Buckets zu, die in der Umgebungsvariable
S3_BUCKETS
angegeben sind. - AWS-Anmeldeinformationen müssen über die entsprechenden Berechtigungen für die Buckets verfügen
- Verwenden Sie beim Konfigurieren von AWS-Berechtigungen das Prinzip der geringsten Privilegien
- Für den Produktionseinsatz sollten Sie die Verwendung von IAM-Rollen mit spezifischen S3-Berechtigungen in Betracht ziehen
Verwendung mit Claude
Wenn Sie mit Claude in der Desktop-App interagieren, können Sie ihn bitten, S3-Operationen auszuführen wie:
- „Liste alle meine S3-Buckets auf“
- "PDF-Dateien im My-Documents-Bucket zusammenfassen"
- „Holen Sie sich die Datei README.txt aus meinem Dokumenten-Bucket.“
Claude verwendet das entsprechende MCP-Tool, um die Anfrage auszuführen und Ihnen die Ergebnisse anzuzeigen.
Lizenz
MIT
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Ein Amazon S3 Model Context Protocol-Server, der großen Sprachmodellen wie Claude die Interaktion mit AWS S3-Speicher ermöglicht und Tools zum Auflisten von Buckets, Auflisten von Objekten und Abrufen von Objektinhalten bereitstellt.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables Claude to execute Python code using boto3 to query and manage AWS resources directly from conversations.Last updated -6PythonMIT License
- AsecurityFlicenseAqualityAn MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.Last updated -1Python
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.Last updated -2392PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server allowing Claude AI to interact with AWS resources through natural language, enabling users to query and manage AWS services without using the traditional AWS Console or CLI.Last updated -TypeScript