terraform-cloud-mcp

by severity1
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports loading Terraform Cloud API tokens from .env files for easier authentication configuration

  • Integrates with Terraform Cloud API, enabling workspace management (create, read, update, delete, lock/unlock) and authentication capabilities

Terraform Cloud MCP サーバー

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


特徴

  • アカウント管理: 認証されたユーザーまたはサービス アカウントのアカウント詳細を取得します。
  • ワークスペース管理: ワークスペースの作成、読み取り、更新、削除、ロック/ロック解除。
  • 実行管理: 実行の作成、実行の一覧表示、実行の詳細の取得、実行の適用/破棄/キャンセル。
  • 組織管理: 組織の一覧表示、作成、更新、削除、組織の権限の表示を行います。
  • 将来の機能: 状態管理、変数管理など。

クイックスタート

前提条件

  • 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) : 別のユーザーによってロックされたワークスペースを強制的にロック解除します。

データ保持

  • set_data_retention_policy(workspace_id, days) : データ保持ポリシーを設定します。
  • get_data_retention_policy(workspace_id) : 現在のデータ保持ポリシーを取得します。
  • delete_data_retention_policy(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_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

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

  1. Features
    1. Quick Start
      1. Prerequisites
      2. Installation
      3. Adding to Claude Environments
    2. Available Tools
      1. Account Tools
      2. Workspace Management Tools
      3. Run Management Tools
      4. Organization Management Tools
    3. Development Guide
      1. Quick Development Setup
      2. Basic Development Commands
    4. Documentation
      1. Troubleshooting
        1. Contributing
          ID: iukijjkm1e