Skip to main content
Glama

terraform-cloud-mcp

Terraform Cloud MCP 服务器

模型上下文协议 (MCP) 服务器将 AI 助手与 Terraform Cloud API 集成,让您能够通过自然对话管理基础架构。该服务器基于 Pydantic 模型构建,并围绕特定领域模块构建,可与任何支持 MCP 的平台兼容,包括 Claude、Claude Code CLI、Claude Desktop、Cursor、Copilot Studio 等。

版本Python类型检查代码质量


特征

  • 帐户管理:获取经过身份验证的用户或服务帐户的帐户详细信息。
  • 工作区管理:创建、读取、更新、删除、锁定/解锁工作区。
  • 项目管理:创建、列出、更新和删除项目;管理项目标签绑定并在项目之间移动工作区。
  • 运行管理:创建运行、列出运行、获取运行详细信息、应用/放弃/取消运行。
  • 计划管理:使用高级 HTTP 重定向处理检索计划详细信息和 JSON 执行输出。
  • 申请管理:获取申请详情并从失败状态上传中恢复。
  • 组织管理:列出、创建、更新、删除组织以及查看组织权利。
  • 未来功能:变量管理、状态版本等。

快速入门

先决条件

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

安装

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # Install package uv pip install .

添加到 Claude 环境

添加到 Claude Code CLI
# Add to Claude Code with your Terraform Cloud token claude mcp add -e TFC_TOKEN=YOUR_TF_TOKEN -s user terraform-cloud-mcp -- "terraform-cloud-mcp"
添加到 Claude 桌面

