使用说明

项目简介

IaC Memory MCP Server是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型(LLM)客户端提供基础设施即代码(IaC)组件的上下文信息。它通过持久化存储、版本跟踪和关系映射,增强了LLM在IaC领域的理解和应用能力,特别针对Terraform和Ansible资源。

主要功能点

  • 资源管理 (Resources)
    • 持久化存储和版本跟踪IaC组件(Terraform和Ansible资源)。
    • 分层资源组织,通过URI进行访问,支持Terraform provider、resource和Ansible collection、module等多种资源类型。
    • 提供动态资源模板,实现标准化访问模式。
  • Prompt 模板 (Prompts)
    • 内置四种Prompt模板,用于IaC组件的发现和分析,包括资源搜索、实体分析、Terraform provider信息查询和Ansible module信息查询。
  • 工具 (Tools)
    • 提供全面的工具集,用于IaC组件管理,包括Terraform provider和resource的信息检索、列表、新增、更新,以及Ansible collection和module的信息检索、列表、版本历史、新增等功能。
    • 支持实体操作,包括创建、更新、删除实体以及查看实体关系。

安装步骤

该仓库未提供详细的独立安装步骤,根据 'README.md' 和代码结构,推测安装步骤如下(请注意,该项目已声明不再维护,以下步骤可能需要您自行调整):

  1. 克隆仓库

    git clone https://github.com/AgentWong/iac-memory-mcp-server-project.git
    cd iac-memory-mcp-server-project
  2. 安装依赖

    使用 'uv' 包管理器同步依赖:

    uv sync

    如果未安装 'uv',请先安装 'uv': 'pip install uv'

  3. 配置环境变量

    创建 '.env' 文件,配置数据库连接等信息(示例为 SQLite 数据库):

    DATABASE_URL=sqlite:////path/to/iac.db  # 修改为您希望使用的数据库路径
    MCP_DEBUG=1           # 启用调试日志(可选)
    MCP_TEST_MODE=1       # 启用测试模式(可选,用于数据库重置)

    请根据您的实际需求修改 'DATABASE_URL'。

服务器配置

MCP客户端(如 Claude Desktop)需要配置 MCP 服务器的启动命令和参数。以下是根据 'README.md' 生成的配置信息,用于 Claude Desktop 的 'mcpServers' 配置项中:

"mcpServers": {
  "iac-memory": {  // server name,可自定义
    "command": "uv", // 启动命令,这里使用 uv 包管理器
    "args": [ // 启动参数
      "--directory", // 指定工作目录
      "/path/to/iac-memory-mcp-server-project", // 修改为您的仓库路径
      "run", // uv run 命令
      "iac-memory-mcp-server" // 运行服务器的入口点 (iac-memory-mcp-server)
    ],
    "env": { // 环境变量
      "DATABASE_URL": "sqlite:////path/to/iac.db" // 数据库连接地址,与.env文件中的配置一致
    }
  }
}

基本使用方法

  1. 启动 MCP 服务器

    在仓库根目录下,使用以下命令启动服务器:

    uv run iac-memory-mcp-server

    或者使用开发模式启动,带 MCP Inspector 工具:

    npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server

    确保服务器成功启动并监听来自 MCP 客户端的请求。

  2. 配置 MCP 客户端

    在 MCP 客户端(如 Claude Desktop)中,配置 'mcpServers',填入上述 服务器配置 中生成的 JSON 信息。

  3. 在 MCP 客户端中使用

    连接成功后,您可以在 MCP 客户端中:

    • 列出和选择 Prompt 模板,例如 'search_resources', 'analyze_entity' 等,并根据提示填写参数,与 LLM 进行交互,利用 Prompt 模板提供的上下文能力。
    • 调用 Tool 工具,例如 'get_terraform_provider_info', 'list_ansible_collections' 等,让 LLM 调用这些工具来获取 IaC 组件的信息或执行相关操作。
    • 访问 Resource 资源,例如 'resources://terraform/providers/aws', 'resources://ansible/modules/community.aws/s3_bucket' 等,让 LLM 读取这些资源以获取更多上下文信息。

注意:由于项目已停止维护,您可能需要自行解决遇到的问题。

信息

分类

AI与计算