trackmcp
Back to directory
iocanel

backstage-mcp

View on GitHub

A simple backstage mcp server using quarkus-backstage

12 stars JavaServers & Infrastructure Updated Sep 28, 2025

Documentation

Backstage MCP

This is an example of using Backstage with MCP via Quarkus Backstage.

The server has been tested with Goose. See below for details.

Features

  • List available Backstage templates
  • Instantiate a template from the command line

Requirements

A Backstage installation is required.

The installation needs to have enabled Service to Service communication.

Users need to have access of the token used for such communication. The `yaml` snippet below shows where and how it's setup.

yaml
app:
# ...
backend:
  # ... 
  auth:
    # ...
    externalAccess:
      - type: static
        options:
          token: 
          subject: curl-requests

Anatomy

Dependencies

The project is using:

xml
io.quarkiverse.mcp
            quarkus-mcp-server-stdio
            1.0.0.Alpha5

for implementing an mcp server that reads from stdin and writes to stdout.

It also uses:

xml
io.quarkiverse.backstage
            quarkus-backstage
            0.4.1

For talking to the Backstage API.

The implementation

The implementation is pretty straight forward, as there is a tiny file needed:

[[src/main/java/org/acme/Backstage.java]]

Setting up goose

Goose is an local AI agent that runs as an interactive shell and is supports plugins (including mcp servers).

To setup goose so that it uses this mcp server add the followng extension to your config.yaml:

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

Sample prompts

Listing the templates

bash
list all the available backstage templates

Instantiating a template

To instantiate a template one needs values.yaml file containing the template parameters to use.

The default values can be extracted from the template using the backstage CLI:

sh
quarkus backstage template info --show-default-values

The output can be saved to a file, say `values.yaml` and then used to instantiate the template from a goose session:

sh
create a new project from template  using values from values.yaml

Frequently asked questions

What is backstage-mcp?

backstage-mcp is A simple backstage mcp server using quarkus-backstage

How do I install backstage-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is backstage-mcp open source?

Yes — it is hosted on GitHub at https://github.com/iocanel/backstage-mcp and has 12 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP