IaC Memory MCP Server

IaC Memory MCP Server

site icon
2025.01.31 1
Python基础设施管理版本控制AI增强开发效率
IaC Memory MCP Server 是一个增强 Claude AI 能力的模型上下文协议(MCP)服务器,专注于为基础设施即代码(IaC)组件提供持久化存储,特别针对 Terraform 和 Ansible 资源的版本跟踪和关系映射。
View on GitHub

Overview

基本能力

产品定位

IaC Memory MCP Server 旨在解决 IaC 组件准确、版本感知的上下文维护问题,通过提供持久化存储和版本跟踪来增强 AI 对基础设施代码的理解和管理能力。

核心功能

  • 持久化存储和版本跟踪:为 IaC 组件提供版本化管理
  • 层次化资源组织:基于 URI 的资源访问系统
  • 全面的关系映射:组件间的依赖和关系分析
  • 版本特定文档管理:跟踪不同版本的文档变更
  • 模式验证和时间元数据跟踪:确保资源定义的准确性
  • 自动化关系分析和洞察:自动发现资源间的关联

适用场景

  • Terraform 和 Ansible 资源管理
  • 基础设施代码的版本控制和变更追踪
  • 复杂基础设施组件的关系分析和可视化
  • AI 辅助的基础设施代码生成和维护

工具列表

Terraform 工具

  • get_terraform_provider_info:获取提供者详细信息
  • list_provider_resources:列出特定提供者的所有资源
  • get_terraform_resource_info:获取特定资源类型的详细信息
  • add_terraform_provider:注册新提供者
  • add_terraform_resource:添加资源定义
  • update_provider_version:更新提供者版本

Ansible 工具

  • get_ansible_collection_info:获取集合详细信息
  • list_ansible_collections:列出所有可用集合
  • get_collection_version_history:查看集合版本历史
  • get_ansible_module_info:获取模块详细信息
  • list_collection_modules:列出集合中的所有模块
  • get_module_version_compatibility:检查模块版本兼容性
  • add_ansible_collection:注册新集合
  • add_ansible_module:添加新模块

实体操作

  • create_entity:创建新基础设施实体
  • update_entity:修改现有实体配置
  • delete_entity:删除实体并清理关系
  • view_relationships:分析实体依赖关系

使用教程

使用依赖

# 安装依赖
uv sync

安装教程

开发环境设置

# 运行测试
uv run pytest

# 开发服务器
npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server

生产环境设置

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

调试方式

# 启用调试模式
export MCP_DEBUG=1

# 测试模式(会重置数据库)
export MCP_TEST_MODE=1

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。