Integrations

Using Atlas with Pulumi in 2026

Updated 6 min read

Pulumi's MCP server exposes the local Automation API and Pulumi Cloud to Atlas, so it can read stack outputs, look up provider schemas, and iterate on pulumi preview until the plan is clean. Add it with atlas mcp add pulumi -- npx -y @pulumi/mcp-server@latest stdio, remembering the trailing stdio argument, then authenticate with pulumi login or PULUMI_ACCESS_TOKEN.

What Pulumi's MCP server gives Atlas

Pulumi's MCP server exposes the local Automation API and Pulumi Cloud to Atlas, which is two capabilities in one connection. In 2026 Atlas can read stack outputs, look up provider schemas, and iterate on pulumi preview until the plan is clean, all without leaving the terminal.

Pulumi is infrastructure as code written in a real programming language, which means the agent writing it needs two kinds of knowledge. It needs the provider's resource schema, so the resource it declares actually has the properties it sets. And it needs the current state of the stack, so it knows what already exists. Pulumi's MCP server supplies both: provider schema lookups on one side, and the local Automation API plus the Pulumi Cloud API on the other. Atlas holds both at once, which is why the TypeScript it writes tends to preview cleanly.

Adding Pulumi's MCP server to Atlas

Add Pulumi's server with atlas mcp add pulumi -- npx -y @pulumi/mcp-server@latest stdio, and remember the trailing stdio argument. Leaving stdio off is the most common Pulumi setup mistake in 2026, because the package needs to be told which transport to speak before it will start.

The command has a shape that trips people: @pulumi/mcp-server@latest is the package, and stdio is an argument the package itself requires. Omit it and the server does not come up, which surfaces to Atlas as a tool connection failure rather than a clear message about a missing argument. Once the server is registered, Atlas gains Pulumi's provider schema lookup and stack tools. Pulumi Cloud users have a shorter alternative available, described below, which skips the local process altogether.

Authenticating Atlas to Pulumi

Atlas has 2 ways to authenticate to Pulumi in 2026: run pulumi login, or set PULUMI_ACCESS_TOKEN. Pulumi's MCP server talks to both the local Automation API and the Pulumi Cloud API, so one credential covers both halves of what Atlas needs.

pulumi login is the interactive path and it is what most developers already have on their machine. PULUMI_ACCESS_TOKEN is the non-interactive path, appropriate for CI or a machine where you do not want a browser handshake. Either satisfies the MCP server, because the server uses the same credential resolution as the Pulumi CLI itself. Atlas therefore has exactly the Pulumi access your own login has: it can read the stack outputs you can read, and it can preview against the stacks you can preview against.

Skipping the local process with Pulumi Cloud

Pulumi Cloud users can skip the local process entirely. Register the hosted endpoint with atlas mcp add pulumi --url https://mcp.ai.pulumi.com/mcp then run atlas mcp auth pulumi. That is a 2 command setup with no npx, no Node dependency, and no local server for Atlas to keep alive.

The hosted route at https://mcp.ai.pulumi.com/mcp is the simplest way to connect Atlas to Pulumi if your stacks already live in Pulumi Cloud. atlas mcp add pulumi registers the URL and atlas mcp auth pulumi handles the authentication handshake. Choose the local @pulumi/mcp-server@latest stdio process instead when you need the local Automation API specifically, or when policy says the MCP process has to run inside your own boundary. Both give Atlas provider schemas and stack state, they differ in where the work happens.

The daily workflow: stack outputs, schema, TypeScript, preview

The Atlas and Pulumi loop in 2026 is four moves. Ask Atlas to read the stack outputs, look up the provider's resource schema, and add the resource in TypeScript. Then let Atlas run pulumi preview, read the plan diff, and iterate until nothing unexpected is being replaced.

Reading the stack outputs first is what stops Atlas from writing a resource that duplicates one you already have. Looking up the provider's resource schema is what stops it from setting a property that does not exist. With both in hand, the TypeScript Atlas writes is grounded, and pulumi preview becomes the check rather than the discovery mechanism. The word to watch in the preview diff is replace. A resource being replaced rather than updated is how Pulumi tells you something is about to be destroyed and recreated, and Atlas should iterate until nothing unexpected is being replaced.

Pin @pulumi/mcp-server in CI

Pulumi marks the MCP API experimental, so pin @pulumi/mcp-server to a version in CI rather than tracking @latest. In 2026 an experimental API can change its tool surface between releases, and a pinned version is what keeps an Atlas pipeline reproducible from one run to the next.

The @latest tag is fine on a developer machine, where a breaking change is an inconvenience you notice immediately. In CI it is a liability: a pipeline that passed yesterday fails today because the MCP server's tools moved, and nothing in your repository changed. Pulumi is explicit that the MCP API is experimental, which is a standing invitation to pin. Choose a version, pin @pulumi/mcp-server to it in the Atlas configuration your CI uses, and upgrade deliberately after you have seen the release notes.

