Loading languages...
PU

pulumi-mcp-server

@dogukanakkaya3

No description provided.

pulumi
infrastructure-as-code
iac
docker

Pulumi MCP Server

This is an MCP (Model Context Protocol) server designed to integrate with Pulumi, an open-source infrastructure as code tool. It allows MCP clients to interact with and manage your cloud infrastructure defined by Pulumi programs.

What it does

The pulumi-mcp-server enables you to:

  • Manage your Pulumi stacks and resources through an MCP-compatible client.
  • Potentially query the state of your infrastructure.
  • Automate infrastructure operations via natural language commands (when used with an LLM-powered MCP client).

How to use

This server is distributed as a Docker image.

Prerequisites

  • Docker installed on your system.
  • A Pulumi account and an access token. You can generate a token from your Pulumi dashboard.

Installation and Configuration

  1. Pull the Docker image:

    docker pull dogukanakkaya/pulumi-mcp-server
    
  2. Configure your MCP Client: Add the following configuration to your MCP client (e.g., Claude Desktop, VSCode, Cline). Replace ${YOUR_TOKEN} with your actual Pulumi Access Token.

    {
      "mcpServers": {
        "pulumi-mcp-server": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "--name",
            "pulumi-mcp-server",
            "-e",
            "PULUMI_ACCESS_TOKEN",
            "dogukanakkaya/pulumi-mcp-server"
          ],
          "env": {
            "PULUMI_ACCESS_TOKEN": "${YOUR_TOKEN}"
          },
          "transportType": "stdio"
        }
      }
    }
    

    This configuration tells your MCP client to run the pulumi-mcp-server Docker container and pass your Pulumi Access Token as an environment variable, enabling it to authenticate with the Pulumi API.

Implementation Details

The server operates via the stdio transport type, meaning it communicates with the MCP client over standard input/output streams. It leverages the Pulumi API to perform infrastructure operations.

# mcpServer Config

{
  "mcpServers": {
    "pulumi-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--name",
        "pulumi-mcp-server",
        "-e",
        "PULUMI_ACCESS_TOKEN",
        "dogukanakkaya/pulumi-mcp-server"
      ],
      "env": {
        "PULUMI_ACCESS_TOKEN": "${YOUR_TOKEN}"
      },
      "transportType": "stdio"
    }
  }
}

# stdio

docker run -i --rm --name pulumi-mcp-server -e PULUMI_ACCESS_TOKEN dogukanakkaya/pulumi-mcp-server
Transport:
stdio
Language:
TypeScript
Created: 3/20/2025
Updated: 5/1/2025