mcp-registry/pulumi/mcp-server

    ==================
      
       /// MCP ///
      /// PUL ///
        
    ==================
        
    [server:online]
    [protocol:ready]

pulumi/mcp-server

by pulumi

Node/TypeScript implementation of an MCP server that wraps Pulumi Automation & Cloud APIs. Exposes Pulumi preview/up/stack-output and helper tooling over stdio or SSE for AI agents such as Claude Code/Desktop.

58
10
Open Source

01

preview

Runs `pulumi preview` on a specified stack to show the changes that would be applied.

02

up

Runs `pulumi up` to deploy changes for a specified stack.

03

stack-output

Retrieves outputs from a specified stack after a successful deployment, returning either a single output or all outputs.

04

get-resource

Returns detailed information about a specific Pulumi Registry resource, including its inputs and outputs.

05

list-resources

Lists available resources within a Pulumi provider package, optionally filtered by module.

06

deploy-to-aws

Analyzes the current project and automatically generates and deploys Pulumi infrastructure code to AWS, provisioning the necessary resources.

Installation

1. Prerequisites
• Node.js ≥ 18 and npm (or yarn/pnpm)
• Pulumi CLI configured with a Pulumi access token (`export PULUMI_ACCESS_TOKEN=...`).
• (Optional) Docker if you want to container-run the server.
2. Clone the repository
git clone https://github.com/pulumi/mcp-server.git cd mcp-server
3. Install dependencies
npm install # or: yarn install | pnpm install
4. Build the TypeScript sources
npm run build # compiles to ./dist
5. Configure the server (env-vars)
• MCP_PORT – TCP port to listen on (defaults to 8080)
• MCP_STATE_BACKEND – URL for backing state store (e.g. postgres://, file://)
• PULUMI_ACCESS_TOKEN – Pulumi cloud or self-hosted backend token used by the server when running previews / updates.
Example:
export MCP_PORT=8080 export MCP_STATE_BACKEND=file://$(pwd)/state export PULUMI_ACCESS_TOKEN=xxxxxx
6. Run the server (dev mode)
npm start # runs `node dist/index.js`
7. Health check
curl http://localhost:8080/healthz
8. Docker (alternative)
docker build -t pulumi/mcp-server . docker run -p 8080:8080 -e PULUMI_ACCESS_TOKEN=$PULUMI_ACCESS_TOKEN pulumi/mcp-server

Documentation

License: Apache License 2.0
Updated 7/30/2025