GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Generate more accurate Terraform and automate workflows for HCP Terraform and Terraform Enterprise
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hashicorp/terraform-mcp-server:1.4.1"
]
}
}
}Run this in your terminal
claude mcp add terraform -- docker run -i --rm docker.io/hashicorp/terraform-mcp-server:1.4.1Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hashicorp/terraform-mcp-server:1.4.1"
]
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"terraform": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hashicorp/terraform-mcp-server:1.4.1"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 5, 2026
The registry name was verified with the GitHub account hashicorp, which owns the repo
Code last changed today
Uses MPL-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Needs the server’s tool list first; this check starts in the next step
Compared only with servers in this prototype, not the whole registry.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed today, and the latest version (1.4.1) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The Terraform MCP Server is a Model Context Protocol (MCP) server that integrates seamlessly with Terraform Registry and HCP Terraform APIs, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.
Get started Client integrations Build and run
Features
Prerequisites
Command Line Options
Instructions
Installation
Visual Studio Code
Cursor
Claude Desktop, Amazon Q Developer, and Kiro CLI
Claude Code
Codex CLI
Gemini extensions
Bob IDE and Shell
OpenCode
Install from source
Building the Docker Image locally
Transport Support
Stdio Transport
StreamableHTTP Transport
Server capabilities Deployment and security Help and contributing
Available Tools
Available Resources
Available Metrics
Tool Filtering
Search Toolset
Session Modes
Token Passthrough for Centralized Deployments
Client IP Forwarding
Trust model
Trusted hops
Limitations
Migrating from earlier versions
Supported Headers
Security Considerations
Centralized Deployment Example
Troubleshooting
Corporate Proxy and TLS Inspection
Development
Contributing
License
Security
Support
Security Note: Depending on the query, the MCP server may expose certain Terraform data to the MCP client and LLM. Do not use the MCP server with untrusted MCP clients or LLMs.
Legal Note: Your use of a third party MCP Client/LLM is subject solely to the terms of use for such MCP/LLM, and IBM is not responsible for the performance of such third party tools. IBM expressly disclaims any and all warranties and liability for third party MCP Clients/LLMs, and may not be able to provide support to resolve issues which are caused by the third party tools.
Caution: The outputs and recommendations provided by the MCP server are generated dynamically and may vary based on the query, model, and the connected MCP client. Users should thoroughly review all outputs/recommendations to ensure they align with their organization’s security best practices, cost-efficiency goals, and compliance requirements before implementation.
Environment Variables:
| Variable | Description | Default |
|---|---|---|
TFE_ADDRESS | Sets the Terraform Enterprise/HCP Terraform address for API calls. Must include the protocol (e.g., https://app.terraform.io). In streamable-http mode this is the only way to set the address; it cannot be supplied by clients via header or query parameter. | Optional |
TFE_TOKEN | Terraform Enterprise API token | "" (empty) |
TF_MCP_QUERY_WORKSPACE | Proposed source workspace used by Search/query tools unless the user supplies an explicit workspace override. The agent confirms the resolved source before the query workflow. Independent of the import destination. | Unset; falls back to TF_WORKSPACE |
TF_MCP_IMPORT_WORKSPACE | Proposed import destination used by import tools unless the user supplies an explicit target override. The agent must always present and confirm the target before calling an import tool. Separate from the query workspace. | Unset; falls back to TF_WORKSPACE |
TF_WORKSPACE | Fallback source-workspace default when TF_MCP_QUERY_WORKSPACE is unset and fallback import-target default when TF_MCP_IMPORT_WORKSPACE is unset. Neither use replaces agent confirmation. | Unset |
TF_CLOUD_ORGANIZATION | Proposed Search source organization used when no explicit organization override is supplied. The agent confirms the resolved source before the query workflow. | Unset |
TF_MCP_SHARED_SECRET | Shared secret sent as the X-Tf-Mcp-Secret header on requests to HCP Terraform / TFE, used to identify requests originating from a hosted MCP deployment. Should only be used over TLS. | "" (empty) |
TFE_SKIP_TLS_VERIFY | Skip HCP Terraform or Terraform Enterprise TLS verification | false |
LOG_LEVEL | Logging level: trace, debug, info, warn, error, fatal, panic (overrides --log-level flag) | info |
LOG_FORMAT | Logging format: text or json (overrides --log-format flag) | text |
TRANSPORT_MODE | Set to streamable-http to enable HTTP transport (legacy http value still supported) | stdio |
TRANSPORT_HOST | Host to bind the HTTP server | 127.0.0.1 |
TRANSPORT_PORT | HTTP server port | 8080 |
MCP_ENDPOINT | HTTP server endpoint path | /mcp |
MCP_REDIRECT_ROOT_URL | URL to redirect requests to / to | "" |
MCP_KEEP_ALIVE | Keep-alive interval for SSE connections (e.g., 30s, 1m). 0 to disable | 0 |
MCP_SESSION_MODE | Session mode: stateful or stateless | stateful |
MCP_ALLOWED_ORIGINS | Comma-separated list of allowed origins for CORS | "" (empty) |
MCP_CORS_MODE | CORS mode: strict, development, or disabled | strict |
MCP_TLS_CERT_FILE | Path to TLS cert file, required for non-localhost deployment (e.g. /path/to/cert.pem) | "" (empty) |
MCP_TLS_KEY_FILE | Path to TLS key file, required for non-localhost deployment (e.g. /path/to/key.pem) | "" (empty) |
MCP_RATE_LIMIT_GLOBAL | Global rate limit (format: rps:burst) | 10:20 |
MCP_RATE_LIMIT_SESSION | Per-session rate limit (format: rps:burst) | 5:10 |
MCP_ORGANIZATION_ALLOWLIST | CSV list of HCP Terraform organization names allowed to access the HTTP server | "" (empty) |
MCP_FORWARD_CLIENT_IP | Forward the client IP to HCP Terraform / TFE via X-Forwarded-For. Set to true to enable | false |
MCP_REMOTE_IP_METHOD | How the client IP is sourced when forwarding is enabled: RemoteAddr (direct connection only), X-Real-IP, or X-Forwarded-For | RemoteAddr |
MCP_XFF_TRUSTED_HOPS | Number of trusted proxy hops counted from the right of the X-Forwarded-For chain. Only used when MCP_REMOTE_IP_METHOD=X-Forwarded-For | 0 |
ENABLE_TF_OPERATIONS | Enable tools that require explicit approval | false |
OTEL_METRICS_ENABLED | Enable tools and server metrics using otel | false |
OTEL_METRICS_SERVICE_VERSION | Version of the terraform-mcp-server sending metrics, which is used to set metric attributes. It also helps track metrics across different deployments | latest |
OTEL_METRICS_SERVICE_NAME | Identifies the source of the metrics (e.g., "terraform-mcp-server") | terraform-mcp-server |
OTEL_METRICS_EXPORT_INTERVAL | Controls the frequency of metric flushes | 2 |
OTEL_METRICS_ENDPOINT | URL of your OTel Collector or backend | localhost:4318 |
INSTANA_ENABLED | Enable Instana instrumentation (metrics and HTTP request tracing) for the streamable-http server. Requires an Instana agent that is reachable by the server. | false |
INSTANA_SERVICE_NAME | If Instana instrumentation is enabled, the service name to use for the MCP server | terraform-mcp-server |
# Stdio mode
terraform-mcp-server stdio [--log-file /path/to/log] [--log-level info] [--log-format text] [--toolsets ] [--tools ]
terraform-mcp-server streamable-http [--transport-port 8080] [--transport-host 127.0.0.1] [--mcp-endpoint /mcp] [--organization-allowlist ] [--log-file /path/to/log] [--log-level info] [--log-format text] [--toolsets ] [--tools ]
Default instructions for the MCP server is located in cmd/terraform-mcp-server/instructions.md, if those do not seem appropriate for your organization's Terraform practices or if the MCP server is producing inaccurate responses, please replace them with your own instructions and rebuild the container or binary. An example of such instruction is located in instructions/example-mcp-instructions.md
AGENTS.md essentially behaves as READMEs for coding agents: a dedicated, predictable place to provide the context and instructions to help AI coding agents work on your project. One AGENTS.md file works with different coding agents. An example of such instruction is located in instructions/example-AGENTS.md, in order to use it commit a file name AGENTS.md to the directory where your Terraform configurations reside.
Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).
More about using MCP server tools in VS Code's agent mode documentation.
Local Remote
{
"mcp": { "servers": { "terraform": { "command": "docker", "args": [ "r