The Backstage MCP Server with Quarkus Integration is a lightweight implementation that leverages Quarkus to interact with Backstage templates. This server is designed to work seamlessly with local AI agents like Goose, enabling users to list and instantiate Backstage templates directly from the command line.
To use this server, you need:
- A Backstage installation with Service-to-Service communication enabled.
- A valid token for service-to-service authentication.
Example configuration in yaml
:
app:
backend:
auth:
externalAccess:
- type: static
options:
token: <put your token here>
subject: curl-requests
The project uses the following dependencies:
<dependency>
<groupId>io.quarkiverse.mcp</groupId>
<artifactId>quarkus-mcp-server-stdio</artifactId>
<version>1.0.0.Alpha5</version>
</dependency>
<dependency>
<groupId>io.quarkiverse.backstage</groupId>
<artifactId>quarkus-backstage</artifactId>
<version>0.4.1</version>
</dependency>
The implementation is straightforward, with a single Java file handling the interaction with Backstage.
Goose is a local AI agent that supports plugins, including MCP servers. To configure Goose to use this MCP server, add the following to your config.yaml
:
quarkus-backstage-mcp:
args:
- --quiet
- /path/to/quarkus-run.jar
cmd: jbang
enabled: true
envs: {}
name: quarkus-backstage-mcp
type: stdio
To list all available Backstage templates, use the following command in a Goose session:
list all the available backstage templates
To instantiate a template:
1. Extract default values from the template using the Backstage CLI:
shell
quarkus backstage template info --show-default-values <template name>
2. Save the output to a values.yaml
file.
3. Use the following command in Goose to create a new project:
shell
create a new project from template <template name> using values from values.yaml
This project is a simple Backstage MCP server using Quarkus Backstage. It is designed to integrate with local AI agents like Goose for seamless template management.