Terraform Mcp 伺服器

建立者hashicorphashicorp

Terraform MCP 伺服器提供與 Terraform 生態系統的無縫整合,使基礎設施即代碼 (IaC) 開發具備先進的自動化和互動能力。

概覽

什麼是 Terraform MCP 伺服器?

Terraform MCP 伺服器是一個強大的工具,旨在通過提供無縫集成和先進的自動化功能來增強 Terraform 生態系統,以支持基礎設施即代碼 (IaC) 的開發。它允許開發人員有效地管理和協調其基礎設施,利用 Terraform 的能力自動化雲資源的供應和管理。

Terraform MCP 伺服器的特點

  • 無縫集成:Terraform MCP 伺服器與現有的 Terraform 工作流程平滑集成,使用戶能夠在不干擾的情況下利用其當前的基礎設施管理實踐。
  • 先進自動化:它提供先進的自動化功能,簡化管理複雜基礎設施設置的過程,減少手動干預和潛在錯誤。
  • 基礎設施即代碼 (IaC):支持 IaC 範式,允許用戶使用代碼定義其基礎設施,這些代碼可以版本控制、共享和重用。
  • 可擴展性:該伺服器旨在處理大規模部署,適合擁有廣泛基礎設施需求的企業。
  • 社區支持:作為 HashiCorp 生態系統的一部分,它受益於龐大的用戶和貢獻者社區,提供豐富的資源和支持。

如何使用 Terraform MCP 伺服器

  1. 安裝:首先在您首選的環境中安裝 Terraform MCP 伺服器。請遵循官方安裝指南以獲取詳細步驟。
  2. 配置:配置伺服器以連接到您現有的 Terraform 設置。這可能涉及設置身份驗證和定義您的基礎設施需求。
  3. 定義基礎設施:使用 Terraform 配置文件來定義您的基礎設施。指定所需的資源、其配置和任何依賴關係。
  4. 部署:運行 Terraform 命令以部署您的基礎設施。MCP 伺服器將根據您配置文件中的定義處理資源的協調和管理。
  5. 監控和管理:利用伺服器的監控工具跟蹤基礎設施的性能,並根據需要進行調整。

常見問題解答

Q1: Terraform MCP 伺服器的主要目的是什么?

A1: Terraform MCP 伺服器的主要目的是通過提供先進的自動化和集成能力來增強 Terraform 生態系統,以管理基礎設施即代碼。

Q2: 我可以將 Terraform MCP 伺服器與現有的 Terraform 項目一起使用嗎?

A2: 是的,Terraform MCP 伺服器旨在與現有的 Terraform 項目無縫集成,讓您在不從頭開始的情況下增強當前的工作流程。

Q3: Terraform MCP 伺服器是否有社區支持?

A3: 當然!Terraform MCP 伺服器是 HashiCorp 生態系統的一部分,擁有活躍的用戶和貢獻者社區,提供支持和資源。

Q4: Terraform MCP 伺服器如何處理可擴展性?

A4: Terraform MCP 伺服器旨在有效管理大規模部署,確保能夠處理廣泛的基礎設施需求而不妥協性能。

Q5: 使用 Terraform MCP 伺服器的先決條件是什麼?

A5: 用戶應對 Terraform 和基礎設施即代碼原則有基本了解。熟悉雲服務提供商及其 API 也會有所幫助。

詳細

<img src="public/images/Terraform-LogoMark_onDark.svg" width="30" align="left" style="margin-right: 12px;"/> Terraform MCP Server

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.

Features

  • Dual Transport Support: Both Stdio and StreamableHTTP transports
  • Terraform Provider Discovery: Query and explore Terraform providers and their documentation
  • Module Search & Analysis: Search and retrieve detailed information about Terraform modules
  • Registry Integration: Direct integration with Terraform Registry APIs
  • Container Ready: Docker support for easy deployment

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.

Prerequisites

  1. To run the server in a container, you will need to have Docker installed.
  2. Once Docker is installed, you will need to ensure Docker is running.

