Terraform by hashicorp for Terraform: safety score
B 70 Provisional Not reviewed Not tested
Terraform by hashicorp is a vendor MCP server for Terraform with 12 read, 14 write and 0 destructive tools. It does not have a read-only mode and needs to run locally; its provisional OpsMCP grade is B (70%), last checked 16 Oct 2026.
Generate more accurate Terraform and automate workflows for HCP Terraform and Terraform Enterprise
Tool capability partly scored. Access partly scored. 2 of 4 factors scored.
Can it change or delete things?
It can change data. No destructive tool was found in the extracted list.
| Tool | Class |
|---|---|
add_team_member Adds a single member to a Terraform Cloud/Enterprise team. Provide either a username (accepted invites only) or an organization membership ID (accepted and pending invites), not both.
from the name (add) | Write |
attach_variable_set_to_workspaces Attach a variable set to one or more workspaces.
from the name (set) | Write |
create_project Creates a new Terraform project in the specified organization.
from the name (create) | Write |
create_team Creates a new team in a Terraform Cloud/Enterprise organization.
from the name (create) | Write |
create_variable_in_variable_set Create a new variable in a variable set.
from the name (create) | Write |
create_variable_set Create a new variable set in an organization.
from the name (create) | Write |
create_workspace Creates a new Terraform workspace in the specified organization.
from the name (create) | Write |
create_workspace_tags Add tags to a Terraform workspace. If a tag with the same key already exists, its value is replaced with the new value.
from the name (create) | Write |
create_workspace_variable Creates a new variable in a Terraform workspace. Use category terraform for Terraform input variables and env for environment variables. Set hcl to true only when the value is HCL syntax rather than a plain string.
from the name (create) | Write |
detach_variable_set_from_workspaces Detach a variable set from one or more workspaces.
from the name (set) | Write |
get_latest_module_version Fetches the latest version of a Terraform module from the public registry
from the name (get) | Read |
get_module_details Fetches up-to-date documentation on how to use a Terraform module. You must call 'search_modules' first to obtain the exact valid and compatible module_id required to use this tool.
from the name (get) | Read |
get_policy_details Fetches up-to-date documentation for a specific policy from the Terraform registry. You must call 'search_policies' first to obtain the exact terraform_policy_id required to use this tool.
from the name (get) | Read |
get_private_module_details This tool retrieves detailed information about a specific private module in your Terraform Cloud/Enterprise organization. It provides inputs, outputs, dependencies, versions, usage examples, and every published submodule with its own inputs, outputs, provider dependencies, res...
from the name (get) | Read |
get_private_provider_details This tool retrieves information about a specific private provider in your Terraform Cloud/Enterprise organization. It provides details on how to use the provider, permissions, available versions, and more. This tool requires a valid Terraform token to be configured.
from the name (get) | Read |
get_sentinel_mock Exports and downloads Sentinel mock bundle data for a Terraform plan. This data can be used to test Sentinel policies against plan output. The export is asynchronous - this tool handles polling until the export is ready.
from the name (get) | Read |
get_state_version Retrieves a Terraform state version. If state_version_id is provided, retrieves that specific state version. Otherwise, retrieves the latest state version for the specified workspace. One of state_version_id or workspace_id must be provided.
from the name (get) | Read |
get_workspace_details Fetches detailed information about a specific Terraform workspace, including configuration, variables, and README content.
from the name (get) | Read |
grant_team_access Grants a team permission to access a workspace or a project in Terraform Cloud/Enterprise. Provide either workspace_id (for workspace-level access) or project_id (for project-level access), not both. Returns the created access grant including its ID, team ID, target resource I...
from the name | Unknown |
list_state_versions List all the state versions for a given Terraform workspace and organization.
from the name (list) | Read |
list_terraform_orgs Fetches a list of all Terraform organizations. Supports Pagination for large result sets.
from the name (list) | Read |
list_variable_sets List variable sets in an organization. Returns all variable sets when query is empty.
from the name (sets) | Write |
list_workspace_policy_sets annotation disagrees Read all policy sets attached to a workspace. Returns both directly attached policy sets and global policy sets that apply to all workspaces.
from the name (sets) | Write |
list_workspaces Search and list Terraform workspaces within a specified organization. Returns all workspaces when no filters are applied, or filters results based on name patterns, tags, or search queries. Supports pagination for large result sets. Returns a truncated summary of the workspace...
from the name (list) | Read |
read_workspace_tags annotation disagrees Read all tags from a Terraform workspace.
from the name | Unknown |
search_private_modules This tool searches for private modules in your Terraform Cloud/Enterprise organization. It retrieves a list of private modules that match the search criteria. This tool requires a valid Terraform token to be configured.
from the name (search) | Read |
update_workspace Updates an existing Terraform workspace configuration. To add or update workspace tags, use create_workspace_tags.
from the name (update) | Write |
update_workspace_variable Updates an existing variable in a Terraform workspace. Only the fields you provide are changed. Use list_workspace_variables to find the variable_id.
from the name (update) | Write |
Score
70 of 100 points (70%). A factor that was not scored counts as 0 of its full weight.
| Factor | Points | Full weight | Status |
|---|---|---|---|
| Tool capability | 24 | 35 | Partly scored |
| Access | 6 | 25 | Partly scored |
| Maintenance | 20 | 20 | Scored |
| Publisher | 20 | 20 | Scored |
Tool capability
12 read, 14 write, 0 destructive, 2 unknown.
Access
| Part | Value | Points | Where this came from |
|---|---|---|---|
| Scope | unknown | unknown | unknown |
| Where it runs | Local process | 6 of 8 | Registry package transport is stdio. |
| Credentials | unknown | unknown | unknown |
Maintenance
| Part | Value | Points |
|---|---|---|
| Last commit | 0 days | 8 of 8 |
| Releases | 51 days | 6 of 6 |
| Issues | 72 closed / 82 issues (0.88) | 6 of 6 |
Publisher
| Part | Value | Points | Where this came from |
|---|---|---|---|
| Who publishes it | Official vendor | 8 of 8 | GitHub owner 'hashicorp' is on the vendor allowlist (HashiCorp). |
| Registry listing | Listed | 5 of 5 | Official registry server io.github.hashicorp/terraform-mcp-server (status active). |
| License | MPL-2.0 | 4 of 4 | GitHub SPDX license MPL-2.0. |
| Stars | 1550 | 2 of 2 | 1550 GitHub stars. |
| Repository age | 544 days | 1 of 1 | Repository created 2025-04-19T19:49:09Z. |
What this score does not cover
This score is not a code audit and it is not a human review. It has not been hands-on tested. Nothing on this page is a certification.
Access needed
Environment variables: unknown. The registry entry does not list any.
Maintenance
- Archived
- no
- Last commit
- 15 Oct 2026 · 4bbe30c
- Latest release
- v1.3.0 · 26 Aug 2026
- Issues
- 10 open · 72 closed
- Stars
- 1,550
- License
- MPL-2.0
- Repository created
- 19 Apr 2025
npm and PyPI
- npm
- No npm package in the registry entry.
- PyPI
- No PyPI package in the registry entry.
- Maintainers
- unknown
Install
docker run docker.io/hashicorp/terraform-mcp-server:1.0.0 Badge
Sources for this listing
registry:terraformgithub:terraform mcp in:name