Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

MCP Server Terraform

de RajeevSirohiversión 0.2.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.RajeevSirohi/mcp-server-terraform

Instalar

Resumen

Descripción del creador (original en inglés)

Safety-first Terraform: confirmation-gated apply/destroy, risk & cost analysis, drift detection

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Herramientas para desarrolladores

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: ALLOW_ONLY_READONLY_TOOLS, ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS, AUDIT_LOG_PATH

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "terraform": {
      "command": "npx",
      "args": [
        "-y",
        "@rajsir/mcp-server-terraform"
      ],
      "env": {
        "ALLOW_ONLY_READONLY_TOOLS": "your-value",
        "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "your-value",
        "AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add terraform --env ALLOW_ONLY_READONLY_TOOLS=your-value --env ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=your-value --env AUDIT_LOG_PATH=your-value -- npx -y @rajsir/mcp-server-terraform

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "terraform": {
      "command": "npx",
      "args": [
        "-y",
        "@rajsir/mcp-server-terraform"
      ],
      "env": {
        "ALLOW_ONLY_READONLY_TOOLS": "your-value",
        "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "your-value",
        "AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "terraform": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@rajsir/mcp-server-terraform"
      ],
      "env": {
        "ALLOW_ONLY_READONLY_TOOLS": "your-value",
        "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "your-value",
        "AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • ALLOW_ONLY_READONLY_TOOLS env
    Set to 'true' to expose only validate/plan/output/preflight/drift tools
  • ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS env
    Set to 'true' to block apply/destroy/state-mutation tools
  • AUDIT_LOG_PATH env
    File path for JSON-lines audit logging of all tool calls (var values redacted)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub RajeevSirohi, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Herramientas para desarrolladoresi

  • Más estrellas que el 0% de los otros 1396 servidores de esta categoría
  • Publicado en el registro más recientemente que el 30% de los otros 1396 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1396 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro MCP Server Terraform?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.2.1) llegó al registro hace 4 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: GitHub, Desktop Commander, Cloudflare MCP

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

GitHub

de github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

Computadora o nube★ 34.245MITActualizado hace 4 días
Instalar

Desktop Commander

de wonderwhy-er

MCP server for terminal commands, file operations, and process management

Se ejecuta en tu computadora★ 10.225MITActualizado hace 16 días
Instalar

Cloudflare MCP

de cloudflare

Cloudflare MCP servers

Se ejecuta en la nube★ 4446Apache-2.0Actualizado hace 14 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

mcp-server-terraform

A Model Context Protocol (MCP) server that lets Claude manage Terraform infrastructure through natural language.

Run plans, apply changes, inspect state, and diagnose failures — all from a Claude conversation.

What it does

Instead of switching to a terminal to run terraform plan, you can ask Claude:

"Plan the changes in /infra/staging and explain what will change"

"Apply it — but only if no resources will be destroyed"

"Show me all the outputs from the prod workspace"

"Something broke after the last apply — diagnose it"

The server translates these into real terraform CLI commands on your machine, with a built-in safety confirmation flow before any destructive operation runs.

Tools

ToolDescriptionDestructive
tf_initInitialize a Terraform working directoryNo
tf_validateValidate configuration syntaxNo
tf_planRun a plan and return the diff + risk/cost summaryNo
tf_applyApply changes (requires confirmed: true)Yes
tf_destroyDestroy infrastructure (requires confirmed: true)Yes
tf_outputRead output values from stateNo
tf_stateList, show, move, or remove state entriesPartial
tf_workspaceList, show, select, or create workspacesNo
tf_preflightCheck provider CLI authentication before runningNo
tf_driftDetect resources changed outside TerraformNo
tf_resourceImport, taint, untaint, or refresh resourcesYes
Plan risk & cost summary

Every plan (and every apply preview) is analyzed via terraform show -json and annotated with a structured summary — destroyed resources are called out, and always-on resources that commonly cause bill shock are flagged with rough monthly costs:

── Plan Summary ──
  • 3 create, ~ 1 update, - 0 destroy, ± 0 replace

💸 EXPENSIVE — always-on resources being created: ⚠ aws_nat_gateway.main (~$32/month + data processing if left running) Remember to tf_destroy when you're done experimenting.

Cost-flagged resource types include NAT gateways, load balancers, EKS/AKS/GKE control planes, RDS/Cloud SQL instances, ElastiCache, Redshift, MSK, and Azure Firewall (~$900/month!).

Drift detection

tf_drift runs a refresh-only plan and reports resources that were changed outside Terraform (e.g. manually in the cloud console), with the changed attribute names and remediation options.

Audit logging

Set AUDIT_LOG_PATH to a file path and every tool call is appended as a JSON line with timestamp, tool name, outcome, and duration. Variable values are always redacted (db_password= ) — only names are logged.

Confirmation flow

tf_apply and tf_destroy use a two-step safety flow:

  1. First call (no confirmed) → runs terraform plan, shows the diff, does nothing else
  2. Second call (confirmed: true) → actually applies or destroys

Claude is instructed to never pass confirmed: true without first presenting the plan to you.

Prompt

The server exposes a /tf-diagnose prompt that guides Claude through a systematic 5-step diagnosis of plan or apply failures.

Prerequisites

Installation

No install needed — run it straight from npm:

npx @rajsir/mcp-server-terraform

Or, for development, from source:

git clone https://github.com/RajeevSirohi/mcp-server-terraform.git

cd mcp-server-terraform npm install npm run build

Claude Desktop setup

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{

"mcpServers": { "terraform": { "command": "npx", "args": ["-y", "@rajsir/mcp-server-terraform"] } } }

(If running from source instead, use "command": "node" with "args": ["/absolute/path/to/dist/index.js"].)

Restart Claude Desktop. You should see a hammer icon indicating tools are available.

Usage

Once connected, just talk to Claude about your Terraform workspaces in plain language. Some examples:

First time in a new workspace

"Initialize the terraform config in C:\infra\staging and check if I'm logged into the right cloud accounts"

Claude runs tf_init, then tf_preflight — if you're not authenticated it tells you exactly which command to run (az login, aws configure, ...).

The everyday plan → review → apply loop

"Plan the changes in C:\infra\staging and explain what will change"

You get the plan diff plus a summary: how many resources created/updated/destroyed, anything destructive called out explicitly, and cost warnings for expensive always-on resources.

"Looks good, apply it"

Claude shows the plan preview one more time and asks for your confirmation — nothing is applied until you say yes. This two-step gate is built into the server itself, not just the prompt, so Claude *cannot* skip it.

Checking on your infrastructure

"Did anyone change anything outside terraform in the prod workspace?"

tf_drift compares state against reality and reports what was modified in the console, with options to accept or revert.

"Show me all the outputs" · "List everything in state" · "What workspaces exist?"

Learning / experimenting (e.g. cert prep)

"Apply the VPC lab in C:\labs\vpc, and when I say 'done' destroy everything"

The cost flags are your friend here — if a lab creates a NAT gateway or EKS cluster, the plan summary warns you what it costs per month if forgotten:

💸 EXPENSIVE — always-on resources being created:

⚠ aws_nat_gateway.main (~$32/month + data processing if left running) Remember to tf_destroy when you're done experimenting.

Fixing things

"terraform plan is failing in C:\infra\staging — diagnose it"

The /tf-diagnose prompt walks Claude through validate → providers → plan → state → outputs systematically. There's also /tf-login for step-by-step authentication setup per provider.

"Import the S3 bucket my-legacy-bucket into state as aws_s3_bucket.legacy"

"Taint the web server so it gets recreated on the next apply"

Recommended setup for shared or cautious environments

Run with ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true (see Safety modes below) so apply/destroy are unavailable entirely, and set AUDIT_LOG_PATH so every operation is logged.

Safety modes

Control which tools are available via environment variables:

VariableEffect
ALLOW_ONLY_READONLY_TOOLS=trueOnly tf_validate, tf_plan, tf_output
ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=trueBlocks tf_apply, tf_destroy, tf_state mv/rm
ALLOWED_TOOLS=tf_plan,tf_outputExplicit comma-separated allowlist

Example — read-only mode:

{

"mcpServers": { "terraform": { "command": "node", "args": ["/path/to/dist/index.js"], "env": { "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "true" } } } }

Development

npm run dev       # watch mode (recompiles on save)

npm test # run tests npm run build # production build

Project structure
src/

index.ts # MCP server entry point, tool registration config/ # (reserved for future config/telemetry) models/ common-parameters.ts # Shared Zod schemas security/ tf-flags.ts # Dangerous flag blocking tools/ tf-init.ts tf-validate.ts tf-plan.ts tf-apply.ts # Two-step confirmation flow tf-destroy.ts # Two-step confirmation flow tf-output.ts tf-state.ts tf-workspace.ts utils/ terraform-runner.ts # Core exec wrapper, workspace switching prompts/ index.ts # /tf-diagnose prompt tests/ tf-flags.test.ts tf-apply.test.ts

Adding a new tool
  1. Create src/tools/tf-yourcommand.ts — export a *Schema const and an async handler function
  2. Import both in src/index.ts
  3. Add the schema to readonlyTools or destructiveTools array
  4. Add a case in the CallToolRequestSchema handler switch

Roadmap

  • Terraform Cloud / Enterprise API support (Phase 2)
  • OpenTelemetry tracing
  • SSE / streamable HTTP transport for remote deployments
  • Docker image on GitHub Container Registry
  • Plan risk & cost analysis
  • Drift detection
  • Import / taint / untaint / refresh
  • Audit logging
  • CI (build, test matrix, e2e against real terraform)

Contributing

See CONTRIBUTING.md.

License

MIT — see LICENSE.

Pregunta a PopNx