tfmcp

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows AI assistants to manage and operate Terraform environments, including reading configuration files, analyzing plan outputs, applying configurations, managing state, and creating/modifying configurations

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 を使えば簡単にインストールできます。

cargo install tfmcp

特徴

  • 🚀 Terraform 統合
    Terraform CLI と緊密に統合して、操作を分析および実行します。
  • 📄 MCP サーバーの機能
    モデル コンテキスト プロトコル サーバーとして実行され、AI アシスタントが Terraform にアクセスして管理できるようになります。
  • ⚡️超高速
    Rust エコシステムを活用した高速処理。
  • 🛠️自動セットアップ
    必要に応じてサンプル Terraform プロジェクトを自動的に作成し、新しいユーザーでもスムーズに操作できるようにします。

インストール

ソースから

# Clone the repository git clone https://github.com/nwiizo/tfmcp cd tfmcp # Build and install cargo install --path .

Crates.ioより

cargo install tfmcp

要件

  • ラスト(2021年版)
  • Terraform CLI がインストールされ、PATH で利用可能
  • Claude Desktop(AIアシスタント統合用)

使用法

$ tfmcp --help ✨ A CLI tool to manage Terraform configurations and operate Terraform through the Model Context Protocol (MCP). Usage: tfmcp [OPTIONS] [COMMAND] Commands: mcp Launch tfmcp as an MCP server analyze Analyze Terraform configurations help Print this message or the help of the given subcommand(s) Options: -c, --config <PATH> Path to the configuration file -d, --dir <PATH> Terraform project directory -V, --version Print version -h, --help Print help

Claude Desktopとの統合

Claude Desktop で tfmcp を使用するには:

  1. まだインストールしていない場合は、tfmcp をインストールします。
    cargo install tfmcp
  2. インストールされた tfmcp 実行可能ファイルへのパスを見つけます。
    which tfmcp
  3. ~/Library/Application\ Support/Claude/claude_desktop_config.jsonに次の設定を追加します。
{ "mcpServers": { "tfmcp": { "command": "/path/to/your/tfmcp", // Replace with the actual path from step 2 "args": ["mcp"], "env": { "HOME": "/Users/yourusername", // Replace with your username "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", "TERRAFORM_DIR": "/path/to/your/terraform/project" // Optional: specify your Terraform project } } } }
  1. Claude Desktop を再起動し、tfmcp ツールを有効にします。
  2. tfmcp は、サンプルの Terraform プロジェクトが存在しない場合に~/terraformに自動的に作成します。これにより、Claude はすぐに Terraform を使い始めることができます。サンプルプロジェクトは、このリポジトリのexample/demoディレクトリに含まれるサンプルに基づいています。

ログとトラブルシューティング

tfmcp サーバー ログは次の場所にあります。

~/Library/Logs/Claude/mcp-server-tfmcp.log

よくある問題と解決策:

  • クロードはサーバーに接続できません: tfmcp 実行ファイルへのパスが設定で正しいことを確認してください
  • Terraform プロジェクトの問題: tfmcp は、サンプルの Terraform プロジェクトが見つからない場合は自動的に作成します。
  • メソッドが見つからないエラー: MCP プロトコルのサポートには、リソース/リストとプロンプト/リスト メソッドが含まれます

環境変数

  • TERRAFORM_DIR : カスタム Terraform プロジェクトディレクトリを指定するには、これを設定してください。設定されていない場合、tfmcp はコマンドライン引数、設定ファイル、または~/terraformで指定されたディレクトリを使用します。また、 set_terraform_directoryツールを使用して、実行時にプロジェクトディレクトリを変更することもできます。
  • TFMCP_LOG_LEVEL : ログの詳細度を制御するには、 debuginfowarn 、またはerrorに設定します。
  • TFMCP_DEMO_MODE : 追加の安全機能を備えたデモ モードを有効にするには、 trueに設定します。

セキュリティに関する考慮事項

tfmcp を使用する場合は、次のセキュリティ上の考慮事項に注意してください。

  • tfmcpは、ユーザーに代わってTerraformコマンドを実行し、インフラストラクチャを作成、変更、または破棄します。
  • 本番環境では、適切なIAM権限とロール境界の使用を検討してください。
  • 特にAIによって生成された場合は、適用する前にすべてのTerraformプランを確認してください。
  • Terraform の状態にある機密情報は AI アシスタントにアクセスできる可能性があります

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ロードマップ

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 に公開しました。

進行中

  • [ ]強化されたTerraform分析
    Terraform 構成、プラン、状態ファイルのより詳細な解析と分析を実装します。
  • [ ]マルチ環境サポート
    複数の Terraform 環境、ワークスペース、モジュールを管理するためのサポートを追加します。
  • [ ]セキュリティ強化
    より優れた認証および承認メカニズムを含むセキュリティ機能を改善します。
  • [ ]拡張されたMCPプロトコルサポート
    AI アシスタントとのより充実した統合のために、追加の MCP メソッドと機能を実装します。
  • [ ]インタラクティブTUI
    ローカルでの使用とデバッグを容易にするために、ターミナルベースのユーザー インターフェイスを開発します。
  • [ ]コスト見積もり
    クラウド プロバイダーの価格設定 API と統合して、Terraform プランのコスト見積もりを提供します。
  • [ ]パフォーマンスの最適化
    大規模な Terraform プロジェクトのリソース使用量と応答時間を最適化します。
  • [ ]他のAIプラットフォームとの統合
    Claude を超えて拡張し、他の AI アシスタントやプラットフォームをサポートします。
  • [ ]包括的なテストフレームワーク
    実際の Terraform 構成との統合テストを含むテスト範囲を拡張します。
  • [ ]プラグインシステム
    コア機能の拡張を可能にするプラグイン アーキテクチャを開発します。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

🌍 Terraform Model Context Protocol (MCP) ツール - AIアシスタントがTerraform環境を管理・操作できるようにする実験的なCLIツールです。Terraform構成の読み取り、プランの分析、構成の適用、Claude Desktopとの統合による状態管理をサポートします。⚡️

  1. 🎮 Demo
    1. 🎉 Latest Release
      1. Features
        1. Installation
          1. From Source
          2. From Crates.io
        2. Requirements
          1. Usage
            1. Integrating with Claude Desktop
          2. Logs and Troubleshooting
            1. Environment Variables
              1. Security Considerations
                1. Contributing
                  1. Roadmap
                    1. Completed
                    2. In Progress
                  2. License
                    ID: egi85wpgv5