Terraform Cloud MCP

Terraform Cloud MCP

A read-only MCP server for inspecting and diagnosing HCP Terraform workspaces, runs, and plan summaries from ChatGPT and other MCP clients. It provides tools to list workspaces, inspect runs, and summarize plans without exposing sensitive data.

Category
Visit Server

README

Terraform Cloud MCP

A read-only MCP server for inspecting and diagnosing HCP Terraform (formerly Terraform Cloud) from ChatGPT and other MCP clients.

The first version is deliberately narrow: it exposes workspaces, runs, and sanitized plan summaries while excluding variables, state, outputs, raw plan JSON, logs, and every write operation.

Capabilities

  • List workspaces in an allowlisted organization.
  • Inspect workspace configuration and lock state.
  • List and filter workspace runs.
  • Inspect one run and its available actions without executing them.
  • Summarize a plan: additions, changes, destructions, imports, and status.
  • Get a combined workspace/current-run/plan operational overview.

MCP tools

Tool Purpose
terraform_list_workspaces Discover workspace IDs and operational status.
terraform_get_workspace Inspect one workspace by ID or name.
terraform_list_runs List recent or filtered runs in a workspace.
terraform_get_run Inspect one run.
terraform_get_run_plan_summary Retrieve the sanitized numeric plan summary for a run.
terraform_get_workspace_overview Retrieve a workspace, current run, and plan in one call.

Every tool is annotated as read-only, non-destructive, and idempotent.

Security model

This project does not return:

  • Terraform variables or variable values.
  • State files or state outputs.
  • Raw plan JSON.
  • Plan or apply logs.
  • Terraform API tokens.
  • Apply, cancel, discard, unlock, delete, or workspace-update operations.

Organizations are restricted with TERRAFORM_ALLOWED_ORGANIZATIONS. Use a Terraform token with the minimum permissions required to read the intended workspaces and runs.

MCP_BEARER_TOKEN adds optional static bearer authentication for MCP clients that can send an Authorization header. For direct ChatGPT testing, prefer OpenAI's Secure MCP Tunnel or add standards-compliant OAuth before exposing the service publicly. Never deploy an unauthenticated public endpoint that contains a server-side Terraform token.

Requirements

  • Node.js 22+
  • An HCP Terraform user, team, or organization token with read access

Local setup

cp .env.example .env
npm install
npm run dev

Health check:

curl http://localhost:3000/health

MCP endpoint:

http://localhost:3000/mcp

Validate

npm run check
docker build -t terraform-cloud-mcp .

Environment variables

Variable Required Description
TERRAFORM_API_TOKEN Yes HCP Terraform API token.
TERRAFORM_ORGANIZATION Yes Default organization used by tools.
TERRAFORM_ALLOWED_ORGANIZATIONS No Comma-separated allowlist; defaults to the default organization.
TERRAFORM_API_BASE_URL No Defaults to https://app.terraform.io/api/v2.
MCP_BEARER_TOKEN No Optional incoming bearer token, minimum 16 characters.
REQUEST_TIMEOUT_MS No Terraform API timeout; defaults to 15000.
PORT No HTTP port; defaults to 3000.

Connect it to ChatGPT

  1. Run the server locally.
  2. Expose it securely over HTTPS using OpenAI Secure MCP Tunnel, or deploy it behind appropriate authentication.
  3. In ChatGPT, enable Developer mode under Settings → Security and login.
  4. Open Settings → Plugins, create a developer-mode app, and use the public /mcp URL.
  5. Verify the six advertised tools and add the app to a new conversation.

Example prompts:

List my Terraform workspaces and flag any that are locked or using an old Terraform version.
Give me an operational overview of the job-board-infra workspace.
Inspect the current run for job-board-infra and summarize the planned additions, changes, and destructions.

Architecture

ChatGPT / MCP client
        │ Streamable HTTP
        ▼
terraform-cloud-mcp
        │ JSON:API + Bearer token
        ▼
HCP Terraform API

The HTTP transport is stateless, which suits container platforms such as Cloud Run. A fresh MCP server and transport are created for each request.

Roadmap

  • OAuth 2.1 authentication for a safely hosted ChatGPT integration.
  • Policy-check and cost-estimate summaries.
  • Run event timelines.
  • Optional write operations behind explicit feature flags and confirmation, beginning with queueing speculative plans only.
  • Cross-provider diagnosis with Google Cloud and GitHub Actions.

References

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured