Manage Terraform Cloud workspaces, runs, state, and variables — AI-driven infrastructure as code operations.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"terraform": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-terraform",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the _ping tool to verify terraform cloud api token by fetching the current account. used internally by aerostack to validate credentials”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
Manage Terraform Cloud workspaces, runs, state, and variables from your AI agents.
Terraform Cloud is HashiCorp's managed service for infrastructure as code. This MCP server lets your AI agents list workspaces, trigger and inspect runs, browse state versions, and manage workspace variables — turning Terraform Cloud into a live infrastructure control plane for intelligent DevOps workflows.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-terraform
| Tool | Description |
|---|---|
_ping | Verify API token connectivity (internal) |
list_workspaces | List workspaces with optional name search |
get_workspace | Get full details for a workspace by name |
list_runs | List runs for a specific workspace |
get_run | Get full details for a run by ID |
trigger_run | Create and queue a new run for a workspace |
list_state_versions | List state versions for a workspace |
get_current_state | Get the current state version for a workspace |
list_variables | List all variables for a workspace |
set_variable | Create or update a variable in a workspace |
| Variable | Required | Description | How to Get |
|---|---|---|---|
TERRAFORM_API_TOKEN | Yes | Team or User API token | app.terraform.io → User Settings → Tokens → Create an API token |
TERRAFORM_ORG | Yes | Organization name | app.terraform.io → Organizations → copy org name from the URL or sidebar |
Once added, every AI agent in your workspace can call Terraform Cloud tools automatically — no per-user setup needed.
"List all workspaces in my Terraform organization"
"Show me the last 5 runs for workspace production-infra"
"Trigger a plan run on workspace staging-vpc with message 'Testing new subnet'"
"What's the current state version for workspace prod-database?"
"Set variable AWS_REGION to us-west-2 in workspace production-infra"
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-terraform \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-TERRAFORM-API-TOKEN: your-api-token' \
-H 'X-Mcp-Secret-TERRAFORM-ORG: your-org-name' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_workspaces","arguments":{"search":"production"}}}'
MIT
Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-terraform
Sub-50ms globally · Zero cold start
@aerostack
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
by @aerostack
Tasks, projects, sections, comments, teams, custom fields via Asana's official MCP
by @aerostack
Jira issues, sprints, Confluence pages via Atlassian's official MCP
by @aerostack
Cloudflare Workers, KV, R2, D1, Pages, DNS via Cloudflare's official MCP
by @aerostack
Dashboards, monitors, logs, metrics, incidents, SLOs, APM traces via Datadog's official MCP
by @aerostack
Files, frames, components, comments, variables via Figma's official MCP
by @aerostack
GitHub repos, PRs, issues, branches, code search via GitHub's official hosted MCP
Yes. trigger_run starts a plan or apply on a workspace and get_run lets Claude poll status. Chain list_runs to find recent history and surface any errored runs automatically.
get_current_state returns the latest state version for a workspace. Claude can parse resource counts and outputs, letting you audit drift or confirm a destroy before it runs.
Yes. set_variable updates a workspace variable by key. Claude can read existing values with list_variables and overwrite only the target key, preserving all other workspace config.
list_workspaces returns all workspaces in an organization. Claude can call get_workspace for each and diff their variable sets or run counts to surface config inconsistencies.