tfmcp: Terraform モデルコンテキストプロトコルツール
⚠️ このプロジェクトは試験的なものです。機能は予告なく変更される場合があります。ご使用の際はご注意ください。⚠️
tfmcp は、Model Context Protocol (MCP) を介して Terraform とやり取りするためのコマンドラインツールです。LLM は、以下の Terraform 環境を管理および操作できます。
🎮 デモ
Claude Desktop で tfmcp の動作を確認してください。
- Terraform 構成ファイルの読み取り
- Terraform プランの出力を分析する
- Terraform構成の適用
- Terraformの状態の管理
- Terraform 構成の作成と変更
🎉 最新リリース
tfmcp の最初の安定版リリース (v0.1.1) が Crates.io で利用可能になりました。Cargo を使えば簡単にインストールできます。
特徴
- 🚀 Terraform 統合
Terraform CLI と緊密に統合して、操作を分析および実行します。 - 📄 MCP サーバーの機能
モデル コンテキスト プロトコル サーバーとして実行され、AI アシスタントが Terraform にアクセスして管理できるようになります。 - ⚡️超高速
Rust エコシステムを活用した高速処理。 - 🛠️自動セットアップ
必要に応じてサンプル Terraform プロジェクトを自動的に作成し、新しいユーザーでもスムーズに操作できるようにします。 - 🐳 Docker サポート
すべての依存関係が事前にインストールされたコンテナ化された環境で tfmcp を実行します。
インストール
ソースから
Crates.ioより
Dockerの使用
要件
- ラスト(2021年版)
- Terraform CLI がインストールされ、PATH で利用可能
- Claude Desktop(AIアシスタント統合用)
- Docker (オプション、コンテナ化されたデプロイメント用)
使用法
Dockerの使用
Docker を使用する場合、次のように tfmcp コマンドを実行できます。
Claude Desktopとの統合
Claude Desktop で tfmcp を使用するには:
- まだインストールしていない場合は、tfmcp をインストールします。あるいは、Docker を使用することもできます。
- インストールされた tfmcp 実行可能ファイルへのパスを見つけます。
~/Library/Application\ Support/Claude/claude_desktop_config.json
に次の設定を追加します。
Claude Desktop で Docker を使用している場合は、次のように構成を設定できます。
- Claude Desktop を再起動し、tfmcp ツールを有効にします。
- tfmcp は、サンプルの Terraform プロジェクトが存在しない場合に
~/terraform
に自動的に作成します。これにより、Claude はすぐに Terraform を使い始めることができます。サンプルプロジェクトは、このリポジトリのexample/demo
ディレクトリに含まれるサンプルに基づいています。
ログとトラブルシューティング
tfmcp サーバー ログは次の場所にあります。
よくある問題と解決策:
- クロードはサーバーに接続できません: tfmcp実行ファイルへのパスが設定で正しいことを確認してください
- Terraform プロジェクトの問題: tfmcp は、サンプルの Terraform プロジェクトが見つからない場合は自動的に作成します。
- メソッドが見つからないエラー: MCP プロトコルのサポートには、リソース/リストとプロンプト/リスト メソッドが含まれます
- Dockerの問題: Dockerを使用する場合は、コンテナに適切なボリュームマウントと権限があることを確認してください。
環境変数
TERRAFORM_DIR
: カスタム Terraform プロジェクトディレクトリを指定するには、これを設定してください。設定されていない場合、tfmcp はコマンドライン引数、設定ファイル、または~/terraform
で指定されたディレクトリを使用します。また、set_terraform_directory
ツールを使用して、実行時にプロジェクトディレクトリを変更することもできます。TFMCP_LOG_LEVEL
: ログの詳細度を制御するには、debug
、info
、warn
、またはerror
に設定します。TFMCP_DEMO_MODE
: 追加の安全機能を備えたデモ モードを有効にするには、true
に設定します。
セキュリティに関する考慮事項
tfmcp を使用する場合は、次のセキュリティ上の考慮事項に注意してください。
- tfmcpは、ユーザーに代わってTerraformコマンドを実行し、インフラストラクチャを作成、変更、または破棄します。
- 本番環境では、適切なIAM権限とロール境界の使用を検討してください。
- 特にAIによって生成された場合は、適用する前にすべてのTerraformプランを確認してください。
- Terraform の状態にある機密情報は AI アシスタントにアクセスできる可能性があります
- Dockerを使用する場合は、機密データを公開する可能性のあるボリュームマウントには注意してください。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークする
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature
) - 変更をコミットします (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュする (
git push origin feature/amazing-feature
) - プルリクエストを開く
ロードマップ
tfmcp に計画されている改善点と将来の機能は次のとおりです。
完了
- [x]基本的なTerraform統合
操作を分析および実行するための Terraform CLI とのコア統合。 - [x] MCPサーバーの実装
AI アシスタント用のモデル コンテキスト プロトコル サーバーの初期実装。 - [x]自動プロジェクト作成
必要に応じてサンプル Terraform プロジェクトを自動的に作成する機能を追加しました。 - [x]クロードデスクトップ統合
Claude Desktop とのシームレスな統合をサポートします。 - [x]コアMCPメソッド
resources/list や prompts/list などの重要な MCP メソッドの実装。 - [x]エラー処理の改善
堅牢な操作のためのエラー処理および回復メカニズムの改善。 - [x]動的なプロジェクトディレクトリの切り替え
サービスを再起動せずにアクティブな Terraform プロジェクト ディレクトリを変更する機能を追加しました。 - [x] Crates.io 出版
Cargo 経由で簡単にインストールできるように、パッケージを Crates.io に公開しました。 - [x] Dockerサポート
より簡単な展開とクロスプラットフォームの互換性のためにコンテナ化のサポートを追加しました。
進行中
- [ ]強化されたTerraform分析
Terraform 構成、プラン、状態ファイルのより詳細な解析と分析を実装します。 - [ ]マルチ環境サポート
複数の Terraform 環境、ワークスペース、モジュールを管理するためのサポートを追加します。 - [ ]セキュリティ強化
より優れた認証および承認メカニズムを含むセキュリティ機能を改善します。 - [ ]拡張されたMCPプロトコルサポート
AI アシスタントとのより充実した統合のために、追加の MCP メソッドと機能を実装します。 - [ ]インタラクティブTUI
ローカルでの使用とデバッグを容易にするために、ターミナルベースのユーザー インターフェイスを開発します。 - [ ]コスト見積もり
クラウド プロバイダーの価格設定 API と統合して、Terraform プランのコスト見積もりを提供します。 - [ ]パフォーマンスの最適化
大規模な Terraform プロジェクトのリソース使用量と応答時間を最適化します。 - [ ]他のAIプラットフォームとの統合
Claude を超えて拡張し、他の AI アシスタントやプラットフォームをサポートします。 - [ ]包括的なテストフレームワーク
実際の Terraform 構成との統合テストを含むテスト範囲を拡張します。 - [ ]プラグインシステム
コア機能の拡張を可能にするプラグイン アーキテクチャを開発します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
🌍 Terraform Model Context Protocol (MCP) ツール - AIアシスタントがTerraform環境を管理・操作できるようにする実験的なCLIツールです。Terraform構成の読み取り、プランの分析、構成の適用、Claude Desktopとの統合による状態管理をサポートします。⚡️
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -484TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that integrates Claude with the Terraform Cloud API, allowing Claude to manage your Terraform infrastructure through natural conversation.Last updated -2511PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible AI assistants) to interact with your tasks and projects.Last updated -716315TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.Last updated -TypeScript