关于 Backstage MCP
Backstage MCP 是通过 Quarkus Backstage 连接 Backstage 的 MCP 服务示例,面向已部署 Backstage 的团队,提供模板查询和实例化能力。
主要功能
- 01列出可用的 Backstage 模板
- 02通过命令行实例化模板
- 03连接 Backstage API
适用场景
- 01查看可用的 Backstage 模板
- 02从模板创建项目
- 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。