Setup

  1. 01Add Pulumi's server, remembering the trailing stdio argument: atlas mcp add pulumi -- npx -y @pulumi/mcp-server@latest stdio
  2. 02Authenticate with pulumi login, or set PULUMI_ACCESS_TOKEN, since the server talks to both the local Automation API and the Pulumi Cloud API.
  3. 03Pulumi Cloud users can skip the local process entirely: atlas mcp add pulumi --url https://mcp.ai.pulumi.com/mcp then atlas mcp auth pulumi
  4. 04Ask Atlas to read the stack outputs, look up the provider's resource schema, and add the resource in TypeScript.
  5. 05Let Atlas run pulumi preview, read the plan diff, and iterate until nothing unexpected is being replaced.
  6. 06Pin @pulumi/mcp-server to a version in CI, because Pulumi marks the MCP API experimental.

Frequently asked questions

how to connect atlas to pulumi mcp server
Run atlas mcp add pulumi -- npx -y @pulumi/mcp-server@latest stdio. The trailing stdio argument is required, and omitting it is the most common setup mistake.
pulumi mcp server not starting missing stdio argument
The package needs the transport named explicitly. Use atlas mcp add pulumi -- npx -y @pulumi/mcp-server@latest stdio, with stdio as a trailing argument.
how does the pulumi mcp server authenticate
Authenticate with pulumi login, or set PULUMI_ACCESS_TOKEN. The server talks to both the local Automation API and the Pulumi Cloud API with that credential.
is there a hosted pulumi mcp endpoint
Yes. Pulumi Cloud users can skip the local process entirely: atlas mcp add pulumi --url https://mcp.ai.pulumi.com/mcp then atlas mcp auth pulumi.
can atlas run pulumi preview and fix the plan
Yes. Let Atlas run pulumi preview, read the plan diff, and iterate until nothing unexpected is being replaced.
should i pin the pulumi mcp server version
Yes in CI. Pulumi marks the MCP API experimental, so pin @pulumi/mcp-server to a version rather than tracking a moving tag.
can atlas write pulumi resources in typescript
Yes. Ask Atlas to read the stack outputs, look up the provider's resource schema, and add the resource in TypeScript. The schema lookup keeps the properties real.

Try Atlas in your terminal

The terminal-native AI coding agent. Free core, single binary.

Install Atlas

Related guides

Atlas with DeepSeek Chat: 384,000 Token Output at $0.28 per Mtok in 2026

Run Atlas on DeepSeek Chat in 2026. DeepSeek's non-reasoning endpoint gives 1M tokens (1,000,000) of context at $0.14 per Mtok input, $0.28 per Mtok output.

Atlas with Qwen3 235B-A22B: Flagship Sparse Reasoning in 2026

Qwen3 235B-A22B in Atlas: 235B total parameters, 22B active per token, $0.70 per Mtok input and $2.80 per Mtok output, 128K tokens (131,072) of context.

Atlas with Mistral Large 2.1 (2411): A 2026 Setup Guide

Mistral Large 2.1 (2411) runs Atlas on EU infrastructure with a 131,072 token context at $2.00 / 1M input tokens and $6.00 / 1M output tokens. Setup and honest limits.

Atlas vs Warp: Choosing Your AI Coding Agent in 2026

Compare Atlas, the terminal-native AI coding agent, with Warp, a smart terminal with AI Agent Mode, for developers in 2026. Evaluate features, privacy, and workflow.

Atlas with GPT-4.1 nano (2026): A $0.10 Triage Model, Not a Coding Agent

GPT-4.1 nano runs in Atlas at $0.10 per Mtok input and $0.40 per Mtok output on a 1,047,576 token window. Use it for file triage and commit messages, not refactors.

Atlas with Gemma 4 26B A4B: The Open-Weights MoE Option in 2026

Gemma 4 26B A4B in Atlas: a sparse MoE with about 4B active of 26B total parameters, a 262,144 token context, a 32,768 token output cap, and no public price.

Atlas with Qwen3.7 Plus: The Newest Million-Token Qwen Tier, June 2026

Qwen3.7 Plus is the value play in Alibaba's 3.7 line: 1M tokens (1,000,000) of context at $0.50 per Mtok input and $3.00 per Mtok output, one fifth the input price of Qwen3.7 Max.

Atlas with GPT-5 Codex: The First Codex Model of the GPT-5 Family in 2026

GPT-5 Codex in Atlas: September 2025 brought coding post training at zero premium, 400K context, 128K output, and $1.25 per Mtok input with $10 per Mtok output.

Browse this resource hub