边缘镜像生成器配置工具

一个基于Model Context Protocol (MCP)的工具,用于验证和生成符合SUSE Edge Image Builder (EIB)规范的YAML配置文件。

  • by e-minguez
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 e-minguez/eib-mcp

使用说明

边缘图像生成器MCP服务器

此存储库包含一个模型上下文协议(MCP)服务器,该服务器提供用于生成SUSE Edge Image Builder(EIB)配置文件的工具。

概述

EIB MCP服务器公开了一个 generate_config 该工具允许AI代理根据官方EIB模式验证和生成YAML配置文件。这确保了生成的配置在语法上正确,并符合所需的结构。

特性

  • 模式验证:使用嵌入式EIB JSON模式来验证输入。
  • YAML生成:将有效的JSON输入转换为格式正确的YAML。
  • MCP协议:通过Stdio实现模型上下文协议(JSON-RPC 2.0)。

安装

先决条件

  • 转到1.21或更高版本

建筑物

克隆存储库并构建二进制文件:

git clone https://github.com/e-minguez/eib-mcp.git
cd eib-mcp
make build

用法

该服务器设计为由MCP客户端运行。它通过标准输入/输出(Stdio)进行通信。

客户端配置

您可以将服务器添加到 gemini-cli 使用 mcp add 命令:

gemini mcp add eib-mcp /absolute/path/to/eib-mcp/eib-mcp

示例用法

添加服务器后,您可以要求Gemini生成配置:

“为基于slmicro-6.2.ISO的ISO映像生成Edge Image Builder配置,目标是x86_64架构。输出名称应该是‘my Edge Image’,它应该安装到/dev/sda。它应该部署一个3节点的kubernetes集群,节点名称为‘node1’、‘node2’和‘node3’,如下所示:

  • 主机名:node1,IP:1.1.1.1,类型:初始化器
  • 主机名:node2,IP:1.1.1.2,角色:代理
  • 主机名:node3,IP:1.1.1.3,角色:代理 kubernetes版本应该是k3s 1.33.4-k3s1,并且应该部署一个证书管理器helm chart(根据https://cert-manager.io/docs/installation/helm/).它应该创建一个名为“suse”的用户,密码为“suse”,并将ntp设置为“foo.ntp.org”。API的VIP地址应为1.2.3.4“

双子座将使用 generate_config 创建有效YAML的工具。

generate_config

生成有效的 edge-image-builder YAML配置文件。

输入:

与EIB配置模式匹配的JSON对象。

输出:

表示配置的YAML字符串。

发展

项目结构

  • eib_mcp.go:主要入口点。
  • mcp/:MCP服务器实现。
  • schema/:模式加载和嵌入。
  • tool/:工具逻辑和验证。

代码文档

源代码使用GoDoc约定进行了全面的文档记录。此文档是使用AI(Jules)生成的。您可以通过运行以下命令查看文档:

godoc -http=:6060

并导航到 http://localhost:6060/pkg/github.com/e-minguez/eib-mcp/.

测试

您可以使用提供的测试请求验证服务器功能:

./eib-mcp < test_request.json

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。