Backstage
FreeNot checkedEnables AI systems to interact with Backstage developer portal for listing templates and instantiating new projects through Quarkus-based API communication.
About
Enables AI systems to interact with Backstage developer portal for listing templates and instantiating new projects through Quarkus-based API communication.
README
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
Installing Backstage
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/iocanel/backstage-mcpFAQ
Is Backstage MCP free?
Yes, Backstage MCP is free — one-click install via Unyly at no cost.
Does Backstage need an API key?
No, Backstage runs without API keys or environment variables.
Is Backstage hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Backstage in Claude Desktop, Claude Code or Cursor?
Open Backstage on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Backstage with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
