hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
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 トークン
インストール
クロード環境への追加
Claude Code CLIへの追加
Claudeデスクトップに追加
claude_desktop_config.json
構成ファイルを作成します。
- mac: ~/ライブラリ/アプリケーションサポート/Claude/claude_desktop_config.json
- 勝利: %APPDATA%\Claude\claude_desktop_config.json
your_terraform_cloud_token
を実際の Terraform Cloud API トークンに置き換えます。
その他のMCP互換プラットフォーム
その他のプラットフォーム(Cursor、Copilot Studio、Glamaなど)の場合は、各プラットフォーム固有の手順に従ってMCPサーバーを追加してください。ほとんどのプラットフォームでは、以下の要件があります。
- サーバーを起動するためのサーバー パスまたはコマンド。
- Terraform Cloud API トークンの環境変数。
- 必要に応じてサーバーを自動的に起動するための構成。
利用可能なツール
アカウントツール
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 パターン、貢献ワークフローなどの詳細な開発ガイダンスについては、開発ドキュメントを参照してください。
クイック開発セットアップ
基本的な開発コマンド
コードの構成、アーキテクチャ、開発ワークフロー、コード品質ガイドラインの詳細については、 docs/DEVELOPMENT.mdを参照してください。
ドキュメント
コードベースには包括的なドキュメントが含まれています。
- コードコメント: 実装決定の背後にある「理由」を説明することに重点を置いています
- Docstrings : すべての公開関数とクラスには詳細なdocstringが含まれています
- サンプル ファイル:
docs/
ディレクトリには、各ドメインの詳細な例が含まれています。docs/DEVELOPMENT.md
: 開発標準とコーディングガイドラインdocs/CONTRIBUTING.md
: プロジェクトへの貢献に関するガイドラインdocs/models/
: すべてのモデルタイプの使用例docs/tools/
: 各ツールの詳細な使用例docs/conversations/
: API を使用したサンプル会話フロー
トラブルシューティング
- サーバーログを確認します(デバッグログはデフォルトで有効になっています)
- デバッグにはMCPインスペクタ( http://localhost:5173 )を使用します。
- デバッグ ログは
server.py
ですでに有効になっています。Copy
貢献
貢献を歓迎します!このプロジェクトに貢献したい場合は、問題を開くか、プルリクエストを送信してください。
開始方法、コード品質基準、プル リクエスト プロセスに関する詳細な手順については、貢献ガイドを参照してください。
You must be authenticated.
Tools
Claude を Terraform Cloud API と統合し、自然な会話を通じて Claude が Terraform インフラストラクチャを管理できるようにする Model Context Protocol (MCP) サーバー。