list_stacksLABSCO SUMMARY
Visualise, validate, then apply — in that order.
What lifts this above a Terragrunt wrapper is the read side: a dependency graph you can render as Mermaid, a drift check, and cost forecasting from real billing data all sit next to the apply. That gives an assistant a way to understand the estate before changing it, which matters here because the same credentials that draw the tree can also delete from it.
What it is
A Terragrunt operations server for Google Cloud. It reads the infrastructure, draws its dependencies, plans and applies changes, checks for drift, and reports on what it all costs — including support for Terragrunt's experimental stacks, which run units in parallel with dependency ordering.
What you get
draw_resource_tree,get_dependency_graphin DOT, Mermaid or JSON, andvisualize_infrastructurecombining bothplan_resource_deploymentthenapply_resource_deploymentwith safety checks,check_deployment_statuswhile it runs,rollback_deploymentwhen it goes wrongvalidate_resource_configchecks a configuration with its dependencies before anything is appliedcheck_driftdetects configuration drift;get_infrastructure_statusandanalyze_dependenciescover the wider read- Stacks:
list_stacks,get_stack_detailswith unit execution order,execute_stack_commandfor parallel runs,get_stack_outputsfor aggregated outputs - Cost tools against the Google Cloud Billing API —
get_cost_analysiswith forecasting,get_cost_alertson budget thresholds,get_cost_optimization_score,get_cost_status create_resource,update_resourceanddelete_resource, the last with dependency checkingsend_slack_notification,create_deployment_summaryandget_audit_logfor the team sideget_autodevops_system_promptreturns a ready system prompt in compact, extended or CLI variants
Requirements
Python, installed with pip install -e . against the repository. Copy config/config.example.yaml to config/config.yaml and fill it in — the server takes that path as its argument. GCP access comes from GOOGLE_APPLICATION_CREDENTIALS pointing at a service account key, which is what the apply and delete tools act with, so scope that account deliberately. Everything the same CLI does is also available as python3 -m terragrunt_gcp_mcp.cli. Version 0.3.3.
Setup effort
Build from source — git clone https://github.com/spolspol/terragrunt-gcp-tool-mcp.git
USE CASES
Understanding an estate you have inherited
Draw the resource tree, then render the dependency graph as Mermaid to see what depends on what.
Shipping a change safely
Validate the configuration, generate a plan, apply it, and watch the deployment status.
Finding out why the bill went up
Run cost analysis with forecasting, check the alerts against your thresholds, and read the optimization score.
32 tools
Listed in project docs. Your client may show a different list.
get_stack_detailsexecute_stack_commandget_stack_outputsget_enhanced_infrastructure_statuslist_resourcesget_resourceget_resource_detailsvalidate_resource_configcreate_resourceupdate_resourcedelete_resourcedraw_resource_treeget_dependency_graphvisualize_infrastructureget_autodevops_system_promptget_cost_analysisget_cost_alertsget_cost_optimization_scoreget_cost_statusplan_deploymentplan_resource_deploymentdeploy_resourcesapply_resource_deploymentcheck_deployment_statusrollback_deploymentget_infrastructure_statusanalyze_dependenciescheck_driftsend_slack_notificationcreate_deployment_summaryget_audit_logBEFORE YOU INSTALL
What to know first
Tools you get
32 tools named in the project's documentation.
Requires
- python3 on PATH
- GOOGLE_APPLICATION_CREDENTIALS in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/spolspol/terragrunt-gcp-tool-mcp.git
cd terragrunt-gcp-tool-mcp
pip install -e .
cp config/config.example.yaml config/config.yamlEdit config/config.yaml with your settings: gcp.project_id, gcp.credentials_path (your service account key file) and terragrunt.root_path (your Terragrunt repository).
MCP Clients
Claude Desktop
{
"mcpServers": {
"terragrunt-gcp": {
"command": "python3",
"args": [
"-m",
"terragrunt_gcp_mcp.server"
],
"cwd": "<YOUR_PATH_TO_TERRAGRUNT_GCP_TOOL_MCP>"
}
}
}The Claude Desktop configuration doesn't set GOOGLE_APPLICATION_CREDENTIALS. The README's other Claude Desktop example sets it in the server's env block — "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/gcp-credentials.json" — and config/config.yaml also takes the key file as gcp.credentials_path.