使用说明
项目简介
本项目是一个基于 Quarkus Backstage 构建的 MCP 服务器示例,旨在演示如何通过 MCP 协议与 LLM 客户端交互,利用 Backstage 的能力管理和实例化软件模板。该服务器通过标准输入/输出 (stdio) 与 MCP 客户端通信,并提供了列出 Backstage 模板和创建项目的功能。
主要功能点
- 列出 Backstage 模板: 允许 LLM 客户端查询 Backstage 中可用的软件模板列表。
- 创建 Backstage 项目: 允许 LLM 客户端基于 Backstage 模板创建新的软件项目,并支持通过参数文件自定义项目配置。
安装步骤
-
前提条件:
- 确保已安装并运行 Backstage 服务,并已启用 Service to Service 通信。
- 获取用于 Service to Service 通信的 'token',并配置到 Backstage 后端。
- 确保已安装 jbang。
-
下载代码: 从 GitHub 克隆 'backstage-mcp' 仓库到本地。
-
编译项目: 在仓库根目录下,使用 Maven 命令编译项目:
./mvnw package -Dnative -DskipTests编译成功后,会在 'target/quarkus-app/' 目录下生成 'quarkus-run.jar' 文件。
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。以下是一个 JSON 格式的配置示例,适用于 Goose 等 MCP 客户端:
{ "name": "backstage-mcp", // 服务器名称,可自定义 "type": "stdio", // 连接类型为标准输入/输出 "cmd": "jbang", // 启动命令,使用 jbang 运行 jar 包 "args": [ // 启动参数 "--quiet", // 静默模式,减少 jbang 输出 "/path/to/backstage-mcp/target/quarkus-app/quarkus-run.jar" // 指向 quarkus-run.jar 的绝对路径,请替换为实际路径 ], "enabled": true, // 启用此服务器 "envs": {} // 环境变量,此处为空 }
请注意:
- '/path/to/backstage-mcp/target/quarkus-app/quarkus-run.jar' 需要替换为 'quarkus-run.jar' 文件在您本地文件系统中的绝对路径。
- 确保 MCP 客户端能够执行 'jbang' 命令,并且 'quarkus-run.jar' 文件路径正确可访问。
基本使用方法
-
启动 MCP 客户端 (例如 Goose),并加载上述服务器配置。
-
列出 Backstage 模板: 在 MCP 客户端中,发送类似以下的指令:
list all the available backstage templates服务器会返回 Backstage 中可用的模板列表。
-
创建 Backstage 项目:
- 首先,使用 Backstage CLI 获取模板的默认参数值,并保存到 'values.yaml' 文件:
将 '<template name>' 替换为您要使用的模板名称。quarkus backstage template info --show-default-values <template name> > values.yaml - 然后,在 MCP 客户端中,发送指令创建项目,并指定模板名称和 'values.yaml' 文件路径:
将 '<template name>' 替换为模板名称,'values.yaml' 替换为实际的文件路径。create a new project from template <template name> using values from values.yaml
服务器会根据提供的模板和参数创建 Backstage 项目,并返回项目创建结果。
- 首先,使用 Backstage CLI 获取模板的默认参数值,并保存到 'values.yaml' 文件:
注意:
- 本项目仅为示例,可能需要根据实际 Backstage 环境和需求进行调整。
- 确保 Backstage 服务正常运行,并且 MCP 服务器配置中的 'token' 有效。
信息
分类
开发者工具