mcpField
M
MCP Server: Terraform AWS Provider Docs

MCP Server: Terraform AWS Provider Docs

ローカル
github.com/Excoriateクラウド・インフラ178 週間前に更新

MCP Server: Terraform AWS Provider Docs について

DenoとTypeScriptで構築されたMCPサーバーで、Terraform AWS Providerのドキュメント、GitHubのIssueとリリース、AWSリソースの例を提供します。Terraformでインフラコードを書く開発者向けです。

主な機能

  1. 01リソースとデータソースのドキュメント一覧
  2. 02名前やあいまい検索によるドキュメント取得
  3. 03オープンIssueと詳細の検索
  4. 04リリース一覧と詳細の取得
  5. 05AWSリソースの例の参照

活用シーン

  1. 01Terraformモジュール作成時のAWSリソース調査
  2. 02Providerの動作に関する既知Issueの確認
  3. 03リリース変更と関連Issueの確認

MCP 対応

Terraform AWS Providerのドキュメント、GitHubのIssueとリリース、AWSの例を検索するツールとリソースをMCPクライアントに公開します。ツールの利用には環境変数でGitHub tokenを設定する必要があります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP サーバー:Terraform AWS Provider のドキュメント

Language License

Deno と TypeScript で構築された Model Context Protocol (MCP) サーバーです。 Terraform AWS Provider に関連する情報をコンテキストに応じて提供するように設計されています。

目次

概要

このサーバーは MCP サーバーとして機能し、AI エージェントやその他の MCP クライアントが、 Terraform AWS Provider に関する情報を照会できるツールとリソースを提供します。対象となる情報は次のとおりです。

  • ✅ リソースのドキュメント。
  • ✅ 一時的なリソース、ガイド、関数を含む、プロバイダーの設定。
  • ✅ GitHub の Issue(オープン、クローズ済み、すべて)
  • ✅ AWS リソースの例
Model Context Protocol (MCP) とは何ですか?また、どのように機能しますか?

Model Context Protocol(MCP)は、LLM アプリケーションと外部のデータソースおよびツールをシームレスに統合できるオープンプロトコルです。AI を活用した IDE の構築、チャットインターフェースの強化、カスタム AI ワークフローの作成など、MCP は LLM を必要なコンテキストに接続するための標準化された方法を提供します。

— Model Context Protocol の README


なぜ必要なのですか?

IaC を記述したり、 Terraform モジュールを設計したりする際には、 本番環境に対応できる、安定したインターフェースを備え、組み合わせて再利用可能なモジュールを設計するために、実際の AWS リソース、機能、性能について十分な知識と理解、コンテキストが必要になることがよくあります。

この MCP サーバーは、まさにその情報を、 Terraform AWS Provider のレジストリサイトから最新のドキュメント、Issue、例とともに提供するように設計されています。常に最新で、常に情報源から直接取得します。

ツール

重要

すべてのツールを使用するには、有効な GitHub トークンを環境変数として設定する必要があります。 GITHUB_TOKEN、GH_TOKEN、または GITHUB_PERSONAL_ACCESS_TOKEN を設定してください。

現在、次のツールを利用できます(今後追加予定です。お気軽に Issue または PRを送信してください):

ツール名目的入力出力ユースケース
list-resourcesメタデータ付きで AWS リソースのドキュメントファイルをすべて一覧表示しますなしid、subcategory、page_title、description、resource、resource_description、source、file_path を含むリソースオブジェクトの配列Terraform AWS Provider がサポートするすべての AWS リソースを見つけ、以降のクエリに使用するファイル名やパスを取得し、ダッシュボード、概要、分析を作成します。
get-resource-doc名前またはあいまい検索で、単一の AWS リソースのドキュメントファイルを取得しますaws_resource(文字列、任意):リソース名または説明
file_name(文字列、任意):正確なファイル名(優先されます)
要求されたリソースの解析・整形済みドキュメント。すべてのメタデータフィールドと Markdown 本文全体を含みます特定の AWS リソースの詳細なドキュメントを取得し、曖昧なクエリや自然言語のクエリを解決して、LLM やクライアントに構造化されたリソース情報を提供します。
list-datasourcesメタデータ付きで AWS データソースのドキュメントファイルをすべて一覧表示しますなしid、subcategory、page_title、description、datasource、datasource_description、source、file_path を含むデータソースオブジェクトの配列Terraform AWS Provider がサポートするすべての AWS データソースを見つけ、以降のクエリに使用するファイル名やパスを取得し、ダッシュボード、概要、分析を作成します。
get-datasource-doc名前またはあいまい検索で、単一の AWS データソースのドキュメントファイルを取得しますaws_datasource(文字列、任意):データソース名または説明
file_name(文字列、任意):正確なファイル名(優先されます)
要求されたデータソースの解析・整形済みドキュメント。すべてのメタデータフィールドと Markdown 本文全体を含みます特定の AWS データソースの詳細なドキュメントを取得し、曖昧なクエリや自然言語のクエリを解決して、LLM やクライアントに構造化されたデータソース情報を提供します。
get-open-issuesTerraform AWS Provider の GitHub リポジトリから未解決の issue を取得しますall(ブール値、任意):すべての issue、または最初の 30 件を取得しますID、タイトル、説明、source、state、user、labels、作成・更新日時、コメントを含む issue オブジェクトの配列現在の未解決 issue を分析、トリアージ、または報告します。ダッシュボードの作成、issue とドキュメントの関連付け、Terraform の動作が想定どおりか、既知の issue に関連するかどうかの把握に役立ちます。
get-issue特定の GitHub issue の詳細情報を取得しますissueNumber(数値、必須):正確な GitHub issue 番号本文、日時、ラベル、コメントを含む、すべてのメタデータを備えた詳細な issue オブジェクト特定の issue を詳しく調査します。通常は get-open-issues の後に使用して、関心のある単一の issue に関する包括的な情報を取得します。
list-all-releasesTerraform AWS Provider の GitHub リポジトリからすべてのリリースを取得しますなしID、タグ、名前、作成者、公開日、URL、アセット数、概要本文を含むリリースオブジェクトの配列利用可能なすべてのバージョン/リリースを一覧表示し、ダッシュボード、変更履歴、分析を作成して、プロバイダーのバージョンをドキュメント、issue、アップグレードガイドと関連付けます。
get-release-by-tagタグを指定して特定のリリースの詳細情報を取得しますtag(文字列、必須):リリースタグ(例:'v5.96.0')
include_issues(ブール値、任意):参照されている issue も取得します
メタデータをすべて含むリリースオブジェクト。include_issues が true の場合、リリースノートで参照されているすべての issue の詳細も含みます参照されている issue を含め、特定のバージョンを詳しく調査します。list-all-releases の後に使用するか、タグがわかっている場合は直接使用します。
get-latest-release最新リリースの詳細情報を取得しますinclude_issues(ブール値、任意):参照されている issue も取得しますメタデータをすべて含む最新リリースオブジェクト。include_issues が true の場合、リリースノートで参照されているすべての issue の詳細も含みます最新バージョンにすばやくアクセスし、新機能やバグ修正を確認できます。必要に応じて、参照されている issue も確認できます。

