nwiizo avatar

tfmcp

nwiizo/tfmcp

Tfmcp is a command-line MCP server that enables large language models to interact with Terraform environments through tools for reading configurations, analyzing plans, applying changes, managing state, and creating or modifying infrastructure code. It provides capabilities including plan analysis with risk scoring, state inspection with drift detection, workspace management, resource dependency visualization, module registry integration, and enterprise-grade security controls with audit logging. The server solves the problem of giving AI assistants programmatic access to Terraform operations while maintaining production-ready security policies and detailed infrastructure analysis.

GitHub stars
364
tools
80
last updated
Mar 9, 2026

Tools

80 tools

Public tool metadata for what this MCP can expose to an agent.

init_terraformInitialize Terraform working directory

Initialize Terraform working directory

No parameter schema in public metadata yet.

get_terraform_planGenerate a saved plan, or retrieve its redacted result and status by plan ID

Generate a saved plan, or retrieve its redacted result and status by plan ID

No parameter schema in public metadata yet.

list_terraform_plansList saved plan IDs, targets, statuses, and destroy flags

List saved plan IDs, targets, statuses, and destroy flags

No parameter schema in public metadata yet.

discard_terraform_planRemove an unneeded saved plan and free retention capacity

Remove an unneeded saved plan and free retention capacity

No parameter schema in public metadata yet.

analyze_planAnalyze plan with risk scoring and recommendations

Analyze plan with risk scoring and recommendations

No parameter schema in public metadata yet.

apply_terraformApply the reviewed saved plan ID and verify state resource addresses

Apply the reviewed saved plan ID and verify state resource addresses

No parameter schema in public metadata yet.

destroy_terraformApply a reviewed saved destroy plan with explicit deletion permissions

Apply a reviewed saved destroy plan with explicit deletion permissions

No parameter schema in public metadata yet.

validate_terraformValidate configuration syntax

Validate configuration syntax

No parameter schema in public metadata yet.

validate_terraform_detailedDetailed validation with guidelines

Detailed validation with guidelines

No parameter schema in public metadata yet.

get_terraform_stateShow current state

Show current state

No parameter schema in public metadata yet.

analyze_stateAnalyze state with drift detection

Analyze state with drift detection

No parameter schema in public metadata yet.

review_terraform_planReview plan risk, blockers, destructive changes, and recommendations

Review plan risk, blockers, destructive changes, and recommendations

No parameter schema in public metadata yet.

summarize_plan_for_prGenerate markdown plan summary for PR comments

Generate markdown plan summary for PR comments

No parameter schema in public metadata yet.

run_terraform_quality_checksRun CI-friendly validation, module health, guideline, and lockfile checks

Run CI-friendly validation, module health, guideline, and lockfile checks

No parameter schema in public metadata yet.

inspect_state_safetyInspect state readability, drift risk, lockfile status, and blockers

Inspect state readability, drift risk, lockfile status, and blockers

No parameter schema in public metadata yet.

detect_drift_candidatesDetect drift candidates from readable state without modifying infrastructure

Detect drift candidates from readable state without modifying infrastructure

No parameter schema in public metadata yet.

prepare_terraform_changeGenerate blockers, warnings, and a recommended change sequence

Generate blockers, warnings, and a recommended change sequence

No parameter schema in public metadata yet.

list_terraform_resourcesList all managed resources

List all managed resources

No parameter schema in public metadata yet.

set_terraform_directoryChange active project directory

Change active project directory

No parameter schema in public metadata yet.

terraform_workspaceManage workspaces (list, show, new, select, delete)

Manage workspaces (list, show, new, select, delete)

No parameter schema in public metadata yet.

terraform_importImport existing resources

Import existing resources

No parameter schema in public metadata yet.

terraform_taintTaint/untaint resources

Taint/untaint resources

No parameter schema in public metadata yet.

terraform_refreshRefresh state

Refresh state

No parameter schema in public metadata yet.

terraform_fmtFormat code

Format code

No parameter schema in public metadata yet.

terraform_graphGenerate dependency graph

Generate dependency graph

No parameter schema in public metadata yet.

terraform_outputGet output values with sensitive values redacted, including named queries

Get output values with sensitive values redacted, including named queries

