Back to MCP directory
publicPublicdnsLocal runtime

terraform-mcp-server

一个提供与Terraform Registry API交互工具的MCP服务器

article

README

🚀 Terraform Registry MCP 服务器

Terraform Registry MCP 服务器是一款用于管理 Terraform 注册表资源与服务的工具。它借助 MCP 协议提供接口,方便其他系统对 Terraform 资源进行查询和操作。

🚀 快速开始

Terraform Registry MCP 服务器为管理 Terraform 注册表资源提供了便捷的途径。你可以通过以下安装步骤快速开启使用。

📦 安装指南

在 Cursor 中安装

  1. 打开终端。
  2. 运行以下命令:
npm install
npm start

在 Claude Desktop 中安装

  1. 设置环境变量:
export LOG_LEVEL="debug"
export REQUEST_TIMEOUT_MS="15000"
  1. 启动服务器:
npm start

✨ 主要特性

可用工具

核心 Registry 工具

  • getProvider:获取指定提供者的详细信息。
  • getResource:获取特定资源的信息。
  • listResources:列出所有可用的资源。
  • verifyResource:验证资源的有效性。

需要 TFC 令牌的工具

  • getTerraformCloudWorkspaces:获取用户的工作区列表。
  • triggerRun:手动触发运行。
  • getRunStatus:获取指定运行状态。
  • cancelRun:取消正在进行的运行。

资源 URI

支持的资源类型

| 资源类型 | 示例 URI | |----------|----------| | 提供者 | terraform://registry.terraform.io/hashicorp/aws | | 资源 | terraform://registry.terraform.io/hashicorp/aws/latest | | 数据源 | terraform://registry.terraform.io/hashicorp/external |

模板

服务器支持以下模板:

  • terraform://templates/list/providers
  • terraform://templates/list/resources

提示信息

可用提示

| 提示名称 | 描述 | 必要参数 | |------------------|------------------------------|------------------------| | migrate-clouds | 生成在云提供商之间迁移基础设施的 terraform 代码 | sourceCloud, targetCloud, terraformCode | | generate-resource-skeleton | 帮助用户快速搭建遵循最佳实践的新 terraform 资源 | resourceType |

已知问题

⚠️ 重要提示

目前,getPrompt 功能存在一个已知问题,可能导致服务器崩溃。建议使用 listPrompts 来查看可用提示。

运行服务器

使用环境变量配置

| 环境变量名称 | 描述 | 默认值 | |--------------------|--------------------------|----------------------| | TERRAFORM_REGISTRY_URL | Terraform 注册表 API 的基础 URL | https://registry.terraform.io | | DEFAULT_PROVIDER_NAMESPACE | 提供者的默认命名空间 | hashicorp |

示例配置

export LOG_LEVEL="debug"
export REQUEST_TIMEOUT_MS="15000"
npm start

📚 详细文档

测试指南

参见 TESTS.md 获取测试信息。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client