Provides persistent memory storage for Infrastructure-as-Code (IaC) components, focusing on version tracking and relationship mapping.
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.
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:
Everything the assistant can do here goes through one of these:
get_terraform_provider_info — Retrieve detailed provider information including version and resourceslist_provider_resources — List all resources available for a specific providerget_terraform_resource_info — Get detailed information about a specific resource typeadd_terraform_provider — Register new providers with versioningadd_terraform_resource — Add resource definitions with schemasupdate_provider_version — Update provider versions with new documentationget_ansible_collection_info — Get detailed information about an Ansible collectionlist_ansible_collections — List all available Ansible collectionsget_collection_version_history — View version history of a collectionget_ansible_module_info — Get detailed information about a specific modulelist_collection_modules — List all modules in a collectionget_module_version_compatibility — Check version compatibility of modulesInstallation 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.
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.
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.
| Tool | What it does |
|---|---|
| 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 |
| add_ansible_collection | Register new Ansible collections |
| add_ansible_module | Add new modules with validation and documentation |
### 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.
| Variable | Description | Required |
|---|---|---|
| DATABASE_URL | Endpoint or connection string the server talks to. | Yes |
A knowledge graph your assistant keeps between sessions — entities, relations and observations that persist.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
A structured scratchpad for hard problems — stepwise reasoning with revisions, branches and visible logic.
Symbol-level code navigation, refactoring and memory for coding agents — the IDE brain your assistant has been missing.
Chat with your second brain — search, read and write vault notes through the Local REST API.