home / mcp / iac memory mcp server

IaC Memory MCP Server

This is a personal project to see if Claude 3.5 Sonnet can write a moderately complex MCP Server in Python.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "agentwong-iac-memory-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/iac-memory-mcp-server",
        "run",
        "iac-memory-mcp-server"
      ],
      "env": {
        "DATABASE_URL": "sqlite:////home/herman/iac.db"
      }
    }
  }
}

IaC Memory MCP Server provides persistent memory storage with version-aware context for Infrastructure-as-Code components. It organizes IaC resources, tracks relationships, and enables quick discovery and analysis of Terraform and Ansible artifacts, helping you maintain accurate, up-to-date context for your infrastructure definitions.

How to use

You integrate the IaC Memory MCP Server with your MCP client to explore, analyze, and manage IaC components. Use the search features to discover resources, analyze entities to understand dependencies, and retrieve provider or module details for Terraform and Ansible. The server exposes hierarchical resource URIs, supports relationship mappings, and returns version-aware information to help you reason about changes over time.

Available tools

get_terraform_provider_info

Retrieve detailed provider information including version and resources for Terraform providers.

list_provider_resources

List all resources available for a specific Terraform provider.

get_terraform_resource_info

Get detailed information about a Terraform resource type.

add_terraform_provider

Register a new Terraform provider with versioning and documentation.

add_terraform_resource

Add resource definitions with schemas for Terraform resources.

update_provider_version

Update Terraform provider versions with updated documentation.

get_ansible_collection_info

Get detailed information about an Ansible collection.

list_ansible_collections

List all available Ansible collections.

get_collection_version_history

View version history for an Ansible collection.

get_ansible_module_info

Get detailed information about a specific Ansible module.

list_collection_modules

List all modules within an Ansible collection.

get_module_version_compatibility

Check version compatibility for Ansible modules.

add_ansible_collection

Register a new Ansible collection.

add_ansible_module

Add new Ansible modules with validation and documentation.

create_entity

Create a new infrastructure entity in memory with relationships.

update_entity

Modify an existing infrastructure entity and its relationships.

delete_entity

Remove an entity and clean up its relationships.

view_relationships

Analyze dependencies and relationships between entities.

search_resources

Search for IaC resources by provider and resource type.

analyze_entity

Analyze an entity and its relationships with observations.

terraform_provider

Get information about a Terraform provider, optionally by version.

ansible_module

Get information about a specific Ansible module in a collection, optionally by version.