The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.
The Terraform MCP Server is a Model Context Protocol (MCP)
server that provides seamless integration with Terraform Registry APIs, enabling advanced
automation and interaction capabilities for Infrastructure as Code (IaC) development.
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 server. 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.
The Terraform MCP Server supports multiple transport protocols:
Standard input/output communication using JSON-RPC messages. Ideal for local development and direct integration with MCP clients.
Modern HTTP-based transport supporting both direct HTTP requests and Server-Sent Events (SSE) streams. This is the recommended transport for remote/distributed setups.
Features:
http://{hostname}:8080/mcp
http://{hostname}:8080/health
TRANSPORT_MODE=http
or TRANSPORT_PORT=8080
to enableEnvironment Variables:
Variable | Description | Default |
---|---|---|
TRANSPORT_MODE | Set to http to enable HTTP transport | stdio |
TRANSPORT_HOST | Host to bind the HTTP server | 0.0.0.0 |
TRANSPORT_PORT | HTTP server port | 8080 |
# Stdio mode
terraform-mcp-server stdio [--log-file /path/to/log]
# HTTP mode
terraform-mcp-server http [--transport-port 8080] [--transport-host 0.0.0.0] [--log-file /path/to/log]
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.
{
"mcp": {
"servers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
}
Optionally, you can add a similar example (i.e. without the mcp key) to a file called .vscode/mcp.json
in your workspace. This will allow you to share the configuration with others.
{
"servers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
More about using MCP server tools in Claude Desktop user documentation.
Read more about using MCP server in Amazon Q from the documentation.
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
Use the latest release version:
go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@latest
Use the main branch:
go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@main
{
"mcp": {
"servers": {
"terraform": {
"command": "/path/to/terraform-mcp-server",
"args": ["stdio"]
}
}
}
}
Before using the server, you need to build the Docker image locally:
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
make docker-build
# Run in stdio mode
docker run -i --rm terraform-mcp-server:dev
# Run in http mode
docker run -p 8080:8080 --rm -e MODE=http terraform-mcp-server:dev
# Test the connection
curl http://localhost:8080/health
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"terraform-mcp-server:dev"
]
}
}
}
Command | Description |
---|---|
make build | Build the binary |
make test | Run all tests |
make test-e2e | Run end-to-end tests |
make docker-build | Build Docker image |
make run-http | Run HTTP server locally |
make docker-run-http | Run HTTP server in Docker |
make test-http | Test HTTP health endpoint |
make clean | Remove build artifacts |
make help | Show all available commands |
This project is licensed under the terms of the MPL-2.0 open source license. Please refer to LICENSE file for the full terms.
For security issues, please contact security@hashicorp.com or follow our security policy.
For bug reports and feature requests, please open an issue on GitHub.
For general questions and discussions, open a GitHub Discussion.
hashicorp/terraform-mcp-server
April 19, 2025
July 7, 2025
Go