はじめに

Claude Desktop でのインストールと使用

この Deno ベースの MCP サーバーを Claude Desktop で使用するには、以下を claude_desktop_config.json に追加してください。

Deno を使用する場合
{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "main.ts"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

または、推奨される方法として、JSR から deno を直接使用します。

{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "jsr:@excoriate/[email protected]"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
Docker を使用する場合
{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "GITHUB_TOKEN=<YOUR_TOKEN>",
        "mcp-terraform-aws-provider-docs"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
IDE/エディターへのインストール
Cursor へのインストール

次の場所に移動します:Settings -> Cursor Settings -> MCP -> Add new global MCP server

以下の設定を Cursor の ~/.cursor/mcp.json ファイルに貼り付ける方法を おすすめします。詳しくは Cursor MCP のドキュメントを参照してください。

{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": ["-A", "jsr:@excoriate/mcp-terraform-aws-provider-docs@latest"]
    }
  }
}
Windsurf へのインストール

これを Windsurf の MCP 設定ファイルに追加してください。詳しくは Windsurf MCP のドキュメントを参照してください。

{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": ["-A", "jsr:@excoriate/mcp-terraform-aws-provider-docs@latest"]
    }
  }
}
VSCode へのインストール

これを VSCode の MCP 設定ファイルに追加してください。詳しくは VSCode MCP のドキュメント を参照してください。

{
  "servers": {
    "Context7": {
      "type": "stdio",
      "command": "deno",
      "args": ["-A", "jsr:@excoriate/mcp-terraform-aws-provider-docs@latest"]
    }
  }
}

開発と貢献

このプロジェクトのデバッグ、テスト、貢献について詳しくは、 DEVELOPER_GUIDE と CONTRIBUTING を参照してください。

JSR から直接実行する

MCP サーバーを JSR(JavaScript Registry ❤️)から直接使用できます。

# export your github token
export GITHUB_TOKEN=ghp_xxx...

# run it
deno run -A jsr:@excoriate/mcp-terraform-aws-provider-docs@latest
デバッグとトラブルシューティング

デバッグする場合は、組み込みのデバッガー (インスペクター)を使用してください。 役立つ justfile レシピが用意されています。

# start the mcp server, and the inspector
just inspect
Docker の使用

Docker イメージをビルドする

docker build -t mcp-terraform-aws-provider-docs .

Docker で MCP サーバーを実行する

docker run -it --rm \
  -e GITHUB_TOKEN=ghp_xxx... \
  mcp-terraform-aws-provider-docs

ヒント

ghp_xxx... を、適切な権限を持つ GitHub Personal Access Token に置き換えてください。

環境変数名として GH_TOKEN または GITHUB_PERSONAL_ACCESS_TOKEN も使用できます。

ローカルの .env ファイルを使用する場合は、 --env-file .env を指定して渡せます。

ロードマップ

  • プロバイダーの設定を取得するツールを追加する。
  • 専用のバックエンドと統合し、インデックスを作成して、高度な検索/コードアシスタント向けドキュメントを提供し、GitHub API のレート制限を回避する。

貢献

セットアップ、コードスタイル、PR のプロセス、コードベースの構成に関する参考情報など、詳細な貢献ガイドラインについては、CONTRIBUTING.md を参照してください。

セキュリティ

脆弱性の報告方法や責任ある開示のガイドラインなど、このプロジェクトのセキュリティポリシーについては、SECURITY.md を参照してください。

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。