Stack · Platform engineering

Infrastructure as code desk

Writes and reviews Terraform against the registry, brings existing resources under management, and audits the state file before it drifts.

Built for: The engineer who inherited a cloud account built by hand and has been asked to put it in Terraform without breaking it.

Install all 7 parts

The button opens the checkout, where the 2 servers and 5 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.

$0/mo
every member is free — 2 servers and 5 skills
$0
the free-tier version keeps 2 servers and 5 skills — and all 5 tools
$0
5 skills with no monthly cost
29.2k
tokens if every skill file is read in full — a skill loads its description first and the rest only when used
01 · Outcome

What your agent can do with this

The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.

  1. 01

    Look up the exact resource arguments for the provider version you pin in the Terraform Registry, instead of trusting a remembered example.

  2. 02

    Find resources that exist in the account but not in code, and generate the import blocks and configuration for them.

  3. 03

    Audit a state file for security misconfigurations and compare it with an earlier state to see what changed outside a plan.

  4. 04

    Refactor a flat configuration into modules in HashiCorp's style, and lint and validate it before the first plan.

02 · Assembly

The assembly, part by part

What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.

2 servers5 skills5 tools
TE01

HashiCorp's own server: providers, resources, modules and policies from the Terraform Registry, so generated code uses arguments that exist in the version you pin.

read/write split not recordedruns on your machine v1.0.0 credential not declared · runs locally
Free
$0 of the monthly total
TF02

Reads a Terraform state file, summarises it, compares two states and audits the resources for security misconfigurations — without touching the cloud.

5 readread-onlyruns on your machine A v0.3.0 credential not declared · runs locally
Free
$0 of the monthly total
and the instructions that drive them A skill is a prompt file, not a server: it adds context and a procedure, never a tool or a permission of its own.
TE03
Terraform Style Guide Agent skill by hashicorp

HashiCorp's style conventions for HCL — naming, file layout, variables — applied as the code is written rather than in review.

1.9k tokens when loaded in full write access not declared 1 file · GPL-3.0 needs no server of its own
Free
no monthly cost
TE04
Terraform Search and Bulk Import Agent skill by hashicorp

Terraform Search queries and bulk import, for bringing resources that were created by hand under management.

2.8k tokens when loaded in full write access not declared 3 files · GPL-3.0 v0.1.0 needs no server of its own
Free
no monthly cost
TE05
Terraform Module Library Agent skill by wshobson

Reusable modules for AWS, Azure, GCP and OCI, so the second environment is an input to a module rather than a copy.

1.7k tokens when loaded in full write access not declared 2 files · MIT needs no server of its own
Free
no monthly cost
SK06
Skill: Refactor Module Agent skill by hashicorp

HashiCorp's guide for turning a monolithic configuration into modules without planning a destroy-and-recreate.

3.4k tokens when loaded in full write access not declared 1 file · GPL-3.0 v0.0.1 needs no server of its own
Free
no monthly cost
TE07
Terraform Validator Agent skill by akin-ozer

Runs terraform validate, tflint and checkov over .tf files and reads the findings back, before anyone runs a plan.

19.3k tokens when loaded in full write access not declared 10 files · Apache-2.0 needs no server of its own
Free
no monthly cost
03 · Cost

What it costs, and on what assumption

Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.

PartWhat you are paying forMonthly, as quoted
Terraform Free —
Tfstate Reader Free —
Skills
Terraform Style Guide Free · context cost only —
Terraform Search and Bulk Import Free · context cost only —
Terraform Module Library Free · context cost only —
Skill: Refactor Module Free · context cost only —
Terraform Validator Free · context cost only —
Everything above $0 of servers plus $0 of skills, the same in a quiet month and a busy one $0/mo

Subscriptions at their monthly plan price; one-off licences spread over 12 months.

What moves the bill
Flat every month$0 · 0 subscriptions
Carries a call allowancenothing
Paid oncenothing
Traffic assumed5k calls / month

Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.

The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.

04 · Setup

Setting it up, in order

The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.

