IaC Memory

Provides persistent IaC context with versioning, hierarchy, and relationship mapping for Terraform and Ansible resources.
  • other

0

GitHub Stars

other

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "mcp-mirror-agentwong_iac-memory-mcp-server-project": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/iac-memory-mcp-server",
        "run",
        "iac-memory-mcp-server"
      ],
      "env": {
        "MCP_DEBUG": "1",
        "DATABASE_URL": "sqlite:////home/you/iac.db",
        "MCP_TEST_MODE": "1"
      }
    }
  }
}

This MCP server provides persistent memory storage for IaC components, enabling version-aware context, hierarchical resource access, and relationship mapping for Terraform and Ansible resources. It helps you manage infrastructure artifacts over time, track how resources evolve, and reason about connections between components.

How to use

You interact with the IaC Memory MCP Server through an MCP client by running the server locally or connecting to a remote MCP host, then choosing an appropriate runtime path (stdio) to start the server and load your IaC data. Use the provided tools to search, analyze, and manage resources, providers, collections, and modules. You can create entities to represent infrastructure components, examine their relationships, and update or remove entities as your infrastructure evolves.

How to install

Prerequisites: ensure you have a supported runtime environment and the ability to run MCP stdio servers. You will use two standard runtime configurations shown below to run the IaC Memory MCP Server in development or production modes.

// Development setup and run command inside your client configuration
"mcpServers": {
  "iac_memory": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/iac-memory-mcp-server",
      "run",
      "iac-memory-mcp-server"
    ],
    "env": {
      "DATABASE_URL": "sqlite:////home/you/iac.db"
    }
  }
}
// Production setup and run command inside your client configuration
"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/you/iac.db"
    }
  }
}

Configuration and environment

Set up the required environment variables to point the MCP server to its data store and enable debugging or test modes as needed. The standard variables you will encounter are DATABASE_URL, MCP_DEBUG, and MCP_TEST_MODE.

DATABASE_URL=sqlite:////path/to/db.sqlite
MCP_DEBUG=1
MCP_TEST_MODE=1

Available prompts and endpoints

The server exposes prompts to discover, analyze, and describe IaC components and their relationships. Use these to locate resources, analyze entities, and retrieve detailed provider or module information.

Tools and capabilities

You can access a comprehensive set of tooling for IaC component management, including retrieving provider information, listing resources, validating schemas, and managing Ansible collections and modules. The key tool functions include getting Terraform provider details, listing provider resources, inspecting Terraform resources, adding providers and resources, updating provider versions, retrieving Ansible collection and module information, listing collections and modules, checking compatibility, and managing entities.

Local development and testing commands

Develop and test the server locally by installing dependencies, running tests, and launching with an inspector when needed.

Troubleshooting and notes

If you encounter issues starting the server, verify that the environment variables are set correctly, the database path is accessible, and the runtime commands are executed from a compatible environment. Ensure the path provided to the server directory exists and that any required Python or Node dependencies are installed according to the deployment setup.

Security considerations

Limit access to the MCP server endpoints and protect the data store with appropriate access controls. Use environment-based configuration to separate development and production settings, and rotate credentials for any external integrations.

Examples of usage patterns

  • Start the server in development mode with a local SQLite database and inspect the memory of IaC components created during a Terraform or Ansible workflow.
  • Use the search and analyze prompts to discover resources, understand their relationships, and validate that versioned documentation aligns with the current state of your infrastructure.

About this server

The IaC Memory MCP Server provides persistent storage and version-aware context for Infrastructure-as-Code components, with hierarchical URIs and deep relationship analysis to help you manage evolving infrastructure more effectively.

Available tools

get_terraform_provider_info

Retrieve detailed provider information including version and resources.

list_provider_resources

List all resources available for a specific Terraform provider.

get_terraform_resource_info

Get detailed information about a specific Terraform resource type.

add_terraform_provider

Register new Terraform providers with versioning support.

add_terraform_resource

Add Terraform resource definitions with schemas.

update_provider_version

Update Terraform provider versions with new 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 of an Ansible collection.

get_ansible_module_info

Get detailed information about a specific Ansible module.

list_collection_modules

List all modules in an Ansible collection.

get_module_version_compatibility

Check version compatibility of Ansible modules.

add_ansible_collection

Register new Ansible collections.

add_ansible_module

Add new Ansible modules with validation and documentation.

create_entity

Create new infrastructure entities.

update_entity

Modify existing entity configurations.

delete_entity

Remove entities with relationship cleanup.

view_relationships

Analyze entity dependencies and relationships.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational