IAC Memory MCP Server
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: Knowledge Graph Memory Server
コアコンポーネント
リソース管理
サーバーは、階層型 URI を使用した高度なリソース管理システムを実装します。
リソースURI構造
resources://<platform>/<category>/<name>サポートされているプラットフォーム:
テラフォーム
アンシブル
iac(一般インフラ事業体向け)
URIの例:
resources://terraform/providers/aws
resources://terraform/resources/aws/s3_bucket
resources://ansible/collections/community.aws
resources://ansible/modules/community.aws/s3_bucketリソーステンプレート
サーバーは、標準化されたアクセス パターン用の動的なリソース テンプレートを提供します。
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ファイルを作成します。
DATABASE_URL=sqlite:////path/to/db.sqlite
MCP_DEBUG=1
MCP_TEST_MODE=1Claude Desktopとの統合
開発セットアップ
"mcpServers": {
"iac-memory": {
"command": "uv",
"args": [
"--directory",
"/path/to/iac-memory-mcp-server",
"run",
"iac-memory-mcp-server"
]
"env": {
"DATABASE_URL": "sqlite:////home/herman/iac.db"
}
}
}生産体制
"mcpServers": {
"iac-memory": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AgentWong/iac-memory-mcp-server.git",
"python",
"-m",
"iac_memory_mcp_server"
],
"env": {
"DATABASE_URL": "sqlite:////home/herman/iac.db"
}
}
}発達
地域開発
# Install dependencies
uv sync
# Run tests
uv run pytest
# Development server with MCP Inspector
npx @modelcontextprotocol/inspector uv run iac-memory-mcp-serverライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/AgentWong/iac-memory-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server