Transport Support

The Terraform MCP Server supports multiple transport protocols:

1. Stdio Transport (Default)

Standard input/output communication using JSON-RPC messages. Ideal for local development and direct integration with MCP clients.

2. StreamableHTTP Transport

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:

  • Endpoint: http://{hostname}:8080/mcp
  • Health Check: http://{hostname}:8080/health
  • Environment Configuration: Set MODE=http or PORT=8080 to enable

Environment Variables:

| Variable | Description | Default | |-|-|| | MODE | Set to http to enable HTTP transport | stdio | | PORT | HTTP server port | 8080 |

Command Line Options

### Stdio mode
terraform-mcp-server stdio [--log-file /path/to/log]

### HTTP mode
terraform-mcp-server http [--port 8080] [--host 0.0.0.0] [--log-file /path/to/log]

Installation

Usage with VS Code

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"
      ]
    }
  }
}

Usage with Claude Desktop / Amazon Q Developer / Amazon Q CLI

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"
      ]
    }
  }
}

Tool Configuration

Available Toolsets

The following sets of tools are available:

| Toolset | Tool | Description | |-||-| | providers | resolveProviderDocID | Queries the Terraform Registry to find and list available documentation for a specific provider using the specified serviceSlug. Returns a list of provider document IDs with their titles and categories for resources, data sources, functions, or guides. | | providers | getProviderDocs | Fetches the complete documentation content for a specific provider resource, data source, or function using a document ID obtained from the resolveProviderDocID tool. Returns the raw documentation in markdown format. | | modules | searchModules | Searches the Terraform Registry for modules based on specified moduleQuery with pagination. Returns a list of module IDs with their names, descriptions, download counts, verification status, and publish dates | | modules | moduleDetails | Retrieves detailed documentation for a module using a module ID obtained from the searchModules tool including inputs, outputs, configuration, submodules, and examples. | | policies | searchPolicies | Queries the Terraform Registry to find and list the appropriate Sentinel Policy based on the provided query policyQuery. Returns a list of matching policies with terraformPolicyIDs with their name, title and download counts. | | policies | policyDetails | Retrieves detailed documentation for a policy set using a terraformPolicyID obtained from the searchPolicies tool including policy readme and implementation details. |

Install from source

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"]
      }
    }
  }
}

Building the Docker Image locally

Before using the server, you need to build the Docker image locally:

  1. Clone the repository:
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
  1. Build the Docker image:
make docker-build
  1. This will create a local Docker image that you can use in the following configuration.
### 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
  1. (Optional) Test connection in http mode
### Test the connection
curl http://localhost:8080/health
  1. You can use it on your AI assistant as follow:
{
  "mcpServers": {
    "terraform": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "terraform-mcp-server:dev"
      ]
    }
  }
}

Development

Prerequisites

  • Go (check go.mod file for specific version)
  • Docker (optional, for container builds)

Available Make Commands

| 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 |

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Make your changes
  4. Run tests
  5. Submit a pull request

License

This project is licensed under the terms of the MPL-2.0 open source license. Please refer to LICENSE file for the full terms.

Security

For security issues, please contact security@hashicorp.com or follow our security policy.

Support

For bug reports and feature requests, please open an issue on GitHub.

For general questions and discussions, open a GitHub Discussion.

伺服器配置

{
  "mcp": {
    "servers": {
      "terraform": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "hashicorp/terraform-mcp-server"
        ]
      }
    }
  }
}

專案資訊

作者
hashicorp
Category
雲端平台
建立於
Jul 1, 2025
星標
663
語言
Go
標籤
-

Terraform Mcp 伺服器 替代方案

若您需要Terraform Mcp 伺服器 的一些替代方案,我們依分類為您提供相關網站。

Mcp 伺服器 Cloudflare

EdgeOne Pages MCP 是一項旨在將 HTML 內容部署到 EdgeOne Pages 的服務,使用者可以獲得其內容的公開可訪問 URL。

查看更多 >>