返回 MCP 目录
public公开dns本地运行

backstage-mcp

一个基于Backstage和MCP的项目模板管理工具,支持通过命令行或Goose交互式界面操作。

article

README

🚀 Backstage MCP 后台

本项目是一个运用 BackstageMCP 的示例,借助 Quarkus Backstage 得以实现。同时,服务器已采用 Goose 完成测试。以下将为您详细介绍该项目。

✨ 主要特性

  • 可列出可用的 Backstage 模板。
  • 能够从命令行实例化一个模板。

📦 安装指南

先决条件

您需要安装 Backstage,并且此安装要启用 服务到服务 通信。同时,用户需拥有用于此类通信的令牌的访问权限。以下 yaml 代码片段展示了设置的位置与方式:

app:
# ...
backend:
  # ... 
  auth:
    # ...
    externalAccess:
      - type: static
        options:
          token: <在此处输入您的令牌>
          subject: curl-requests

🔧 技术细节

结构

依赖项

该项目使用了以下依赖项:

<dependency>
    <groupId>io.quarkiverse.mcp</groupId>
    <artifactId>quarkus-mcp-server-stdio</artifactId>
    <version>1.0.0.Alpha5</version>
</dependency>

此依赖项实现了一个 mcp 服务器,该服务器会从标准输入读取数据并写入标准输出。

它还使用了以下依赖项:

<dependency>
    <groupId>io.quarkiverse.backstage</groupId>
    <artifactId>quarkus-backstage</artifactId>
    <version>0.4.1</version>
</dependency>

该依赖项用于与 Backstage API 进行通信。

实现

实现过程十分简单,仅需一个文件: [[src/main/java/org/acme/Backstage.java]]

配置 Goose

Goose 是一个本地 AI 代理,以交互式 Shell 形式运行,并且支持插件(包含 mcp 服务器)。若要配置 Goose 使用此 mcp 服务器,请在 config.yaml 中添加以下扩展:

quarkus-backstage-mcp:
  args:
  - --quiet
  - /home/iocanel/demo/backstage-mcp/target/quarkus-app/quarkus-run.jar
  cmd: jbang
  enabled: true
  envs: {}
  name: quarkus-backstage-mcp
  type: stdio

💻 使用示例

基础用法

列出模板

列出所有可用的 backstage 模板

实例化模板

若要实例化一个模板,您需要一个包含模板参数的 values.yaml 文件。您可以通过 Backstage CLI 提取模板的默认值:

quarkus backstage template info --show-default-values <模板名称>

输出内容可保存到文件中,例如 values.yaml,然后在 Goose 会话中使用以下命令进行实例化:

从模板 <模板名称> 创建新项目,使用 values.yaml 中的值
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端