No parameter schema in public metadata yet.

terraform_providersGet provider info with lock file

Get provider info with lock file

No parameter schema in public metadata yet.

check_provider_lockfileCheck `.terraform.lock.hcl` for reproducible provider selections

Check `.terraform.lock.hcl` for reproducible provider selections

No parameter schema in public metadata yet.

analyze_terraformAnalyze configuration

Analyze configuration

No parameter schema in public metadata yet.

inspect_terraform_projectInspect local Terraform directories, modules, and likely entrypoints

Inspect local Terraform directories, modules, and likely entrypoints

No parameter schema in public metadata yet.

detect_terraform_entrypointsDetect likely root module entrypoints

Detect likely root module entrypoints

No parameter schema in public metadata yet.

analyze_module_healthModule health with cohesion/coupling metrics

Module health with cohesion/coupling metrics

No parameter schema in public metadata yet.

get_resource_dependency_graphResource dependencies visualization

Resource dependencies visualization

No parameter schema in public metadata yet.

suggest_module_refactoringRefactoring suggestions

Refactoring suggestions

No parameter schema in public metadata yet.

get_security_statusSecurity scan with secret detection

Security scan with secret detection

No parameter schema in public metadata yet.

search_providersSearch providers (HashiCorp-compatible alias)

Search providers (HashiCorp-compatible alias)

No parameter schema in public metadata yet.

search_terraform_providersSearch providers

Search providers

No parameter schema in public metadata yet.

get_provider_detailsProvider details (HashiCorp-compatible alias)

Provider details (HashiCorp-compatible alias)

No parameter schema in public metadata yet.

get_provider_infoProvider details

Provider details

No parameter schema in public metadata yet.

get_provider_docsProvider documentation

Provider documentation

No parameter schema in public metadata yet.

get_provider_capabilitiesProvider resources, data sources, functions, and guides

Provider resources, data sources, functions, and guides

No parameter schema in public metadata yet.

search_modulesSearch modules (HashiCorp-compatible alias)

Search modules (HashiCorp-compatible alias)

No parameter schema in public metadata yet.

search_terraform_modulesSearch modules

Search modules

No parameter schema in public metadata yet.

get_module_detailsModule details

Module details

No parameter schema in public metadata yet.

get_latest_module_versionLatest module version

Latest module version

No parameter schema in public metadata yet.

get_latest_provider_versionLatest provider version

Latest provider version

No parameter schema in public metadata yet.

search_policiesSearch Sentinel/OPA policy libraries

Search Sentinel/OPA policy libraries

No parameter schema in public metadata yet.

get_policy_detailsPolicy library details

Policy library details

No parameter schema in public metadata yet.

get_token_permissionsInspect configured token account details without exposing the token

Inspect configured token account details without exposing the token

No parameter schema in public metadata yet.

list_terraform_orgsList visible organizations

List visible organizations

No parameter schema in public metadata yet.

list_terraform_projectsList projects in an organization

List projects in an organization

No parameter schema in public metadata yet.

list_workspacesList workspaces in an organization

List workspaces in an organization

No parameter schema in public metadata yet.

get_workspace_detailsGet workspace details by ID or organization/name

Get workspace details by ID or organization/name

No parameter schema in public metadata yet.

list_runsList workspace runs

List workspace runs

No parameter schema in public metadata yet.

get_run_detailsGet run details

Get run details

No parameter schema in public metadata yet.

get_plan_detailsGet plan details

Get plan details

No parameter schema in public metadata yet.

get_plan_logsGet plan logs

Get plan logs

No parameter schema in public metadata yet.

get_plan_json_outputGet Terraform JSON plan output

Get Terraform JSON plan output

No parameter schema in public metadata yet.

get_apply_detailsGet apply details

Get apply details

No parameter schema in public metadata yet.

get_apply_logsGet apply logs

Get apply logs

No parameter schema in public metadata yet.

get_workspace_policy_setsGet policy sets attached to a workspace

Get policy sets attached to a workspace

No parameter schema in public metadata yet.

list_workspace_variablesList workspace variables

List workspace variables

No parameter schema in public metadata yet.

list_variable_setsList organization variable sets

List organization variable sets

