
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 toolsPublic 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
⚠️ 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:

- 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
Details
- Repository
- github.com/nwiizo/tfmcp
- Category
- Cloud & Infrastructure