Skip to main content
Glama

tfmcp: Terraform モデルコンテキストプロトコルツール

⚠️ このプロジェクトは試験的なものです。機能は予告なく変更される場合があります。ご使用の際はご注意ください。⚠️

tfmcp は、Model Context Protocol (MCP) を介して Terraform とやり取りするためのコマンドラインツールです。LLM は、以下の Terraform 環境を管理および操作できます。

🎮 デモ

Claude Desktop で tfmcp の動作を確認してください。

Claude Desktop を使用した tfmcp デモ

  • Terraform 構成ファイルの読み取り

  • Terraform プランの出力を分析する

  • Terraform構成の適用

  • Terraformの状態の管理

  • Terraform 構成の作成と変更

Related MCP server: terraform-cloud-mcp

🎉 最新リリース

tfmcp の最初の安定版リリース (v0.1.1) が Crates.io で利用可能になりました。Cargo を使えば簡単にインストールできます。

cargo install tfmcp

特徴

  • 🚀 Terraform 統合
    Terraform CLI と緊密に統合して、操作を分析および実行します。

  • 📄 MCP サーバーの機能
    モデル コンテキスト プロトコル サーバーとして実行され、AI アシスタントが Terraform にアクセスして管理できるようになります。

  • ⚡️超高速
    Rust エコシステムを活用した高速処理。

  • 🛠️自動セットアップ
    必要に応じてサンプル Terraform プロジェクトを自動的に作成し、新しいユーザーでもスムーズに操作できるようにします。

  • 🐳 Docker サポート
    すべての依存関係が事前にインストールされたコンテナ化された環境で tfmcp を実行します。

インストール

ソースから

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

Crates.ioより

cargo install tfmcp

Dockerの使用

# Clone the repository git clone https://github.com/nwiizo/tfmcp cd tfmcp # Build the Docker image docker build -t tfmcp . # Run the container docker run -it tfmcp

要件

  • ラスト(2021年版)

  • Terraform CLI がインストールされ、PATH で利用可能

  • Claude Desktop(AIアシスタント統合用)

  • Docker (オプション、コンテナ化されたデプロイメント用)

使用法

$ 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

Dockerの使用

Docker を使用する場合、次のように tfmcp コマンドを実行できます。

# Run as MCP server (default) docker run -it tfmcp # Run with specific command and options docker run -it tfmcp analyze --dir /app/example # Mount your Terraform project directory docker run -it -v /path/to/your/terraform:/app/terraform tfmcp --dir /app/terraform # Set environment variables docker run -it -e TFMCP_LOG_LEVEL=debug tfmcp

Claude Desktopとの統合

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

  1. まだインストールしていない場合は、tfmcp をインストールします。

    cargo install tfmcp

    あるいは、Docker を使用することもできます。

    docker build -t 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 } } } }

Claude Desktop で Docker を使用している場合は、次のように構成を設定できます。

{ "mcpServers": { "tfmcp": { "command": "docker", "args": ["run", "--rm", "-v", "/path/to/your/terraform:/app/terraform", "tfmcp", "mcp"], "env": { "TERRAFORM_DIR": "/app/terraform" } } } }
  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 プロトコルのサポートには、リソース/リストとプロンプト/リスト メソッドが含まれます

  • Dockerの問題: Dockerを使用する場合は、コンテナに適切なボリュームマウントと権限があることを確認してください。

環境変数

  • 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 アシスタントにアクセスできる可能性があります

  • Dockerを使用する場合は、機密データを公開する可能性のあるボリュームマウントには注意してください。

貢献

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

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

  • [x] Dockerサポート
    より簡単な展開とクロスプラットフォームの互換性のためにコンテナ化のサポートを追加しました。

進行中

  • [ ]強化された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

Latest Blog Posts

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/nwiizo/tfmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server