IaC Memory MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables interaction with Ansible collections and modules, supporting operations like retrieving collection information, listing modules, checking version compatibility, and adding or updating collection and module definitions with schema validation.

  • Uses SQLite as the persistent storage backend for Infrastructure-as-Code components, allowing configuration through the DATABASE_URL environment variable.

  • Provides tools for managing Terraform providers and resources, including retrieving provider information, listing resources, checking version compatibility, and adding or updating provider and resource definitions with schema validation.

IaC メモリ MCP サーバー

Terraform および Ansible リソースのバージョン追跡と関係マッピングに重点を置き、Infrastructure-as-Code (IaC) コンポーネントに永続的なメモリ ストレージを提供することで、Claude AI の機能を強化する Model Context Protocol (MCP) サーバーです。

[!注記]
これは、AIを使用する人(私)が専門知識(Pythonの知識不足)を持たない場合のAIの能力状態を判断するための個人的なプロジェクトでした。コストがかかりすぎるため、このプロジェクトをこれ以上開発・維持するつもりはありません。

概要

IaC メモリ MCP サーバーは、次の機能を提供することで、IaC コンポーネントの正確でバージョン対応のコンテキストを維持するという課題に対処します。

  • IaC コンポーネントの永続ストレージとバージョン追跡
  • URIベースのアクセスによる階層的なリソース構成
  • コンポーネント間の包括的な関係マッピング
  • バージョン固有のドキュメント管理
  • スキーマ検証と時間メタデータ追跡
  • 自動化された関係分析と洞察

コアコンポーネント

リソース管理

サーバーは、階層型 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 : エンティティID
    • include_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=1

Claude 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 ファイルを参照してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Claude AI を Infrastructure-as-Code コンポーネント用の永続メモリ ストレージで強化し、Terraform および Ansible リソースのバージョン追跡と関係マッピングをサポートします。

  1. Overview
    1. Core Components
      1. Resource Management
      2. Prompts
      3. Tools
    2. Configuration
      1. Integration with Claude Desktop
        1. Development Setup
        2. Production Setup
      2. Development
        1. Local Development
      3. License
        ID: g4vkk4v3w5