使用说明

项目简介

Terraform Cloud MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它充当 Claude (或其他支持 MCP 协议的 LLM 客户端) 与 Terraform Cloud API 之间的桥梁。通过这个服务器,用户可以使用自然语言指令,让 Claude 执行 Terraform Cloud 的各项操作,例如管理工作空间、运行 Terraform 配置、管理组织等,从而实现基础设施即代码 (IaC) 的自然语言交互。

主要功能点

  • 身份验证:验证 Terraform Cloud API Token,并获取用户信息。
  • 工作空间管理:支持工作空间的创建、读取、更新、删除、锁定和解锁等操作。
  • 运行管理:支持创建、列出、获取运行详情,以及应用、丢弃、取消运行等操作。
  • 组织管理:支持列出和获取组织详情,以及创建、更新、删除组织等操作。
  • 工具丰富:提供了针对 Terraform Cloud 各种资源和操作的工具,例如 'validate_token', 'list_workspaces', 'create_run', 'delete_organization' 等。
  • 易于集成:支持通过 MCP 开发工具、命令行或配置文件与 Claude 等 MCP 客户端连接。

安装步骤

  1. 克隆仓库

    git clone https://github.com/severity1/terraform-cloud-mcp.git
    cd terraform-cloud-mcp
  2. 创建并激活虚拟环境 (推荐使用 'uv',也可以使用 'venv' 或 'virtualenv')

    uv venv
    source .venv/bin/activate
  3. 安装依赖

    uv pip install -e .

服务器配置

要让 MCP 客户端(例如 Claude Desktop 或 Claude Code CLI)连接到 Terraform Cloud MCP Server,需要配置服务器的启动命令和参数。以下是针对不同 MCP 客户端的配置方法:

1. Claude Desktop 配置 (claude_desktop_config.json)

在 Claude Desktop 的配置文件 'claude_desktop_config.json' 中,添加或修改 'mcpServers' 部分:

{
  "mcpServers": {
    "terraform-cloud-mcp": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/terraform-cloud-mcp",
        "run",
        "server.py"
      ],
      "env": {
        "TFC_TOKEN": "your_terraform_cloud_token"
      }
    }
  }
}

配置参数说明:

  • '"terraform-cloud-mcp"': 服务器名称,可以自定义,用于在 Claude 中标识该服务器。
  • '"command"': 启动服务器的命令,这里使用 'uv run',需要替换为 'uv' 可执行文件的完整路径 (可以使用 'which uv' 或 'where uv' 查找)。
  • '"args"': 传递给 'uv run' 命令的参数列表:
    • '"--directory"': 指定服务器代码所在的目录,需要替换为 'terraform-cloud-mcp' 仓库的完整路径。
    • '"run"': 'uv run' 命令的子命令,用于运行 Python 脚本。
    • '"server.py"': 服务器主程序脚本的名称。
  • '"env"': 环境变量配置:
    • '"TFC_TOKEN"': Terraform Cloud API Token,必须替换为你的实际 Token。这是访问 Terraform Cloud API 的凭证。

2. Claude Code CLI 配置 (claude mcp add)

使用 Claude Code CLI 添加 MCP 服务器:

claude mcp add terraform-cloud-mcp "uv run $(pwd)/server.py"

或者,如果需要通过环境变量传递 Terraform Cloud API Token:

claude mcp add terraform-cloud-mcp -e TFC_TOKEN=YOUR_TF_TOKEN -- "uv run $(pwd)/server.py"

配置参数说明:

  • '"terraform-cloud-mcp"': 服务器名称,与 Claude Desktop 配置中的名称保持一致。
  • '"uv run $(pwd)/server.py"': 服务器启动命令,与 Claude Desktop 配置中的 'command' 和 'args' 组合功能相同。'$(pwd)' 会被替换为当前目录的绝对路径,确保 'server.py' 脚本能够被找到。
  • '-e TFC_TOKEN=YOUR_TF_TOKEN': 通过环境变量传递 Terraform Cloud API Token,'YOUR_TF_TOKEN' 必须替换为你的实际 Token

基本使用方法

  1. 启动服务器: 根据你的 MCP 客户端配置,启动 Terraform Cloud MCP Server。例如,对于 Claude Desktop,启动 Claude Desktop 后,服务器会自动根据 'claude_desktop_config.json' 中的配置启动。对于 Claude Code CLI,可以使用 'mcp dev server.py' 或 'mcp run server.py' 命令启动。

  2. 与 Claude 对话: 在 Claude 客户端中,你可以使用自然语言指令来管理 Terraform Cloud 资源。例如:

    • "验证我的 Terraform Cloud API Token"
    • "列出我在 'example-org' 组织中的所有工作空间"
    • "创建名为 'staging' 的工作空间,并启用自动应用"
    • "删除 'dev-test' 工作空间"
    • "为 'production' 工作空间创建一个计划"
    • "应用 run ID 为 'run-CZcmD7eagjhyX0vN' 的运行"
    • "列出所有 Terraform Cloud 组织"
    • "获取 'example-org' 组织的详细信息"
  3. 利用提供的工具: 该服务器提供了丰富的工具,涵盖身份验证、工作空间管理、运行管理和组织管理。你可以参考 README.md 文件中 "Available Tools" 部分,了解每个工具的详细功能和参数,并在与 Claude 的对话中灵活使用。

注意:

  • Terraform Cloud API Token: 请务必安全保管你的 Terraform Cloud API Token,并避免在公共场合泄露。
  • 错误排查: 如果遇到问题,可以查看服务器日志 (默认已启用 debug logging) 或使用 MCP Inspector (如果使用 'mcp dev server.py' 启动)。

信息

分类

开发者工具