Terraform MCP Server が HCP Terraform と連携できるようになりました

ACS 事業部の安藤です。
Hashicorp 公式のイベント Hashiconf 2025 が昨日未明頃からサンフランシスコで開催されていますが、
既にサービスの新機能やインテグレーションがいくつか発表されています。

https://www.hashicorp.com/en/blog/scale-infrastructure-with-new-terraform-and-packer-features-at-hashiconf-2025

その中で私が注目したのが、 Terraform MCP Server の新機能です。

Terraform MCP Server は、Terraformの公式ドキュメントである Terraform Registryで公開されている Provider や Module する機能を持っていましたが、
この度、各社各人が利用している HCP Terraform や Terraform Enterprise と連携できるようになりました!

早速使ってみたいと思います。

Terraform MCP Server の GitHub Repository を覗いてみると、昨日 (2025/9/25) v0.3.0 がリリースされており、
そちらにも Adding tools for working with workspaces in HCP Terraform and TFE. との記述がありました。

github.com

README にも v0.3.0 からの HCP Terraform / Enterprise の認証方法が紹介されています。

.vscode/mcp.json に以下のような記述をすれば良さそうです。

(多分すぐに修正されると思いますが)、こちらには若干罠がありまして、
README だと環境変数の指定が抜けているので、そちらを追加してあげないと認証が成功しませんでした。

{
  "servers": {
    "terraform": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "TFE_TOKEN=${input:tfe_token}",
        "-e", "TFE_ADDRESS=${input:tfe_hostname}",
        "hashicorp/terraform-mcp-server:0.3.0"
      ]
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "tfe_token",
      "description": "Terraform API Token",
      "password": true
    },
    {
      "type": "promptString",
      "id": "tfe_hostname",
      "description": "Terraform hostname",
      "password": false
    }
  ]
}

こちらのMCPサーバーを起動しようとするとインプットするパラメータを求められるので、
tfe_hostname にはHCP Terraform なら https://app.terraform.io/ を、Terraform Enterprise ならそれぞれのURLを入力します。
tfe_token には HCP Terraform / Enterprise で取得した API Token を入力してあげてください。

API Token にはUser / Teamなどいくつか種類があり、私はUser Tokenでしか試してないですが、おそらく十分な権限があればどれでもOKかと思います。
ちなみに User Token は Account Settings から発行することができます。

インプットが完了して MCP Serverが起動して以下のようなログが出ていれば、無事認証に成功です!

2025-09-26 13:48:49.276 [info] Starting server from Remote extension host
2025-09-26 13:48:49.292 [info] 接続状態: 開始しています
2025-09-26 13:48:49.293 [info] 接続状態: 実行中
2025-09-26 13:48:49.741 [warning] [server stderr] Terraform MCP Server running on stdio
2025-09-26 13:48:49.741 [warning] [server stderr] time="2025-09-26T04:48:49Z" level=info msg="[DEBUG] GET https://app.terraform.io/api/v2/ping"
2025-09-26 13:48:50.475 [warning] [server stderr] time="2025-09-26T04:48:50Z" level=info msg="Created TFE client" session_id=stdio
2025-09-26 13:48:50.475 [warning] [server stderr] time="2025-09-26T04:48:50Z" level=info msg="Created HTTP client" session_id=stdio
2025-09-26 13:48:50.475 [warning] [server stderr] time="2025-09-26T04:48:50Z" level=info msg="Session registered with TFE client"
2025-09-26 13:48:50.475 [warning] [server stderr] time="2025-09-26T04:48:50Z" level=info msg="Registering TFE tools - first session with valid TFE client detected"
2025-09-26 13:48:50.477 [warning] [server stderr] time="2025-09-26T04:48:50Z" level=info msg="Session has valid TFE client - registered with tool registry"
2025-09-26 13:48:50.490 [info] Discovered 32 tools

MCP Server でどんなことができるかは、README にもリンクがありますが、こちらのドキュメントに記載されています。

developer.hashicorp.com

以前のバージョンではツールは6個か8個ぐらいだったと思いますが、ログにあるように32に爆増しています!
それがこちらの Terraform Cloud/Enterprise tools ですね!(写真1枚では収まらない!)


ドキュメントを読み込むのは一旦後に回して、早速使ってみましょう。

HCP Terraform のワークスペースの一覧の取得

まずは手始めに、ワークスペースの一覧を取得してみます。

ちゃんとワークスペースを取得できていますね!
なお、User Token だと複数の Organization を見れるケースもあるためか、Organization をプロンプトか事前に指定する必要がありました。

HCP Terraform のモジュールの一覧の取得・コード生成

キャプチャは割愛しますが、モジュール一覧なども取得することができましたし、
モジュールを使ったコードを生成させることもできました。

HCP Terraform のワークスペースで Plan / Apply を実行

最後に個人的にはとても面白いと思った、Plan / Apply を実行してみます。まずは Plan から

従来通りの Plan 同様に相応の時間はかかりますが、プロンプトから Plan の実行ができました。

肝心の実行結果が少なかったので詳細を聞いてみると、

リソース追加や変更などがサマリされて表示されてますね。

現在のツールではPlanログの詳細は直接取得できないようですが、HCP TerraformのWeb UIでPlan結果を確認することをお勧めします。

と記述されるように、Plan ログの詳細はまだ直接取得できないようなので今後に期待ですが、
見切れてますがさらに下のほうに Runs の URL リンクは表示されていたので、現時点では直接Webで見るのがよさそうです。

さらに、次のアクションとして Apply を実行されるか確認されて、問題なければそのまま実行できちゃいます!
(変更差分がなかったので表示としては物足りないかもしれません…すみません!)

Terraform MCP Server は個人的には若干物足りなさを感じていたのですが、 HCP Terraform と連携することでかなりできることが増えましたね!

特に Plan / Apply といった実行回りにも手が届くようになったことが大きいのではないかと思います。
実際に実行させたいかというと、GitHub 等の VCS 連携させて Pull Request ベースで Plan / Apply しているのであれば MCP から実行する必要性自体は薄そうですが、
実行結果やログをしっかりと取得・解析できるようになれば、Copilot と連携してエラーの原因調査やコードをどう修正すればよいかの提案などもさせられるのではないかと期待しています。
(ちなみに適当に失敗している Runs の調査をさせてみたのですが、ログの詳細を取得できないためか、正直まだまだという感じでした)

また、Terraform MCP Server 以外にも様々なアップデートがこれからも出てくると思うので、しっかりキャッチアップしたいと思います!

ACS 事業部のご紹介

私達 ACS 事業部はクラウドネイティブ技術、Azure AI サービス、Platform Engineering などを活用し、攻めの DX 成功に向けた開発者体験の向上・内製化のご支援をしております。

www.ap-com.co.jp
www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp




Source link

関連記事

コメント

この記事へのコメントはありません。