No parameter schema in public metadata yet.

read_workspace_tagsRead workspace tags

Read workspace tags

No parameter schema in public metadata yet.

list_stacksList Terraform stacks

List Terraform stacks

No parameter schema in public metadata yet.

get_stack_detailsGet Terraform stack details

Get Terraform stack details

No parameter schema in public metadata yet.

search_private_modulesSearch private registry modules

Search private registry modules

No parameter schema in public metadata yet.

get_private_module_detailsGet private registry module details

Get private registry module details

No parameter schema in public metadata yet.

search_private_providersSearch private registry providers

Search private registry providers

No parameter schema in public metadata yet.

get_private_provider_detailsGet private registry provider details

Get private registry provider details

No parameter schema in public metadata yet.

create_workspaceCreate a workspace when `ENABLE_TF_OPERATIONS=true`

Create a workspace when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

update_workspaceUpdate workspace settings when `ENABLE_TF_OPERATIONS=true`

Update workspace settings when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

delete_workspace_safelyUse the safe-delete workspace action when `ENABLE_TF_OPERATIONS=true`

Use the safe-delete workspace action when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

create_runQueue a run when `ENABLE_TF_OPERATIONS=true`

Queue a run when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

action_runApply, discard, cancel, force-cancel, or force-execute a run when `ENABLE_TF_OPERATIONS=true`

Apply, discard, cancel, force-cancel, or force-execute a run when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

create_workspace_variableCreate a workspace variable when `ENABLE_TF_OPERATIONS=true`

Create a workspace variable when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

update_workspace_variableUpdate a workspace variable when `ENABLE_TF_OPERATIONS=true`

Update a workspace variable when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

attach_policy_set_to_workspaceAttach a policy set to a workspace when `ENABLE_TF_OPERATIONS=true`

Attach a policy set to a workspace when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

create_variable_setCreate a variable set when `ENABLE_TF_OPERATIONS=true`

Create a variable set when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

create_variable_in_variable_setCreate a variable in a variable set when `ENABLE_TF_OPERATIONS=true`

Create a variable in a variable set when `ENABLE_TF_OPERATIONS=true`

No parameter schema in public metadata yet.

Sponsors

Readme

tfmcp: Terraform Model Context Protocol Tool

Trust Score

⚠️ This project includes production-ready security features but is still under active development. While the security system provides robust protection, please review all operations carefully in production environments. ⚠️

tfmcp runs local Terraform workflows through the Model Context Protocol (MCP). It helps AI assistants inspect a project, prepare execution, review a saved plan, apply that same plan, and check the result. Registry and HCP/TFE tools support these local workflows.

🎮 Demo

See tfmcp in action with Claude Desktop:

tfmcp Demo with Claude Desktop

  • Reading Terraform configuration files
  • Analyzing Terraform plan outputs
  • Applying Terraform configurations
  • Managing Terraform state
  • Creating and modifying Terraform configurations

🎉 Current Release

tfmcp v0.2.4 is the current release:

cargo install tfmcp --version 0.2.4

What's new in v0.2.4


View the full README on GitHub

Details

Repository
github.com/nwiizo/tfmcp
Category
Cloud & Infrastructure

Related Cloud & Infrastructure MCP servers

View all
1azure-ai-foundry avatarFoundryazure-ai-foundry/mcp-foundryCloud-Hosted MCP server for Foundry with tools for models, knowledge, evaluations, and agents.248stars
2googlecloudplatform avatarGemini Cloud Assist Mcpgooglecloudplatform/gemini-cloud-assist-mcpMCP Server for understanding, managing & troubleshooting your GCP environment.63stars
3gebalamariusz avatarcloud-auditgebalamariusz/cloud-auditAWS security scanner with attack chain detection, IAM privilege escalation, and fixes59stars
4mp-tool avatarKomodo MCP Servermp-tool/komodo-mcp-serverMCP server for Komodo - manage Docker containers, servers, stacks, and deployments via AI53stars
5mhajder avatarLibreNMS MCPmhajder/librenms-mcpMCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure42stars
6aniongithub avatardevcontainer-mcpaniongithub/devcontainer-mcpManage dev container environments via MCP (Docker, DevPod, Codespaces).28stars