Iac Memory Mcp Server Project

Iac Memory Mcp Server Project

🚀 基于内存的IaC MCP服务器

这是一个增强Claude AI功能的记忆型MCP服务器,通过为Infrastructure-as-Code (IaC)组件提供持久存储,实现版本跟踪和关系映射,尤其专注于Terraform和Ansible资源。

🚀 快速开始

本项目是一个个人项目,用于测试AI能力,前提是使用该技术的人(我)缺乏相关专业知识。由于成本过高,不打算进一步开发或维护该项目。

✨ 主要特性

IaC记忆MCP服务器通过以下方式解决维护准确、版本感知的IaC组件上下文的问题:

  • 为IaC组件提供持久存储和版本跟踪。
  • 提供层次结构化的资源组织与基于URI的访问。
  • 实现组件之间的全面关系映射。
  • 管理版本特定的文档。
  • 进行模式验证和时间戳元数据跟踪。
  • 自动化分析关系并提供见解。

📦 安装指南

本地开发

# 安装依赖
uv sync

# 运行测试
uv run pytest

# 使用MCP Inspector进行调试
npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server

💻 使用示例

基础用法

资源管理

服务器实现了一个复杂的资源管理系统,采用层次结构化的URI:

resources://<平台>/<类别>/<名称>

支持的平台:

  • terraform
  • ansible
  • iac(用于通用基础设施实体)

示例URI:

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

资源模板

服务器提供动态资源模板,以标准化访问模式:

  • Terraform提供商信息:resources://terraform/providers/{provider_name}
  • 资源类型详细信息:resources://terraform/resources/{provider_name}/{resource_type}
  • Ansible集合数据:resources://ansible/collections/{collection_name}
  • 模块信息:resources://ansible/modules/{collection_name}/{module_name}

高级用法

提示词

服务器实现四个专门的提示词,用于IaC组件发现和分析:

search_resources
  • 目的:搜索IaC资源
  • 参数:
    • provider: 提供程序名称
    • resource_type: 资源类型
  • 返回:指定提供程序的特定资源信息
analyze_entity
  • 目的:分析实体及其关系
  • 参数:
    • entity_id: 实体ID
    • include_relationships: 是否包含关系
  • 返回:详细实体分析,包括名称、类型和观察结果
terraform_provider
  • 目的:获取Terraform提供程序的信息
  • 参数:
    • provider_name: 提供程序名称(必需)
    • version: 版本号(可选,默认为最新版本)
  • 返回:指定提供程序的资源模式
ansible_collection
  • 目的:获取Ansible集合的信息
  • 参数:
    • collection_name: 集合名称(必需)
    • version: 版本号(可选,默认为最新版本)
  • 返回:指定集合的资源模式

📚 详细文档

配置

环境变量

设置以下环境变量以配置服务器:

# 数据库URL,支持SQLite、MySQL、PostgreSQL等
export DATABASE_URL="sqlite:////path/to/database.db"

# 默认版本号(可选)
export DEFAULT_VERSION="1.0.0"

# 日志级别(可选:debug, info, warning, error, critical)
export LOG_LEVEL="info"

Claude Desktop开发环境

config.json中添加以下内容,以配置MCP服务器:

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

Claude Desktop生产环境

config.json中添加以下内容,以配置MCP服务器:

"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/user/iac.db"
}
}
}

📄 许可证

该项目采用MIT许可证,详情请参阅LICENSE文件。

⚠️ 重要提示

这是一个个人项目,用于测试AI能力,前提是使用该技术的人(我)缺乏相关专业知识。由于成本过高,不打算进一步开发或维护该项目。

  • 0 关注
  • 0 收藏,14 浏览
  • system 提出于 2025-09-19 03:00

相似服务问题

相关AI产品