- Home
- MCP servers
- IaC Memory
IaC Memory
- 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.