mcpField
B
Backstage MCP

Backstage MCP

本地服务
github.com/iocanel开发工具1284 周前更新

关于 Backstage MCP

Backstage MCP 是通过 Quarkus Backstage 连接 Backstage 的 MCP 服务示例,面向已部署 Backstage 的团队,提供模板查询和实例化能力。

主要功能

  1. 01列出可用的 Backstage 模板
  2. 02通过命令行实例化模板
  3. 03连接 Backstage API

适用场景

  1. 01查看可用的 Backstage 模板
  2. 02从模板创建项目
  3. 03使用模板参数实例化项目

MCP 相关

该服务通过标准输入读取数据、向标准输出写入数据,向 MCP 客户端提供 Backstage 模板列表和实例化功能,并使用 Quarkus Backstage 连接 Backstage API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Backstage MCP

这是一个通过 Quarkus Backstage,将 Backstage 与 MCP 结合使用的示例。 已使用 Goose 测试此服务。详情请见下文。

功能

  • 列出可用的 Backstage 模板
  • 从命令行实例化模板

要求

需要安装 Backstage。 安装必须启用 Service to Service 通信。 用户需要有权访问用于此类通信的令牌。下面的 yaml 片段展示了设置的位置和方式。

app:
# ...
backend:
  # ... 
  auth:
    # ...
    externalAccess:
      - type: static
        options:
          token: <put your token here>
          subject: curl-requests

组成

依赖项

本项目使用:

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

来实现一个从 stdin 读取并写入 stdout 的 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 Agent,可作为交互式 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
示例提示词
列出模板
list all the available backstage templates
实例化模板

要实例化模板,需要一个包含待使用模板参数的 values.yaml 文件。 可以使用 backstage CLI 从模板中提取默认值:

quarkus backstage template info --show-default-values <template name>

可以将输出保存到文件(例如 values.yaml),然后在 goose 会话中用于实例化模板:

create a new project from template <template name> using values from values.yaml

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。