Pulumi MCP Server
Allows performing Pulumi operations such as previewing changes, deploying updates, retrieving stack outputs, and querying package resources using the Pulumi Automation API and Cloud API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pulumi MCP Server preview my Pulumi stack"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pulumi MCP Server
Note: This MCP server is currently under active development. Its API (including available commands and their arguments) is experimental and may introduce breaking changes without notice. Please file an issue on GitHub if you encounter bugs or need support for additional Pulumi commands.
A server implementing the Model Context Protocol (MCP) for interacting with Pulumi CLI using the Pulumi Automation API and Pulumi Cloud API.
This package allows MCP clients to perform Pulumi operations like retrieving package information, previewing changes, deploying updates, and retrieving stack outputs programmatically without needing the Pulumi CLI installed directly in the client environment.
Usage
The Pulumi CLI has to be installed on you machine.
This package is primarily intended to be integrated into applications that can use MCP servers as AI tools. For example, here is how you can include Pulumi MCP Server in Claude desktop's MCP configuration file:
{
"mcpServers": {
"pulumi": {
"command": "npx",
"args": ["@pulumi/mcp-server"]
}
}
}Related MCP server: Azure Platform Engineering MCP Server
Available Commands
The server exposes handlers for the following Pulumi operations, callable via MCP requests:
preview: Runspulumi previewon a specified stack.workDir(string, required): The working directory containing thePulumi.yamlproject file.stackName(string, optional): The stack name to operate on (defaults to 'dev').
up: Runspulumi upto deploy changes for a specified stack.workDir(string, required): The working directory containing thePulumi.yamlproject file.stackName(string, optional): The stack name to operate on (defaults to 'dev').
stack-output: Retrieves outputs from a specified stack after a successful deployment.workDir(string, required): The working directory containing thePulumi.yamlproject file.stackName(string, optional): The stack name to retrieve outputs from (defaults to 'dev').outputName(string, optional): The specific stack output name to retrieve. If omitted, all outputs for the stack are returned.
getResource: Returns information about a specific Pulumi Registry resource, including its inputs and outputs.provider(string, required): The cloud provider (e.g., 'aws', 'azure', 'gcp', 'random') orgithub.com/org/repofor Git-hosted components.module(string, optional): The module to query (e.g., 's3', 'ec2', 'lambda').resource(string, required): The resource type name (e.g., 'Bucket', 'Function', 'Instance').
listResources: Lists available resources within a Pulumi provider package, optionally filtered by module.provider(string, required): The cloud provider (e.g., 'aws', 'azure', 'gcp', 'random') orgithub.com/org/repofor Git-hosted components.module(string, optional): The module to filter by (e.g., 's3', 'ec2', 'lambda').
Development
Clone the repository.
Install dependencies:
npm installBuild the project:
npm run build
License
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.
Available Tools
5 toolspulumi-cli-previewD
Inputs: workDir (required), stackName.
pulumi-cli-stack-outputD
Inputs: workDir (required), stackName, outputName.
pulumi-cli-upD
Inputs: workDir (required), stackName.
pulumi-registry-getResourceD
Inputs: provider (required), resource (required), module.
pulumi-registry-listResourcesD
Inputs: provider (required), module.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Tool names clearly distinguish registry operations (get/list resources) from CLI operations (preview, up, stack-output). Each name implies a distinct action, reducing ambiguity.
Naming style is inconsistent: 'getResource' and 'listResources' use camelCase, 'preview' and 'up' are lowercase single words, and 'stack-output' uses hyphen. No uniform verb_noun pattern.
With 5 tools, the set is well-scoped for a Pulumi MCP server covering registry and CLI basics. Each tool serves a distinct purpose without unnecessary duplication.
The tool set lacks essential Pulumi operations like stack create/destroy, config management, and resource update. The domain is only partially covered, leading to potential dead ends.
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Plan Salesforce deploys, open pull requests and trigger pipelines from your AI client.
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
AlicenseAqualityBmaintenanceEnables AI assistants to query, create, update, and propose changes to Infrahub infrastructure data through the Model Context Protocol, with branch isolation and human approval for changes.1210Apache 2.0- FlicenseNot gradedqualityDmaintenanceProvides AI agents with real-time access to live Azure infrastructure, including AKS cluster health, resource management, policy validation, and Terraform analysis through a Model Context Protocol interface.-
- AlicenseNot gradedqualityDmaintenanceExposes Salesforce development tools (scan, lint, test, deploy, verify) to AI assistants via the Model Context Protocol, enabling programmatic interaction with Salesforce projects.3 npmMIT
- AlicenseDqualityDmaintenanceEnables AI assistants to interact with local Docker containers, Kubernetes clusters, and system logs using the Model Context Protocol.98 npmISC