Iac Memory MCP Server

Provides persistent memory storage for Infrastructure-as-Code (IaC) components, focusing on version tracking and relationship mapping.

Local serverstdioPython 5

What is the Iac Memory MCP server?

Provides persistent memory storage for Infrastructure-as-Code (IaC) components, focusing on version tracking and relationship mapping. Exposed over MCP by the iac memory mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

A Model Context Protocol (MCP) server that enhances Claude AI's capabilities by providing persistent memory storage for Infrastructure-as-Code (IaC) components, with a focus on version tracking and relationship mapping for Terraform and Ansible resources.

The IaC Memory MCP Server addresses the challenge of maintaining accurate, version-aware context for IaC components by providing:

Its toolset

Everything the assistant can do here goes through one of these:

  • get_terraform_provider_info — Retrieve detailed provider information including version and resources
  • list_provider_resources — List all resources available for a specific provider
  • get_terraform_resource_info — Get detailed information about a specific resource type
  • add_terraform_provider — Register new providers with versioning
  • add_terraform_resource — Add resource definitions with schemas
  • update_provider_version — Update 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 a collection
  • get_ansible_module_info — Get detailed information about a specific module
  • list_collection_modules — List all modules in a collection
  • get_module_version_compatibility — Check version compatibility of modules

Adding it to your client

Installation goes through your MCP client rather than a global install: point it at @modelcontextprotocol/inspector on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Configuration

You will need one environment variable: DATABASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

When to reach for it

Among the knowledge and memory options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Iac Memory's toolset — get_terraform_provider_info, list_provider_resources, get_terraform_resource_info and 11 more — is a fair guide to whether it matches your workflow. It is maintained by AgentWong; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Iac Memory's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Iac Memory.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the iac memory mcp server does with a few real requests.

Available tools

ToolWhat it does
get_terraform_provider_infoRetrieve detailed provider information including version and resources
list_provider_resourcesList all resources available for a specific provider
get_terraform_resource_infoGet detailed information about a specific resource type
add_terraform_providerRegister new providers with versioning
add_terraform_resourceAdd resource definitions with schemas
update_provider_versionUpdate provider versions with new documentation
get_ansible_collection_infoGet detailed information about an Ansible collection
list_ansible_collectionsList all available Ansible collections
get_collection_version_historyView version history of a collection
get_ansible_module_infoGet detailed information about a specific module
list_collection_modulesList all modules in a collection
get_module_version_compatibilityCheck version compatibility of modules
add_ansible_collectionRegister new Ansible collections
add_ansible_moduleAdd new modules with validation and documentation

How to install the Iac Memory MCP server

### Production Setup
```json
"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"
      }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
DATABASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Iac Memory to get terraform provider info.
  • Use Iac Memory to list provider resources.
  • Use Iac Memory to get terraform resource info.

Frequently asked questions

IaC Memory is a Model Context Protocol (MCP) server designed to provide persistent storage and version tracking for Infrastructure-as-Code (IaC) components. It focuses on mapping relationships between resources and managing version-specific documentation.