An MCP server that provides tools for interacting with Terraform, HCP Terraform/TFE, and the Terraform Registry. Supports workspace management, runs, variables, private modules/providers, and public registry operations.
38 tools with consistent verb-noun naming (search_, get_, list_, create_, update_, delete_, action_). All tools have descriptions (10-200 chars, baseline 194). Input schemas present for all tools with typed parameters. However, descriptions are often generic and lack LLM-optimized guidance on WHEN to use each tool vs. similar ones. Parameter descriptions are minimal (5-30 chars vs. baseline 72). No output schemas documented. Error handling guidance absent. Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). No pagination guidance for list tools. Composition is sound (single responsibility per tool), but chaining IDs not always guaranteed in responses.
Perform an action on a run (apply, discard, cancel)
Create a no-code workspace from a module
Create a new run in a workspace (with full Terraform operations enabled)
Create a variable in a variable set
Create a new variable set
Create a new workspace in a Terraform organization
Create tags for a workspace
No output schemas documented. LLMs cannot plan downstream tool calls or extract required chaining IDs (e.g., workspace_id after create_workspace). Responses must include all IDs needed by dependent tools.
Parameter descriptions are minimal (5-30 chars vs. baseline 72). Lack guidance on format, constraints, or dependencies. E.g., 'organization' param appears in 20+ tools but never explains if it's org name or ID, or whether it's required.
Tool annotations missing. Despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE), no readOnlyHint, destructiveHint, or idempotentHint in tool definitions. Agents cannot distinguish safe from dangerous operations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | <=2025-11-25 | v2 |
Delete a variable from a variable set
Safely delete a workspace after checking for active runs and locks
Force unlock a workspace that is locked
Get detailed information about an apply from a run
Get logs from an apply
Get the latest version of a module from the Terraform Registry
Get the latest version of a provider from the Terraform Registry
Get detailed information about a specific module from the Terraform Registry
Get detailed information about a plan from a run
Get JSON output from a plan
Get logs from a plan
Get detailed information about a specific policy from the Terraform Registry
Get detailed information about a private module
Get detailed information about a private provider
Get capabilities and features of a provider
Get detailed information about a specific provider from the Terraform Registry
Get detailed information about a specific run
Get Sentinel policy mock data for testing
Get detailed information about a specific workspace
List runs in a workspace
List Terraform organizations accessible via TFE/TFC
List Terraform projects in an organization
List variable sets in an organization
List workspaces in a Terraform organization or project
Read tags associated with a workspace
Search for modules in the Terraform Registry
Search for policies in the Terraform Registry
Search for private modules in the TFE/TFC private registry
Search for private providers in the TFE/TFC private registry
Search for providers in the Terraform Registry
Update an existing workspace
No error handling guidance. Tools lack recovery hints (e.g., 'If workspace not found, call list_workspaces first'). Agents cannot self-correct on failures.
List tools (list_workspaces, list_runs, list_variable_sets) lack pagination guidance. No mention of limit, offset, or result caps. Large result sets risk context window exhaustion.