Token导航 LogoToken导航TokenDH.com
Terraform MCP Server logo
运维云端未说明官方级别未说明来源级核验

Terraform MCP Server

MCP Server

一个为Terraform基础设施即代码操作设计的模型上下文协议服务器,提供25种工具用于管理配置、状态、工作区和执行基础设施操作。

工具数

26

提示词数

0

GitHub Stars

0

资源数

0
基础设施即代码工作区管理JavaScriptClaude配置管理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mjrestivo16

提供方

mjrestivo16

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Terraform MCP服务器

用于作为代码操作的Terraform基础设施的模型上下文协议(MCP)服务器。提供25个全面的工具,用于管理Terraform配置、状态、工作区和执行基础设施操作。

特性

核心操作(6个工具)

  • tf_version -获取Terraform版本信息
  • tf_init -初始化Terraform工作目录(可选提供程序升级)
  • tf_validate -验证Terraform配置语法
  • tf_plan -创建显示拟议变更的执行计划
  • tf_apply -将Terraform更改应用于基础架构
  • tf_destroy -摧毁Terraform管理的基础设施

输出管理(1个工具)

  • tf_output -获取Terraform输出值(JSON或纯文本)

状态管理(6个工具)

  • tf_state_list -列出Terraform状态下的所有资源
  • tf_state_show -显示特定资源的详细信息
  • tf_state_rm -从Terraform状态中删除资源
  • tf_state_mv -在Terraform状态下移动/重命名资源
  • tf_import -将现有基础设施导入Terraform状态
  • tf_refresh -从真实基础设施刷新地形状态

代码格式化(1个工具)

  • tf_fmt -格式化Terraform配置文件(检查或修改)

工作空间管理(4个工具)

  • tf_workspace_list -列出所有Terraform工作区
  • tf_workspace_select -切换到其他工作区
  • tf_workspace_new -创建新工作区
  • tf_workspace_delete -删除工作区

提供商管理(1个工具)

  • tf_providers -列出正在使用的Terraform提供程序

高级操作(3个工具)

  • tf_graph -以DOT格式生成资源依赖关系图
  • tf_taint -在下次申请时标记娱乐资源
  • tf_untaint -从资源中删除污染标记

计划管理(1个工具)

  • tf_show_plan -显示已保存的执行计划文件的详细信息

文件操作(3个工具)

  • tf_list_files -列出目录(.tf、.tfvars、.tfstate)中的Terraform文件
  • tf_read_file -读取Terraform配置文件的内容
  • tf_write_file -将内容写入Terraform配置文件

安装

npm install
npm run build

配置

服务器使用可选的环境变量来设置默认工作目录:

export TERRAFORM_WORKING_DIR="/path/to/your/terraform/projects"

如果未设置,服务器将使用当前工作目录。

使用Claude Desktop

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "terraform": {
      "command": "node",
      "args": ["/path/to/mcp-terraform/dist/index.js"],
      "env": {
        "TERRAFORM_WORKING_DIR": "/path/to/terraform/projects"
      }
    }
  }
}

发展

在热重载的开发模式下运行:

npm run dev

需求

  • 必须在PATH中安装并提供Terraform CLI
  • 配置了适当的云提供商凭据(AWS、Azure、GCP等)
  • 包含配置文件的Terraform工作目录

示例用例

  1. 基础设施规划:在应用更改之前对其进行审查
  2. 状态管理:导入现有资源,在模块之间移动资源
  3. 工作空间管理:管理多个环境(开发、暂存、生产)
  4. 代码质量:统一格式化Terraform文件
  5. 故障排除:检查状态,可视化资源依赖关系
  6. 选择性操作:使用目标将更改应用于特定资源
  7. 配置管理:读取和修改Terraform配置文件

刀具参数

公共参数

  • dir (可选):用于Terraform操作的工作目录。默认为 TERRAFORM_WORKING_DIR 或当前目录
  • auto_approve (可选):跳过应用/销毁操作的交互式审批
  • target (可选):将操作限制到特定资源(例如。, aws_instance.example)
  • var (可选):将变量传递给Terraform命令(具有键值对的对象)

计划运营

{
  "dir": "/path/to/project",
  "out": "plan.tfplan",
  "target": "aws_instance.web",
  "var": {
    "region": "us-west-2",
    "instance_type": "t3.micro"
  }
}

州运营

{
  "dir": "/path/to/project",
  "address": "aws_instance.example",
  "source": "aws_instance.old_name",
  "destination": "aws_instance.new_name"
}

安全注意事项

  • 服务器以完全权限执行Terraform命令
  • 确保对工作目录进行适当的访问控制
  • 小心 auto_approve 应用/销毁操作标志
  • 将敏感变量存储在Terraform变量文件或环境变量中,而不是以纯文本形式存储
  • 在对生产基础设施进行更改之前,仔细审查计划

输出格式

  • 大多数命令从Terraform CLI返回纯文本输出
  • 使用 json: true 随着 tf_output 用于结构化JSON响应
  • 状态操作返回格式化的资源信息
  • 图形操作返回可视化工具的DOT格式

可视化

tf_graph 该工具以DOT格式生成依赖关系图。使用Graphviz等工具进行可视化:

# Save graph output to file
terraform graph > graph.dot

# Generate PNG image
dot -Tpng graph.dot -o graph.png

错误处理

服务器从Terraform命令中捕获stdout和stderr。失败的操作会返回带有退出代码的错误消息以进行故障排除。

api参考

有关详细的Terraform CLI文档,请参阅:https://developer.hashicorp.com/terraform/cli

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。

目录标签

目录标签

基础设施即代码工作区管理JavaScriptClaude配置管理本地部署Terraform工具状态管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

26

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明nonelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP