Terraform Cloud MCP 服务器

Terraform Cloud MCP 服务器提供与 Terraform Cloud API 集成的工具,用于 AI 助手交互。

  • by matchs
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 matchs/tf-cloud-mcp-server

使用说明

Terraform Cloud MCP服务器

模型上下文协议服务器提供Terraform Cloud API集成作为人工智能助手的工具。

特性

此MCP服务器提供了四种与Terraform Cloud交互的主要工具:

  • get_run_status:获取工作区的当前运行状态和最近运行情况
  • list_workspaces:列出组织中的所有工作区
  • get_workspace_details:获取特定工作空间的详细信息
  • get_run_details:通过ID获取特定运行的详细信息

安装

npm install
npm run build

配置

服务器从以下位置读取您的Terraform Cloud令牌 ~/.terraform.d/credentials.tfrc.json。请确保此文件以以下格式存在:

{
  "credentials": {
    "app.terraform.io": {
      "token": "your-terraform-cloud-token"
    }
  }
}

用法

使用克劳德桌面

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "terraform-cloud": {
      "command": "node",
      "args": ["/absolute/path/to/tf-cloud-mcp-server/build/index.js"]
    }
  }
}

与MCP检查员一起

使用MCP检查器测试您的服务器:

npx @modelcontextprotocol/inspector node build/index.js

使用VS代码

创建一个 .vscode/mcp.json 项目中的文件:

{
  "servers": {
    "terraform-cloud": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/tf-cloud-mcp-server/build/index.js"]
    }
  }
}

可用工具

get_run_status

获取Terraform Cloud工作区的当前运行状态。

参数:

  • workspaceName (string,必填):工作区的名称
  • organization (字符串,可选):组织名称(默认:“urbanmedia”)

例子:

Get the run status for workspace "capivara-dpa-importer"

list_workspaces

列出Terraform Cloud组织中的所有工作区。

参数:

  • organization (字符串,可选):组织名称(默认:“urbanmedia”)

例子:

List all workspaces in urbanmedia organization

get_workspace_details

获取特定工作空间的详细信息。

参数:

  • workspaceName (string,必填):工作区的名称
  • organization (字符串,可选):组织名称(默认:“urbanmedia”)

例子:

Get details for workspace "capivara-dpa-importer"

get_run_details

获取由其ID运行的特定Terraform Cloud的详细信息。

参数:

  • runId (字符串,必填):运行ID(例如,“Run-abc123”)

例子:

Get details for run "run-abc123"

发展

项目结构

tf-cloud-mcp-server/
├── src/
│   └── index.ts          # Main server implementation
├── build/                 # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

在发展中奔跑

npm run dev  # Watch mode for TypeScript compilation

建筑

npm run build

许可证

麻省理工学院