Skip to main content
Glama

IAC Memory MCP Server

by AgentWong

Servidor MCP de memoria IaC

Un servidor de Protocolo de Contexto de Modelo (MCP) que mejora las capacidades de Claude AI al proporcionar almacenamiento de memoria persistente para componentes de Infraestructura como Código (IaC), con un enfoque en el seguimiento de versiones y el mapeo de relaciones para los recursos de Terraform y Ansible.

[!NOTA]
Este fue un proyecto personal para determinar el estado de la capacidad de la IA si quien la usa (yo) no tiene experiencia en la materia (falta de conocimientos de Python). Dado que su costo se ha vuelto prohibitivo, no tengo intención de seguir desarrollando ni manteniendo este proyecto.

Descripción general

El servidor MCP de memoria IaC aborda el desafío de mantener un contexto preciso y con reconocimiento de versiones para los componentes IaC al proporcionar:

  • Almacenamiento persistente y seguimiento de versiones para componentes IaC
  • Organización jerárquica de recursos con acceso basado en URI
  • Mapeo completo de relaciones entre componentes
  • Gestión de documentación específica de cada versión
  • Validación de esquemas y seguimiento de metadatos temporales
  • Análisis y perspectivas automatizadas de relaciones

Componentes principales

Gestión de recursos

El servidor implementa un sofisticado sistema de gestión de recursos con URI jerárquicos:

Estructura de URI de recursos
resources://<platform>/<category>/<name>

Plataformas compatibles:

  • terraformar
  • ansible
  • iac (para entidades de infraestructura general)

Ejemplos de URI:

resources://terraform/providers/aws resources://terraform/resources/aws/s3_bucket resources://ansible/collections/community.aws resources://ansible/modules/community.aws/s3_bucket
Plantillas de recursos

El servidor proporciona plantillas de recursos dinámicos para patrones de acceso estandarizados:

  • Información del proveedor de Terraform: resources://terraform/providers/{provider_name}
  • Detalles del tipo de recurso: resources://terraform/resources/{provider_name}/{resource_type}
  • Datos de recopilación de Ansible: resources://ansible/collections/{collection_name}
  • Información del módulo: resources://ansible/modules/{collection_name}/{module_name}

Indicaciones

El servidor implementa cuatro indicaciones especializadas para el descubrimiento y análisis de componentes IaC:

recursos de búsqueda
  • Propósito: Buscar recursos de IaC
  • Argumentos:
    • provider : Nombre del proveedor
    • resource_type : Tipo de recurso
  • Devoluciones: Información sobre recursos específicos para el proveedor dado
analizar_entidad
  • Propósito: Analizar una entidad y sus relaciones.
  • Argumentos:
    • entity_id : ID de entidad
    • include_relationships : Incluir relaciones
  • Devoluciones: Análisis detallado de la entidad, incluyendo nombre, tipo y observaciones.
proveedor de terraform
  • Propósito: Obtener información sobre un proveedor de Terraform
  • Argumentos:
    • provider_name : Nombre del proveedor de Terraform (obligatorio)
    • version : Versión específica a consultar (opcional)
  • Devuelve: Información detallada del proveedor para la versión especificada
módulo ansible
  • Propósito: Obtener información sobre un módulo de Ansible
  • Argumentos:
    • collection_name : Nombre de la colección de Ansible (obligatorio)
    • module_name : Nombre del módulo (obligatorio)
    • version : Versión específica a consultar (opcional)
  • Devuelve: Información detallada del módulo para la versión especificada

Herramientas

El servidor implementa herramientas integrales para la gestión de componentes IaC:

Herramientas de Terraform
  • get_terraform_provider_info : recupera información detallada del proveedor, incluyendo la versión y los recursos
  • list_provider_resources : enumera todos los recursos disponibles para un proveedor específico
  • get_terraform_resource_info : Obtenga información detallada sobre un tipo de recurso específico
  • add_terraform_provider : Registrar nuevos proveedores con control de versiones
  • add_terraform_resource : Agregar definiciones de recursos con esquemas
  • update_provider_version : Actualizar las versiones del proveedor con nueva documentación
Herramientas de Ansible
  • get_ansible_collection_info : Obtenga información detallada sobre una colección de Ansible
  • list_ansible_collections : enumera todas las colecciones de Ansible disponibles
  • get_collection_version_history : Ver el historial de versiones de una colección
  • get_ansible_module_info : Obtener información detallada sobre un módulo específico
  • list_collection_modules : enumera todos los módulos de una colección
  • get_module_version_compatibility : Verifica la compatibilidad de versiones de los módulos
  • add_ansible_collection : Registrar nuevas colecciones de Ansible
  • add_ansible_module : Agregar nuevos módulos con validación y documentación
Operaciones de la entidad
  • create_entity : Crea nuevas entidades de infraestructura
  • update_entity : Modificar configuraciones de entidades existentes
  • delete_entity : Eliminar entidades con limpieza de relaciones
  • view_relationships : Analizar dependencias y relaciones entre entidades

Configuración

El servidor admite la configuración a través de variables de entorno:

  • DATABASE_URL : Ubicación de la base de datos SQLite
  • MCP_DEBUG : Habilitar el registro de depuración cuando está configurado
  • MCP_TEST_MODE : Habilitar el modo de prueba para restablecimientos de bases de datos

Para el desarrollo, cree un archivo .env :

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

Integración con Claude Desktop

Configuración de desarrollo

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

Configuración de producción

"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" } } }

Desarrollo

Desarrollo local

# Install dependencies uv sync # Run tests uv run pytest # Development server with MCP Inspector npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP de memoria personalizado que actúa como caché para la información de infraestructura como código, lo que permite a los usuarios almacenar, resumir y administrar notas con un esquema de URI personalizado y un manejo simple de recursos.

  1. Descripción general
    1. Componentes principales
      1. Gestión de recursos
      2. Indicaciones
      3. Herramientas
    2. Configuración
      1. Integración con Claude Desktop
        1. Configuración de desarrollo
        2. Configuración de producción
      2. Desarrollo
        1. Desarrollo local
      3. Licencia

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
          Last updated -
          3
          4
          JavaScript
          MIT License
        • -
          security
          F
          license
          -
          quality
          A simple note-taking MCP server that allows storing and summarizing notes with custom URI schemes and provides functionality to add notes and generate summaries with different detail levels.
          Last updated -
          5
          Python
          • Apple
        • -
          security
          F
          license
          -
          quality
          An MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.
          Last updated -
          1
          Python
        • -
          security
          F
          license
          -
          quality
          An MCP server that allows Claude and other LLMs to manage persistent memories across conversations through text file storage, enabling commands to add, search, delete and list memory entries.
          Last updated -
          2
          TypeScript

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgentWong/iac-memory-mcp-server'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server