# Terraform (oci · docker.io/hashicorp/terraform-mcp-server:1.0.0)

Generate more accurate Terraform and automate workflows for HCP Terraform and Terraform Enterprise

- Trust score: 28/100 (low)
- Change this week: −3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- oci · `docker.io/hashicorp/terraform-mcp-server:1.0.0`: 28/100 (this document), [markdown](https://verifymcp.io/servers/hashicorp-terraform-mcp-server/docker-io-hashicorp-terraform-mcp-server-1-0-0.md), [page](https://verifymcp.io/servers/hashicorp-terraform-mcp-server/docker-io-hashicorp-terraform-mcp-server-1-0-0)

## Channel facts

- Registry: `oci`
- Package: `docker.io/hashicorp/terraform-mcp-server:1.0.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - CVE data not yet available for this package.
  - Install-script risk not yet assessed.
  - Dependency-health data not yet available.
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 54 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 33/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2344 tokens (~213/item across 11 items; 9 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add hashicorp-terraform-mcp-server -- docker run --rm -i docker.io/hashicorp/terraform-mcp-server:1.0.0
```

### Codex

```bash
codex mcp add hashicorp-terraform-mcp-server -- docker run --rm -i docker.io/hashicorp/terraform-mcp-server:1.0.0
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hashicorp-terraform-mcp-server": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/hashicorp/terraform-mcp-server:1.0.0"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  hashicorp-terraform-mcp-server:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/hashicorp/terraform-mcp-server:1.0.0"]
```

### Other

```json
{
  "mcpServers": {
    "hashicorp-terraform-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/hashicorp/terraform-mcp-server:1.0.0"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-07-31 (score 28, −3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 31, +23)

- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 0
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: good

### 2026-07-26 (score 8)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (9)

### `get_latest_module_version` (~134 tokens)

Fetches the latest version of a Terraform module from the public registry

Input parameters:

- `module_name` (string, required): The name of the module, this is usually the service or group of service the user is deploying e.g., 'security-group', 'secrets-manager' etc.
- `module_provider` (string, required): The name of the Terraform provider for the module, e.g., 'aws', 'google', 'azurerm' etc.
- `module_publisher` (string, required): The publisher of the module, e.g., 'hashicorp', 'aws-ia', 'terraform-google-modules', 'Azure' etc.

### `get_latest_provider_version` (~90 tokens)

Fetches the latest version of a Terraform provider from the public registry

Input parameters:

- `name` (string, required): The name of the Terraform provider, e.g., 'aws', 'azurerm', 'google', etc.
- `namespace` (string, required): The namespace of the Terraform provider, typically the name of the company, or their GitHub organization name that created the provider e.g., 'hashicorp'

### `get_module_details` (~100 tokens)

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.

Input parameters:

- `module_id` (string, required): Exact valid and compatible module_id retrieved from search_modules (e.g., 'squareops/terraform-kubernetes-mongodb/mongodb/2.1.1', 'GoogleCloudPlatform/vertex-ai/google/0.2.0')

### `get_policy_details` (~95 tokens)

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.

Input parameters:

- `terraform_policy_id` (string, required): Matching terraform_policy_id retrieved from the 'search_policies' tool (e.g., 'policies/hashicorp/CIS-Policy-Set-for-AWS-Terraform/1.0.1')

### `get_provider_capabilities` (~233 tokens)

Get the capabilities of a Terraform provider including the types of resources, data sources, functions, guides, and other features it supports.
This tool analyzes the provider documentation to determine what types of capabilities are available:
\- resources: Infrastructure resources that can be created/managed
\- data-sources: Read-only data sources for querying existing infrastructure  
\- functions: Provider-specific functions for data transformation
\- guides: Documentation guides and tutorials for using the provider
\- actions: Available provider actions (if any)
\- ephemeral resources: Temporary resources for credentials and tokens
\- list-resources: List resources for querying existing cloud resources (Terraform Search)

Returns a summary with counts and examples for each capability type.

Input parameters:

- `name` (string, required): The name of the Terraform provider, e.g., 'aws', 'azurerm', 'google', etc.
- `namespace` (string, required): The namespace of the Terraform provider, typically the name of the company, or their GitHub organization name that created the provider e.g., 'hashicorp'
- `version` (string): The version of the provider to analyze (defaults to 'latest')

### `get_provider_details` (~88 tokens)

Fetches up-to-date documentation for a specific service from a Terraform provider. 
You must call 'search_providers' tool first to obtain the exact tfprovider-compatible provider_doc_id required to use this tool.

Input parameters:

- `provider_doc_id` (string, required): Exact tfprovider-compatible provider_doc_id, (e.g., '8894603', '8906901') retrieved from 'search_providers'

### `search_modules` (~164 tokens)

Resolves a Terraform module name to obtain a compatible module_id for the get_module_details tool and returns a list of matching Terraform modules.
You MUST call this function before 'get_module_details' to obtain a valid and compatible module_id.
When selecting the best match, consider the following:
\- Name similarity to the query
\- Description relevance
\- Verification status (verified)
\- Download counts (popularity)
Return the selected module_id and explain your choice. If there are multiple good matches, mention this but proceed with the most relevant one.
If no modules were found, reattempt the search with a new moduleName query.

Input parameters:

- `current_offset` (number): Current offset for pagination
- `module_query` (string, required): The query to search for Terraform modules.

### `search_policies` (~161 tokens)

Searches for Terraform policies based on a query string.
This tool returns a list of matching policies, which can be used to retrieve detailed policy information using the 'get_policy_details' tool.
You MUST call this function before 'get_policy_details' to obtain a valid terraform_policy_id.
When selecting the best match, consider the following:
\- Name similarity to the query
\- Title relevance
\- Verification status (verified)
\- Download counts (popularity)
Return the selected policyID and explain your choice. If there are multiple good matches, mention this but proceed with the most relevant one.
If no policies were found, reattempt the search with a new policy_query.

Input parameters:

- `policy_query` (string, required): The query to search for Terraform modules.

### `search_providers` (~362 tokens)

This tool retrieves a list of potential documents based on the 'service_slug' and 'provider_document_type' provided.
You MUST call this function before 'get_provider_details' to obtain a valid tfprovider-compatible 'provider_doc_id'.
Use the most relevant single word as the search query for 'service_slug', if unsure about the 'service_slug', use the 'provider_name' for its value.
When selecting the best match, consider the following:
\- Title similarity to the query
\- Category relevance
Return the selected 'provider_doc_id' and explain your choice.
If there are multiple good matches, mention this but proceed with the most relevant one.

Input parameters:

- `provider_document_type` (string, required): The type of the document to retrieve, for general overview of the provider use 'overview', for guidance on upgrading a provider or custom configuration information use 'guides', for deploying resourc…
- `provider_name` (string, required): The name of the Terraform provider to perform the read or deployment operation
- `provider_namespace` (string, required): The publisher of the Terraform provider, typically the name of the company, or their GitHub organization name that created the provider
- `provider_version` (string): The version of the Terraform provider to retrieve in the format 'x.y.z', or 'latest' to get the latest version
- `service_slug` (string, required): The slug of the service you want to deploy or read using the Terraform provider, prefer using a single word, use underscores for multiple words and if unsure about the service_slug, use the provider_…

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/hashicorp-terraform-mcp-server/docker-io-hashicorp-terraform-mcp-server-1-0-0#diagnostics

## Score history

- 2026-08-03: 28
- 2026-08-02: 28
- 2026-08-01: 28
- 2026-07-31: 28
- 2026-07-30: 31
- 2026-07-29: 31
- 2026-07-28: 31
- 2026-07-27: 31
- 2026-07-26: 8

## Links

- Repository: https://github.com/hashicorp/terraform-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/hashicorp-terraform-mcp-server/docker-io-hashicorp-terraform-mcp-server-1-0-0/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/hashicorp-terraform-mcp-server/docker-io-hashicorp-terraform-mcp-server-1-0-0/changelog.json
- HTML version of this page: https://verifymcp.io/servers/hashicorp-terraform-mcp-server/docker-io-hashicorp-terraform-mcp-server-1-0-0
