Terraform Registry MCP Server

Terraform Registry MCP Server

通过 MCP 将 AI 模型连接到 Terraform 注册表,从而实现提供程序查找、资源使用示例和模块推荐,以简化 Terraform 工作流程。

Category
访问服务器

Tools

providerLookup

Lookup a Terraform provider by name and optionally version.

resourceUsage

Get an example usage of a Terraform resource and related resources.

moduleRecommendations

Search for and recommend Terraform modules for a given query.

dataSourceLookup

List all available data sources for a provider and their basic details.

resourceArgumentDetails

Fetches details about a specific resource type's arguments, including name, type, description, and requirements.

moduleDetails

Retrieves detailed metadata for a Terraform module including versions, inputs, outputs, and dependencies.

README

Terraform Registry MCP 服务器

一个模型上下文协议 (MCP) 服务器,提供与 Terraform Registry API 交互的工具。该服务器使 AI 代理能够查询提供程序信息、资源详细信息和模块元数据。

安装

在 Cursor 中安装

要在 Cursor 中安装和使用此 MCP 服务器:

  1. 在 Cursor 中,打开设置 (⌘+,) 并导航到“MCP”选项卡。

  2. 单击“+ 添加新的 MCP 服务器”。

  3. 输入以下内容:

    • 名称:terraform-registry
    • 类型:command
    • 命令:npx -y terraform-mcp-server
  4. 单击“添加”,然后滚动到服务器并单击“已禁用”以启用服务器。

  5. 如果需要,重新启动 Cursor 以确保 MCP 服务器已正确加载。

terraform-registry MCP settings for Cursor

在 Claude Desktop 中安装

要在 Claude Desktop 中安装和使用此 MCP 服务器:

  1. 在 Claude Desktop 中,打开设置 (⌘+,) 并导航到“开发者”选项卡。

  2. 单击窗口底部的“编辑配置”。

  3. 编辑文件 (~/Library/Application Support/Claude/claude_desktop_config.json) 以添加以下代码,然后保存文件。

{
  "mcpServers": {
    "terraform-registry": {
      "command": "npx",
      "args": ["-y", "terraform-mcp-server"]
    }
  }
}
  1. 重新启动 Claude Desktop 以确保 MCP 服务器已正确加载。

工具

此 MCP 服务器中提供以下工具:

核心 Registry 工具

工具 描述
providerDetails 获取有关 Terraform 提供程序的详细信息
resourceUsage 获取 Terraform 资源的示例用法和相关资源
moduleSearch 根据查询搜索和推荐 Terraform 模块
listDataSources 列出提供程序的所有可用数据源及其基本详细信息
resourceArgumentDetails 获取有关资源类型参数的全面详细信息
moduleDetails 检索 Terraform 模块的详细元数据
functionDetails 获取有关 Terraform 提供程序函数的详细信息
providerGuides 列出和查看提供程序特定的指南和文档
policySearch 在 Terraform Registry 中搜索策略库
policyDetails 获取有关特定策略库的详细信息

Terraform Cloud 工具

这些工具需要 Terraform Cloud API 令牌 (TFC_TOKEN):

工具 描述
listOrganizations 列出经过身份验证的用户有权访问的所有组织
privateModuleSearch 在组织中搜索私有模块
privateModuleDetails 获取有关私有模块的详细信息
explorerQuery 查询 Terraform Cloud Explorer API 以分析数据
listWorkspaces 列出组织中的工作区
workspaceDetails 获取有关特定工作区的详细信息
lockWorkspace 锁定工作区以防止运行
unlockWorkspace 解锁工作区以允许运行
listRuns 列出工作区的运行
runDetails 获取有关特定运行的详细信息
createRun 为工作区创建新的运行
applyRun 应用已计划的运行
cancelRun 取消正在进行的运行
listWorkspaceResources 列出工作区中的资源

资源

MCP 服务器支持以下资源 URI,用于通过 resources/* 方法进行列出和读取:

资源类型 示例 URI 描述
提供程序 terraform:providers 列出所有命名空间/提供程序
terraform:provider:<namespace>/<name> 获取特定提供程序的详细信息
提供程序版本 terraform:provider:<namespace>/<name>/versions 列出提供程序的可用版本
提供程序资源 terraform:provider:<namespace>/<name>/resources 列出提供程序的资源
terraform:resource:<namespace>/<name>/<resource_name> 获取特定资源类型的详细信息
提供程序数据源 terraform:provider:<namespace>/<name>/dataSources 列出提供程序的数据源
terraform:dataSource:<namespace>/<name>/<data_source_name> 获取特定数据源的详细信息
提供程序函数 terraform:provider:<namespace>/<name>/functions 列出提供程序的函数
terraform:function:<namespace>/<name>/<function_name> 获取特定函数的详细信息

服务器还支持 resources/templates/list 以提供用于创建以下内容的模板:

  • terraform:provider
  • terraform:resource
  • terraform:dataSource

提示

以下提示可用于生成上下文响应:

提示 描述 必需参数
migrate-clouds 生成 Terraform 代码以在云提供商之间迁移基础设施 sourceCloudtargetCloudterraformCode
generate-resource-skeleton 帮助用户快速搭建具有最佳实践的新 Terraform 资源 resourceType
optimize-terraform-module 提供改进 Terraform 代码的可操作建议 terraformCode
migrate-provider-version 协助提供程序版本升级和重大更改 providerNamecurrentVersiontargetVersionterraformCode (可选)
analyze-workspace-runs 分析最近的运行失败,并为 Terraform Cloud 工作区提供故障排除指南 workspaceIdrunsToAnalyze (可选,默认值:5)

提示的已知问题

注意getPrompt 功能存在已知问题,可能导致服务器崩溃。服务器正确注册提示并可以列出它们,但使用 getPrompt 方法的直接请求可能会导致连接问题。正在对此进行调查,可能与 SDK 兼容性或实现细节有关。在解决之前,请使用 listPrompts 查看可用提示,但避免直接调用 getPrompt

运行服务器

服务器使用 stdio 传输进行 MCP 通信:

npm install
npm start

使用环境变量配置

可以使用环境变量配置服务器:

环境变量 描述 默认值
TERRAFORM_REGISTRY_URL Terraform Registry API 的基本 URL https://registry.terraform.io
DEFAULT_PROVIDER_NAMESPACE 提供程序的默认命名空间 hashicorp
LOG_LEVEL 日志记录级别(error、warn、info、debug) info
REQUEST_TIMEOUT_MS API 请求的超时时间(毫秒) 10000
RATE_LIMIT_ENABLED 启用 API 请求的速率限制 false
RATE_LIMIT_REQUESTS 时间窗口内允许的请求数 60
RATE_LIMIT_WINDOW_MS 速率限制的时间窗口(毫秒) 60000
TFC_TOKEN 用于私有注册表访问的 Terraform Cloud API 令牌(可选)

使用环境变量的示例:

# 设置环境变量
export LOG_LEVEL="debug"
export REQUEST_TIMEOUT_MS="15000"
export TFC_TOKEN="your-terraform-cloud-token"

# 运行服务器
npm start

测试

有关测试此项目的信息,请参见 TESTS.md 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选