Pulumi MCP-Server
Hinweis: Dieser MCP-Server befindet sich derzeit in der aktiven Entwicklung. Die API (einschließlich der verfügbaren Befehle und ihrer Argumente) ist experimentell und kann ohne Vorankündigung zu schwerwiegenden Änderungen führen. Bitte melden Sie ein Problem auf GitHub , wenn Sie auf Fehler stoßen oder Unterstützung für zusätzliche Pulumi-Befehle benötigen.
Ein Server, der das Model Context Protocol (MCP) für die Interaktion mit Pulumi CLI unter Verwendung der Pulumi Automation API und der Pulumi Cloud API implementiert.
Mit diesem Paket können MCP-Clients Pulumi-Operationen wie das Abrufen von Paketinformationen, die Vorschau von Änderungen, das Bereitstellen von Updates und das programmgesteuerte Abrufen von Stapelausgaben ausführen, ohne dass die Pulumi-CLI direkt in der Clientumgebung installiert sein muss.
Verwendung
Die Pulumi CLI muss auf Ihrem Computer installiert sein.
Dieses Paket ist in erster Linie für die Integration in Anwendungen gedacht, die MCP-Server als KI-Tools nutzen können. So können Sie beispielsweise den Pulumi MCP-Server in die MCP-Konfigurationsdatei von Claude Desktop einbinden:
Oder wenn Sie HTTP mit Server-Sent Events (SSE) anstelle von stdio
bevorzugen:
Docker-Container
Sie können den Pulumi MCP-Server auch als Docker-Container ausführen. Dadurch entfällt die Notwendigkeit, Node.js und die Paketabhängigkeiten direkt auf Ihrem Hostcomputer zu installieren.
Erstellen des Containers
So erstellen Sie den Container:
Verwendung mit MCP-Clients
Um den Containerserver mit MCP-Clients zu verwenden, müssen Sie den Client für die Verwendung des Docker-Containers konfigurieren. Beispiel: in der MCP-Konfiguration von Claude Desktop:
Verwendung mit MCP-Clients über HTTP (SSE)
Um den Containerserver mit MCP-Clients über HTTP (SSE) zu verwenden, können Sie den Container mit dem folgenden Befehl ausführen:
Für Pulumi-Operationen, die Zugriff auf lokale Pulumi-Projekte erfordern, müssen Sie die entsprechenden Verzeichnisse mounten. Beispiel: Wenn sich Ihr Pulumi-Projekt in ~/projects/my-pulumi-app
befindet:
Wenn Sie dann die MCP-Tools verwenden, verweisen Sie in Ihren Anfragen auf das Projektverzeichnis als /app/project
.
Verfügbare Befehle
Der Server stellt Handler für die folgenden Pulumi-Operationen bereit, die über MCP-Anfragen aufgerufen werden können:
preview
: Führtpulumi preview
auf einem angegebenen Stapel aus.workDir
(Zeichenfolge, erforderlich): Das Arbeitsverzeichnis, das die ProjektdateiPulumi.yaml
enthält.stackName
(Zeichenfolge, optional): Der zu bearbeitende Stapelname (Standard ist „dev“).
up
: Führtpulumi up
aus, um Änderungen für einen angegebenen Stapel bereitzustellen.workDir
(Zeichenfolge, erforderlich): Das Arbeitsverzeichnis, das die ProjektdateiPulumi.yaml
enthält.stackName
(Zeichenfolge, optional): Der zu bearbeitende Stapelname (Standard ist „dev“).
stack-output
: Ruft nach einer erfolgreichen Bereitstellung Ausgaben von einem angegebenen Stapel ab.workDir
(Zeichenfolge, erforderlich): Das Arbeitsverzeichnis, das die ProjektdateiPulumi.yaml
enthält.stackName
(Zeichenfolge, optional): Der Stapelname, aus dem die Ausgaben abgerufen werden sollen (Standard ist „dev“).outputName
(Zeichenfolge, optional): Der abzurufende spezifische Stack-Ausgabename. Wenn dieser Name weggelassen wird, werden alle Ausgaben für den Stack zurückgegeben.
get-resource
: Gibt Informationen zu einer bestimmten Pulumi Registry-Ressource zurück, einschließlich ihrer Ein- und Ausgaben.provider
(Zeichenfolge, erforderlich): Der Cloud-Anbieter (z. B. „aws“, „azure“, „gcp“, „random“) odergithub.com/org/repo
für auf Git gehostete Komponenten.module
(Zeichenfolge, optional): Das abzufragende Modul (z. B. „s3“, „ec2“, „lambda“).resource
(Zeichenfolge, erforderlich): Der Name des Ressourcentyps (z. B. „Bucket“, „Funktion“, „Instanz“).
list-resources
: Listet verfügbare Ressourcen innerhalb eines Pulumi-Providerpakets auf, optional gefiltert nach Modul.provider
(Zeichenfolge, erforderlich): Der Cloud-Anbieter (z. B. „aws“, „azure“, „gcp“, „random“) odergithub.com/org/repo
für auf Git gehostete Komponenten.module
(Zeichenfolge, optional): Das Modul, nach dem gefiltert werden soll (z. B. „s3“, „ec2“, „lambda“).
Entwicklung
- Klonen Sie das Repository.
- Abhängigkeiten installieren:
make ensure
- Erstellen Sie das Projekt:
make build
- Testen Sie das Projekt:
make test
Lizenz
Dieses Projekt ist unter der Apache-2.0-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
@pulumi/mcp-server
Related MCP Servers
- AsecurityAlicenseAqualityEasily find MCP servers using our MCP registry. Search with natural language.Last updated -13JavaScriptMIT License
- -securityAlicense-qualityMCP Server for the Perplexity API.Last updated -50PythonMIT License
- TypeScriptMIT License
- PythonApache 2.0