IaC メモリ MCP サーバー
Terraform および Ansible リソースのバージョン追跡と関係マッピングに重点を置き、Infrastructure-as-Code (IaC) コンポーネントに永続的なメモリ ストレージを提供することで、Claude AI の機能を強化する Model Context Protocol (MCP) サーバーです。
[!注記]
これは、AIを使用する人(私)が専門知識(Pythonの知識不足)を持たない場合のAIの能力状態を判断するための個人的なプロジェクトでした。コストがかかりすぎるため、このプロジェクトをこれ以上開発・維持するつもりはありません。
概要
IaC メモリ MCP サーバーは、次の機能を提供することで、IaC コンポーネントの正確でバージョン対応のコンテキストを維持するという課題に対処します。
IaC コンポーネントの永続ストレージとバージョン追跡
URIベースのアクセスによる階層的なリソース構成
コンポーネント間の包括的な関係マッピング
バージョン固有のドキュメント管理
スキーマ検証と時間メタデータ追跡
自動化された関係分析と洞察
Related MCP server: Memory Bank MCP Server
コアコンポーネント
リソース管理
サーバーは、階層型 URI を使用した高度なリソース管理システムを実装します。
リソースURI構造
サポートされているプラットフォーム:
テラフォーム
アンシブル
iac(一般インフラ事業体向け)
URIの例:
リソーステンプレート
サーバーは、標準化されたアクセス パターン用の動的なリソース テンプレートを提供します。
Terraform プロバイダー情報:
resources://terraform/providers/{provider_name}リソースタイプの詳細:
resources://terraform/resources/{provider_name}/{resource_type}Ansible コレクションデータ:
resources://ansible/collections/{collection_name}モジュール情報:
resources://ansible/modules/{collection_name}/{module_name}
プロンプト
サーバーは、IaC コンポーネントの検出と分析のために 4 つの特殊なプロンプトを実装します。
検索リソース
目的: IaC リソースの検索
引数:
provider: プロバイダー名resource_type: リソースタイプ
戻り値: 指定されたプロバイダの特定のリソースに関する情報
エンティティを分析する
目的: 実体とその関係を分析する
引数:
entity_id: エンティティIDinclude_relationships: 関係を含める
戻り値: 名前、タイプ、観察結果を含む詳細なエンティティ分析
terraform_provider
目的: Terraformプロバイダーに関する情報を取得する
引数:
provider_name: Terraformプロバイダーの名前(必須)version: 照会する特定のバージョン(オプション)
戻り値: 指定されたバージョンの詳細なプロバイダ情報
ansible_モジュール
目的: Ansibleモジュールに関する情報を取得する
引数:
collection_name: Ansibleコレクションの名前(必須)module_name: モジュールの名前(必須)version: 照会する特定のバージョン(オプション)
戻り値: 指定されたバージョンの詳細なモジュール情報
ツール
サーバーは、IaC コンポーネント管理用の包括的なツールを実装します。
Terraformツール
get_terraform_provider_info: バージョンやリソースを含む詳細なプロバイダー情報を取得しますlist_provider_resources: 特定のプロバイダーで利用可能なすべてのリソースを一覧表示するget_terraform_resource_info: 特定のリソースタイプに関する詳細情報を取得するadd_terraform_provider: バージョン管理された新しいプロバイダーを登録するadd_terraform_resource: スキーマ付きのリソース定義を追加するupdate_provider_version: 新しいドキュメントでプロバイダーのバージョンを更新します
Ansibleツール
get_ansible_collection_info: Ansibleコレクションの詳細情報を取得するlist_ansible_collections: 利用可能なすべてのAnsibleコレクションを一覧表示しますget_collection_version_history: コレクションのバージョン履歴を表示するget_ansible_module_info: 特定のモジュールに関する詳細情報を取得するlist_collection_modules: コレクション内のすべてのモジュールを一覧表示するget_module_version_compatibility: モジュールのバージョン互換性を確認するadd_ansible_collection: 新しいAnsibleコレクションを登録するadd_ansible_module: 検証とドキュメントを備えた新しいモジュールを追加する
エンティティ操作
create_entity: 新しいインフラストラクチャエンティティを作成するupdate_entity: 既存のエンティティ構成を変更するdelete_entity: リレーションシップをクリーンアップしてエンティティを削除するview_relationships: エンティティの依存関係と関係を分析する
構成
サーバーは環境変数による構成をサポートしています:
DATABASE_URL: SQLiteデータベースの場所MCP_DEBUG: 設定するとデバッグログを有効にするMCP_TEST_MODE: データベースリセットのテストモードを有効にする
開発用に、 .envファイルを作成します。
Claude Desktopとの統合
開発セットアップ
生産体制
発達
地域開発
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。