Backstage MCP
iocanel/backstage-mcp · 12 stars · Java
MCP server A simple backstage mcp server using quarkus-backstage
Install
The repo has no one-line install. Follow its README.
Files
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.
app:
# ...
backend:
# ...
auth:
# ...
externalAccess:
- type: static
options:
token: <put your token here>
subject: curl-requests
Anatomy
Dependencies
The project is using:
<dependency>
<groupId>io.quarkiverse.mcp</groupId>
<artifactId>quarkus-mcp-server-stdio</artifactId>
<version>1.0.0.Alpha5</version>
</dependency>
for implementing an mcp server that reads from stdin and writes to stdout.
It also uses:
<dependency>
<groupId>io.quarkiverse.backstage</groupId>
<artifactId>quarkus-backstage</artifactId>
<version>0.4.1</version>
</dependency>
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:
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
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:
quarkus backstage template info --show-default-values <template name>
The output can be saved to a file, say values.yaml and then used to instantiate the template from a goose session:
create a new project from template <template name> using values from values.yaml
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 12
- Language
- Java
- Last push
- 2025-03-22
- Forks
- 2
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k