创建claude_desktop_config.json配置文件:

  • mac:〜/ Library / Application Support / Claude / claude_desktop_config.json
  • 胜利:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "terraform-cloud-mcp": { "command": "/path/to/uv", # Get this by running: `which uv` "args": [ "--directory", "/path/to/your/terraform-cloud-mcp", # Full path to this project "run", "terraform-cloud-mcp" ], "env": { "TFC_TOKEN": "my token..." # replace with actual token } } } }

用您的实际 Terraform Cloud API 令牌替换your_terraform_cloud_token

其他 MCP 兼容平台

对于其他平台(例如 Cursor、Copilot Studio 或 Glama),请按照其平台特定的说明添加 MCP 服务器。大多数平台需要:

  1. 用于启动服务器的服务器路径或命令。
  2. Terraform Cloud API 令牌的环境变量。
  3. 配置在需要时自动启动服务器。

可用工具

账户工具

  • get_account_details() :获取经过身份验证的用户或服务帐户的帐户信息。

工作区管理工具

列表和搜索
  • list_workspaces(organization, page_number, page_size, search) :列出和过滤工作区。
  • get_workspace_details(workspace_id, organization, workspace_name) :获取有关特定工作区的详细信息。
创建和更新
  • create_workspace(organization, name, params) :使用可选参数创建一个新的工作区。
  • update_workspace(organization, workspace_name, params) :更新现有工作区的配置。
删除
  • delete_workspace(organization, workspace_name) :删除工作区及其所有内容。
  • safe_delete_workspace(organization, workspace_name) :仅当工作区未管理任何资源时才删除。
锁定和解锁
  • lock_workspace(workspace_id, reason) :锁定工作区以防止运行。
  • unlock_workspace(workspace_id) :解锁工作区以允许运行。
  • force_unlock_workspace(workspace_id) :强制解锁被其他用户锁定的工作区。

运行管理工具

  • create_run(workspace_id, params) :使用其 ID 在工作区中创建并排队 Terraform 运行。
  • list_runs_in_workspace(workspace_id, ...) :使用 ID 列出并过滤特定工作区中的运行。
  • list_runs_in_organization(organization, ...) :列出并过滤整个组织的运行。
  • get_run_details(run_id) :获取有关特定运行的详细信息。
  • apply_run(run_id, comment) :应用等待确认的运行。
  • discard_run(run_id, comment) :放弃等待确认的运行。
  • cancel_run(run_id, comment) :取消当前计划或申请的运行。
  • force_cancel_run(run_id, comment) :立即强制取消运行。
  • force_execute_run(run_id) :通过取消之前的运行强制执行待处理的运行。

计划管理工具

  • get_plan_details(plan_id) :获取有关特定计划的详细信息。
  • get_plan_json_output(plan_id) :检索具有适当重定向处理的特定计划的 JSON 执行计划。
  • get_run_plan_json_output(run_id) :通过适当的重定向处理从运行中检索 JSON 执行计划。

应用管理工具

  • get_apply_details(apply_id) :获取有关特定申请的详细信息。
  • get_errored_state(apply_id) :从失败的申请中检索错误状态以进行恢复。

项目管理工具

  • create_project(organization, name, params) :使用可选参数创建一个新项目。
  • update_project(project_id, params) :更新现有项目的配置。
  • list_projects(organization, ...) :列出并过滤组织中的项目。
  • get_project_details(project_id) :获取有关特定项目的详细信息。
  • delete_project(project_id) :删除一个项目(如果它包含工作区则失败)。
  • list_project_tag_bindings(project_id) :列出绑定到项目的标签。
  • add_update_project_tag_bindings(project_id, tag_bindings) :添加或更新项目的标签绑定。
  • move_workspaces_to_project(project_id, workspace_ids) :将工作区移动到项目中。

组织管理工具

  • get_organization_details(organization) :获取有关特定组织的详细信息。
  • get_organization_entitlements(organization) :显示组织功能的权利集。
  • list_organizations(page_number, page_size, query, query_email, query_name) :列出和过滤组织。
  • create_organization(name, email, params) :使用可选参数创建一个新组织。
  • update_organization(organization, params) :更新现有组织的设置。
  • delete_organization(organization) :删除组织及其所有内容。

开发指南

有关详细的开发指南,包括代码标准、Pydantic 模式和贡献工作流程,请参阅我们的开发文档

快速开发设置

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install in development mode with development dependencies uv pip install -e . uv pip install black mypy pydantic ruff

基本开发命令

# Run the server in development mode mcp dev terraform_cloud_mcp/server.py # Run tests and quality checks uv run -m mypy . uv run -m ruff check . uv run -m black .

有关代码组织、架构、开发工作流程和代码质量指南的详细信息,请参阅docs/DEVELOPMENT.md


文档

代码库包含全面的文档:

  • 代码注释:重点解释实施决策背后的“原因”
  • 文档字符串:所有公共函数和类都包含详细的文档字符串
  • 示例文件docs/目录包含每个域的详细示例:
    • docs/DEVELOPMENT.md :开发标准和编码指南
    • docs/CONTRIBUTING.md :项目贡献指南
    • docs/models/ :所有模型类型的使用示例
    • docs/tools/ :每个工具的详细使用示例
    • docs/conversations/ :使用 API 的示例对话流程

故障排除

  1. 检查服务器日志(默认启用调试日志)
  2. 使用 MCP 检查器 ( http://localhost:5173 ) 进行调试
  3. 调试日志记录已在server.py中启用:
    import logging logging.basicConfig(level=logging.DEBUG)

贡献

欢迎贡献!如果您想为该项目做出贡献,请打开一个问题或拉取请求。

请参阅我们的贡献指南,了解有关如何开始、代码质量标准和拉取请求流程的详细说明。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

模型上下文协议 (MCP) 服务器将 Claude 与 Terraform Cloud API 集成,允许 Claude 通过自然对话管理您的 Terraform 基础设施。

  1. 特征
    1. 快速入门
      1. 先决条件
      2. 安装
      3. 添加到 Claude 环境
    2. 可用工具
      1. 账户工具
      2. 工作区管理工具
      3. 运行管理工具
      4. 计划管理工具
      5. 应用管理工具
      6. 项目管理工具
      7. 组织管理工具
    3. 开发指南
      1. 快速开发设置
      2. 基本开发命令
    4. 文档
      1. 故障排除
        1. 贡献

          Related MCP Servers

          • Amazon Web Services
            aws-mcp

            A
            security
            F
            license
            A
            quality
            A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.
            Last updated -
            3
            264
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            🌍 Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. ⚡️
            Last updated -
            292
            Rust
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            A starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.
            Last updated -
            TypeScript
            • Apple
          • A
            security
            F
            license
            A
            quality
            A server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.
            Last updated -
            1
            1
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/severity1/terraform-cloud-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server