Skip to main content
Glama
pulumi
by pulumi

Pulumi MCP サーバー

**注:**このMCPサーバーは現在開発中です。API(利用可能なコマンドとその引数を含む)は試験段階であり、予告なく変更される可能性があります。バグに遭遇した場合、または追加のPulumiコマンドのサポートが必要な場合は、 GitHubで問題を報告してください。

Pulumi Automation API および Pulumi Cloud API を使用して Pulumi CLI と対話するためのモデル コンテキスト プロトコル(MCP) を実装するサーバー。

このパッケージを使用すると、MCP クライアントは、Pulumi CLI をクライアント環境に直接インストールしなくても、パッケージ情報の取得、変更のプレビュー、更新の展開、スタック出力の取得などの Pulumi 操作をプログラムで実行できます。

使用法

Pulumi CLI をマシンにインストールする必要があります。

このパッケージは、MCPサーバーをAIツールとして利用できるアプリケーションに統合することを主な目的としています。例えば、ClaudeデスクトップのMCP設定ファイルにPulumi MCPサーバーを追加する方法は次のとおりです。

{ "mcpServers": { "pulumi": { "command": "npx", "args": ["@pulumi/mcp-server@latest","stdio"] } } }

または、 stdioの代わりに Server-Sent Events (SSE) を使用した HTTP を使用する場合は、次のようにします。

{ "mcpServers": { "pulumi": { "command": "npx", "args": ["@pulumi/mcp-server@latest","sse"] } } }

Related MCP server: mcp-perplexity

Dockerコンテナ

Pulumi MCP ServerをDockerコンテナとして実行することもできます。この方法では、Node.jsとパッケージの依存関係をホストマシンに直接インストールする必要がなくなります。

コンテナの構築

コンテナを構築するには:

docker build -t pulumi/mcp-server:latest .

MCPクライアントでの使用

コンテナ化されたサーバーをMCPクライアントで使用するには、クライアント側でDockerコンテナを使用するように設定する必要があります。例えば、ClaudeデスクトップのMCP設定では以下のようになります。

{ "mcpServers": { "pulumi": { "command": "docker", "args": ["run", "-i", "--rm", "pulumi/mcp-server:latest", "stdio"] } } }

HTTP (SSE) 経由の MCP クライアントでの使用

コンテナ化されたサーバーを HTTP (SSE) 経由の MCP クライアントで使用するには、次のコマンドでコンテナを実行します。

{ "mcpServers": { "pulumi": { "command": "docker", "args": ["run", "-i", "--rm", "-p", "3000:3000", "pulumi/mcp-server:latest", "sse"] } } }

ローカルのPulumiプロジェクトへのアクセスを必要とするPulumi操作を行うには、適切なディレクトリをマウントする必要があります。例えば、Pulumiプロジェクトが~/projects/my-pulumi-appにある場合は、次のようにします。

{ "mcpServers": { "pulumi": { "command": "docker", "args": ["run", "-i", "--rm", "-v", "~/projects/my-pulumi-app:/app/project", "pulumi/mcp-server:latest"] } } }

その後、MCP ツールを使用するときは、リクエスト内でプロジェクト ディレクトリを/app/projectとして参照することになります。

利用可能なコマンド

サーバーは、MCP リクエストを介して呼び出すことができる次の Pulumi 操作のハンドラーを公開します。

  • preview : 指定されたスタックでpulumi previewを実行します。

    • workDir (文字列、必須): Pulumi.yamlプロジェクト ファイルを含む作業ディレクトリ。

    • stackName (文字列、オプション): 操作するスタック名 (デフォルトは 'dev')。

  • up : pulumi upを実行して、指定されたスタックの変更をデプロイします。

    • workDir (文字列、必須): Pulumi.yamlプロジェクト ファイルを含む作業ディレクトリ。

    • stackName (文字列、オプション): 操作するスタック名 (デフォルトは 'dev')。

  • stack-output : デプロイメントが成功した後、指定されたスタックから出力を取得します。

    • workDir (文字列、必須): Pulumi.yamlプロジェクト ファイルを含む作業ディレクトリ。

    • stackName (文字列、オプション): 出力を取得するスタック名 (デフォルトは 'dev')。

    • outputName (文字列、オプション): 取得するスタック出力名。省略した場合は、スタックのすべての出力が返されます。

  • get-resource : 入力と出力を含む、特定の Pulumi レジストリ リソースに関する情報を返します。

    • provider (文字列、必須): クラウド プロバイダー (例: 'aws'、'azure'、'gcp'、'random') または Git ホスト コンポーネントのgithub.com/org/repo

    • module (文字列、オプション): クエリするモジュール (例: 's3'、'ec2'、'lambda')。

    • resource (文字列、必須): リソース タイプ名 (例: 'Bucket'、'Function'、'Instance')。

  • list-resources : Pulumi プロバイダー パッケージ内の利用可能なリソースを一覧表示します。オプションでモジュール別にフィルタリングできます。

    • provider (文字列、必須): クラウド プロバイダー (例: 'aws'、'azure'、'gcp'、'random') または Git ホスト コンポーネントのgithub.com/org/repo

    • module (文字列、オプション): フィルタリングするモジュール (例: 's3'、'ec2'、'lambda')。

発達

  1. リポジトリをクローンします。

  2. 依存関係をインストールします: make ensure

  3. プロジェクトをビルドする: make build

  4. プロジェクトをテストする: make test

ライセンス

このプロジェクトはApache 2.0ライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pulumi/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server