1
Have Docker running
The HashiCorp server starts with docker run -i --rm; the image is pulled on first use.
2
Pull state before auditing
terraform state pull > state.json gives the reader a file to open. Keep it out of the repository and delete it when the audit is done.
3
Install the linters
The validator skill calls terraform, tflint and checkov from your PATH; it reports what is missing rather than installing it.
4
Pin the provider versions first
Registry lookups answer for the version in required_providers. Without a pin, the generated arguments follow the latest release.
Install, part by part7 parts of 7 in Claude Code

npx mcprush@latest stack add iac-desk writes all 2 servers into Claude Code’s config in one go — or run the lines below one by one. The 5 skills are not included — add them with lines 03–07.

# 01 · Terraform claude mcp add --scope user hashicorp-terraform-mcp '--' docker run -i --rm docker.io/hashicorp/terraform-mcp-server:1.0.0 # 02 · Tfstate Reader claude mcp add --scope user tfstate-reader-mcp '--' uvx --with 'mcp<2' mcp-tfstate-reader # 03 · Terraform Style Guide npx mcprush@latest skill add hashicorp/terraform-style-guide # 04 · Terraform Search and Bulk Import npx mcprush@latest skill add hashicorp/terraform-search-and-bulk-import # 05 · Terraform Module Library npx mcprush@latest skill add wshobson/terraform-module-library # 06 · Skill: Refactor Module npx mcprush@latest skill add hashicorp/skill-refactor-module # 07 · Terraform Validator npx mcprush@latest skill add akin-ozer/terraform-validator
Requirements and Windows tips
  • Node.js 20 or newer (for npx).
  • uv (for uvx, docs.astral.sh/uv).
  • Docker, installed and running.
  • Windows PowerShell says 'running scripts is disabled on this system'? Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned once, or type npx.cmd instead of npx (codex.cmd, gemini.cmd, grok.cmd likewise). PowerShell 7 needs neither.

Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.

Before you start
  • 2 members have not declared what credential they need — check each one’s own page before you start.
  • What this stack can write is not recorded — 1 member of 2 has no imported tool surface. Section 05 says what is known before you approve anything.
  • 2 members are connected straight from their own package or address — nothing in them goes through mcprush.
05 · Permissions

What the whole stack can reach

Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.

—
tools that only read
Which tools read and which write is counted from the surface a publisher imports, and 1 member of 2 has no imported tool surface.
—
tools that can change something
Not recorded, and not estimated: a total added up from the members that have a surface would be read as the whole stack’s. The table below is what is known, member by member.
0
tools that reach the network
5 of the 5 never leave your machine — they belong to the local members.
Who grants the write accessnot recorded
MemberTool surfaceWrite tools
Terraform not imported not recorded
Reading the number

A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 1 member of 2 has no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.

Tools in total5
Write sharenot recorded
Members that can writenot recorded
Surface imported1 of 2 members
06 · Swaps

Sensible swaps

A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.

A team that moved to OpenTofu reads providers and modules from the OpenTofu Registry through the project's own server — and it runs from npm, without Docker.

same money at 5k calls tool counts not recorded grade A instead of not scanned
07 · Limits

Where this stack stops

Written by the maintainer, kept on the page rather than in a support thread.

  • It does not run terraform apply. The desk writes code and reads state; applying stays with your pipeline and the person who approves the plan.

  • The state reader works on the file you give it. State kept in a remote backend has to be pulled first, and it can contain secrets, so read it on the machine that already holds them.

  • The HashiCorp member is a container image: it needs Docker, and the registry lookups it makes go to HashiCorp over the network.

08 · Maintenance

Who keeps this current

A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.

Maintainer
mcprush
The marketplace’s own editors — keep 40 stacks here
Version
—
Not versioned — the curator edits in place
Scanned members
1 of 2
Servers in it that carry a scan grade for the release they serve.
Member trust score
99
Client score of its one scanned server, out of 100.
Composition
2 + 5
2 servers, 5 skills
Nearby

Other ready-made stacks

All 40 stacks