Terraform Cloud MCP Server

Terraform Cloud MCP Server

site icon
2025.04.05 6
Python基础设施管理自然语言处理开发效率
Terraform Cloud MCP Server 是一个基于模型上下文协议(MCP)的服务,旨在通过自然语言对话与 Terraform Cloud API 集成,帮助用户管理基础设施。该服务支持多种 MCP 兼容平台,如 Claude、Claude Code CLI、Claude Desktop、Cursor、Copilot Studio 等。
View on GitHub

Overview

基本能力

产品定位

Terraform Cloud MCP Server 是一个基础设施管理工具,通过自然语言对话与 Terraform Cloud API 集成,简化基础设施的管理流程。

核心功能

  • 账户管理:获取认证用户或服务账户的详细信息。
  • 工作区管理:创建、读取、更新、删除、锁定/解锁工作区。
  • 运行管理:创建运行、列出运行、获取运行详情、应用/丢弃/取消运行。
  • 计划管理:检索计划详情和 JSON 执行输出,支持高级 HTTP 重定向处理。
  • 应用管理:获取应用详情并从失败状态上传中恢复。
  • 组织管理:列出、创建、更新、删除组织,查看组织权限。

适用场景

  • 通过自然语言对话管理 Terraform Cloud 基础设施。
  • 自动化基础设施的创建、更新和删除。
  • 管理多个工作区和组织的配置。

工具列表

  • 账户工具get_account_details() 获取账户信息。
  • 工作区管理工具:包括列出、搜索、创建、更新、删除、锁定/解锁工作区等功能。
  • 运行管理工具:创建、列出、获取详情、应用、丢弃、取消运行等功能。
  • 计划管理工具:获取计划详情和 JSON 执行输出。
  • 应用管理工具:获取应用详情和从失败状态恢复。
  • 组织管理工具:列出、创建、更新、删除组织,查看权限等功能。

常见问题解答

  1. 检查服务器日志(默认启用调试日志)。
  2. 使用 MCP Inspector (http://localhost:5173) 进行调试。
  3. 调试日志已在 server.py 中启用。

使用教程

使用依赖

  • Python 3.12+
  • MCP(包括 FastMCP 和开发工具)
  • uv 包管理器(推荐)或 pip
  • Terraform Cloud API 令牌

安装教程

# 克隆仓库
git clone https://github.com/severity1/terraform-cloud-mcp.git
cd terraform-cloud-mcp

# 创建并激活虚拟环境
uv venv
source .venv/bin/activate

# 安装包
uv pip install .

添加到 Claude 环境

添加到 Claude Code CLI

# 使用 Terraform Cloud 令牌添加到 Claude Code
claude mcp add -e TFC_TOKEN=YOUR_TF_TOKEN -s user terraform-cloud-mcp -- "terraform-cloud-mcp"

添加到 Claude Desktop

创建 claude_desktop_config.json 配置文件: - mac: ~/Library/Application Support/Claude/claude_desktop_config.json - win: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "terraform-cloud-mcp": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/your/terraform-cloud-mcp",
        "run",
        "terraform-cloud-mcp"
      ],
      "env": {
        "TFC_TOKEN": "my token..."
      }
    }
  }
}

调试方式

# 运行开发模式服务器
mcp dev terraform_cloud_mcp/server.py

# 运行测试和质量检查
uv run -m mypy .
uv run -m ruff check .
uv run -m black .

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。