mcpField
T
Terraform MCP Server

Terraform MCP Server

本地服务
github.com/pipethedev云与基础设施173 周前更新

关于 Terraform MCP Server

Terraform MCP Server 将 MCP 客户端连接到 Terraform Registry,面向基础设施即代码开发者,支持查找提供商文档、发现和检查模块。

主要功能

  1. 01搜索提供商文档
  2. 02获取提供商资源与数据源文档
  3. 03搜索 Terraform 模块
  4. 04查看模块输入、输出和示例

适用场景

  1. 01查找 Terraform 提供商及相关文档
  2. 02查看提供商资源或数据源说明
  3. 03为基础设施项目发现模块
  4. 04检查模块配置与示例

MCP 相关

向 MCP 客户端提供 Terraform Registry 提供商和模块查询工具,可获取提供商文档以及搜索或查看模块。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"terraform-mcp-server-pipethedev": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
启动命令docker run -i --rm hashicorp/terraform-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocihashicorp/terraform-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

README 配图 Terraform MCP Server

Terraform MCP Server 是一个 Model Context Protocol(MCP) 服务,可与 Terraform Registry API 无缝集成,为基础设施即代码(IaC)开发提供高级自动化和交互功能。

使用场景

  • 自动发现 Terraform provider 和模块
  • 从 Terraform Registry 提取和分析数据
  • 获取有关 provider 资源和数据源的详细信息
  • 探索和了解 Terraform 模块

注意: MCP 服务提供的输出和建议由动态生成,可能因查询、模型和连接的 MCP 服务而异。用户应在实施前全面审查所有输出/建议,确保其符合所在组织的安全最佳实践、成本效益目标和合规要求。

先决条件

  1. 要在容器中运行服务,需要安装 Docker。
  2. 安装 Docker 后,需要确保 Docker 正在运行。

安装

在 VS Code 中使用

将以下 JSON 块添加到 VS Code 的“用户设置(JSON)”文件中。可以按 Ctrl + Shift + P,然后输入 Preferences: Open User Settings (JSON) 来完成。

有关在 VS Code 中使用 MCP 服务工具的更多信息,请参阅Agent 模式文档。

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

你也可以选择将类似的示例(即不带 mcp 键)添加到工作区中名为 .vscode/mcp.json 的文件中。这样便可以与他人共享配置。

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

有关在 Claude Desktop 中使用 MCP 服务工具的更多信息,请参阅用户文档。

在 Claude Desktop 中使用
{
  "mcpServers": {
    "terraform": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "hashicorp/terraform-mcp-server"
      ]
    }
  }
}

工具配置

可用工具集

以下工具集可用:

工具集工具描述
providersresolveProviderDocID查询 Terraform Registry,使用指定的 serviceSlug 查找并列出特定 provider 的可用文档。返回资源、数据源、函数或指南的 provider 文档 ID 列表,以及相应标题和类别。
providersgetProviderDocs使用从 resolveProviderDocID 工具获取的文档 ID,获取特定 provider 资源、数据源或函数的完整文档内容。以 Markdown 格式返回原始文档。
modulessearchModules根据指定的 moduleQuery 搜索 Terraform Registry 中的模块,并支持分页。返回模块 ID 列表,以及名称、描述、下载次数、验证状态和发布日期
modulesmoduleDetails使用从 searchModules 工具获取的模块 ID 检索模块的详细文档,包括输入、输出、配置、子模块和示例。
从源代码安装

使用最新发布版本:

go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@latest

使用 main 分支:

go install github.com/hashicorp/terraform-mcp-server/cmd/terraform-mcp-server@main
{
  "mcp": {
    "servers": {
      "terraform": {
        "command": "/path/to/terraform-mcp-server",
        "args": ["stdio"]
      }
    }
  }
}

在本地构建 Docker 镜像

使用服务前,需要在本地构建 Docker 镜像:

  1. 克隆代码仓库:
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
  1. 构建 Docker 镜像:
make docker-build

这将创建一个本地 Docker 镜像,供你在以下配置中使用。

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

开发

先决条件
  • Go(具体版本请查看 go.mod 文件)
  • Docker(可选,用于容器构建)
运行测试
# Run all tests
make test

# Run e2e tests
make test-e2e
可用的 Make 命令
make build        # Build the binary
make test         # Run all tests
make test-e2e     # Run end-to-end tests
make clean        # Remove build artifacts
make deps         # Download dependencies
make docker-build # Build docker image

贡献

  1. Fork 代码仓库
  2. 创建功能分支
  3. 进行更改
  4. 运行测试
  5. 提交拉取请求

许可证

本项目采用 MPL-2.0 开源许可证。完整条款请参阅 LICENSE 文件。

安全

如有安全问题,请联系 [email protected],或遵循我们的安全政策。

支持

如需报告 Bug 或提出功能请求,请在 GitHub 上提交 issue。

如有一般性问题或希望参与讨论,请开启 GitHub Discussion。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。