{"name":"io.github.RajeevSirohi/mcp-server-terraform","slug":"rajeevsirohi-mcp-server-terraform","title":null,"description":"Safety-first Terraform: confirmation-gated apply/destroy, risk & cost analysis, drift detection","url":"https://mcp.market/server/rajeevsirohi-mcp-server-terraform","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":21,"stars":1,"forks":0,"downloads_week":34,"last_push_at":"2026-07-07T08:05:40.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/RajeevSirohi/mcp-server-terraform","website":null,"version":"0.2.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@rajsir/mcp-server-terraform","version":"0.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set to 'true' to expose only validate/plan/output/preflight/drift tools","format":"string","name":"ALLOW_ONLY_READONLY_TOOLS"},{"description":"Set to 'true' to block apply/destroy/state-mutation tools","format":"string","name":"ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS"},{"description":"File path for JSON-lines audit logging of all tool calls (var values redacted)","format":"string","name":"AUDIT_LOG_PATH"}]}],"tools":[{"name":"tf_apply","description":"Apply Terraform changes to real infrastructure. TWO-STEP SAFETY FLOW: 1. Call without confirmed=true → runs terraform plan, shows the diff, returns without applying. 2. Call with confirmed=true after reviewing the diff → actually applies the changes. Never pass confirmed=true without first showing the plan output to the user.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_destroy","description":"Destroy all Terraform-managed infrastructure in the workspace. TWO-STEP SAFETY FLOW: 1. Call without confirmed=true → shows the destroy plan (what will be deleted). 2. Call with confirmed=true after the user explicitly approves → destroys everything. This is irreversible. Always show the plan and get explicit user approval first.","write_action":true,"price_micros":0,"input_schema":null},{"name":"tf_drift","description":"Detect infrastructure drift — resources that were changed outside of Terraform (e.g. manually in the cloud console). Runs a refresh-only plan and reports differences between state and reality. Read-only, makes no changes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_init","description":"Initialize a Terraform working directory. Downloads providers and modules. Run this before plan or apply on a fresh workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_output","description":"Read Terraform output values from the current state. Returns all outputs as JSON, or a specific output by name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_plan","description":"Run terraform plan and return a human-readable diff of what will change. Safe — makes no changes to infrastructure.","write_action":true,"price_micros":0,"input_schema":null},{"name":"tf_preflight","description":"Check which cloud providers are used in a Terraform workspace and verify authentication status for each. Call this before plan or apply to catch credential issues early.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_resource","description":"Resource-level state operations: - import: Bring an existing cloud resource under Terraform management (requires address + id) - taint: Mark a resource for recreation on next apply (requires address) - untaint: Remove the taint mark (requires address) - refresh: Sync state with real infrastructure (accepts drift into state)","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_state","description":"Manage Terraform state. Supports the following operations: - list: List all resources in state - show: Show attributes of a specific resource - mv: Move/rename a resource in state (use with care) - rm: Remove a resource from state without destroying it (destructive)","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_validate","description":"Validate Terraform configuration files for syntax and internal consistency. Does not access remote state or APIs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tf_workspace","description":"Manage Terraform workspaces. Supports: - list: List all workspaces and show which is active - show: Show the current workspace name - select: Switch to a workspace - new: Create a new workspace","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-26T11:34:59.162Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T11:34:59.283Z","components":{"code":{"score":25,"max":25,"notes":["39 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 81 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@rajsir/mcp-server-terraform","version":"0.2.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-07-07T08:00:30.032Z","repositoryUrl":"git+https://github.com/RajeevSirohi/mcp-server-terraform.git","weeklyDownloads":34}],"repo":{"found":true,"owner":"RajeevSirohi","repo":"mcp-server-terraform","archived":false,"pushedAt":"2026-07-07T08:05:40Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/8371644?v=4","ownerCreatedAt":"2014-08-06T07:15:17Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":34,"license":"MIT","lastPushAt":"2026-07-07T08:05:40.000Z","score":21}}}},"grade_history":[],"reviews":[]}