Skip to main content
Glama

terraform-cloud-mcp

Terraform Cloud MCP サーバー

AIアシスタントとTerraform Cloud APIを統合するモデルコンテキストプロトコル(MCP)サーバー。自然な会話を通してインフラを管理できます。Pydanticモデルとドメイン固有のモジュールを基盤として構築されたこのサーバーは、Claude、Claude Code CLI、Claude Desktop、Cursor、Copilot Studioなど、あらゆるMCP対応プラットフォームと互換性があります。

バージョンパイソン型チェックコード品質


特徴

  • アカウント管理: 認証されたユーザーまたはサービス アカウントのアカウント詳細を取得します。
  • ワークスペース管理: ワークスペースの作成、読み取り、更新、削除、ロック/ロック解除。
  • プロジェクト管理: プロジェクトを作成、一覧表示、更新、削除し、プロジェクト タグ バインディングを管理し、プロジェクト間でワークスペースを移動します。
  • 実行管理: 実行の作成、実行の一覧表示、実行の詳細の取得、実行の適用/破棄/キャンセル。
  • プラン管理: 高度な 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 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: ~/ライブラリ/アプリケーションサポート/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 } } } }

your_terraform_cloud_tokenを実際の Terraform Cloud API トークンに置き換えます。

その他の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を参照してください。


ドキュメント

コードベースには包括的なドキュメントが含まれています。

  • コードコメント: 実装決定の背後にある「理由」を説明することに重点を置いています
  • Docstrings : すべての公開関数とクラスには詳細なdocstringが含まれています
  • サンプル ファイル: 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.

Claude を Terraform Cloud API と統合し、自然な会話を通じて Claude が Terraform インフラストラクチャを管理できるようにする Model Context Protocol (MCP) サーバー。

  1. 特徴
    1. クイックスタート
      1. 前提条件
      2. インストール
      3. クロード環境への追加
    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