使用说明
项目简介
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' 和代码结构,推测安装步骤如下(请注意,该项目已声明不再维护,以下步骤可能需要您自行调整):
-
克隆仓库
git clone https://github.com/AgentWong/iac-memory-mcp-server-project.git cd iac-memory-mcp-server-project -
安装依赖
使用 'uv' 包管理器同步依赖:
uv sync如果未安装 'uv',请先安装 'uv': 'pip install uv'
-
配置环境变量
创建 '.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文件中的配置一致 } } }
基本使用方法
-
启动 MCP 服务器
在仓库根目录下,使用以下命令启动服务器:
uv run iac-memory-mcp-server或者使用开发模式启动,带 MCP Inspector 工具:
npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server确保服务器成功启动并监听来自 MCP 客户端的请求。
-
配置 MCP 客户端
在 MCP 客户端(如 Claude Desktop)中,配置 'mcpServers',填入上述 服务器配置 中生成的 JSON 信息。
-
在 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与计算