iocanel_backstage_mcp

iocanel_backstage_mcp

by iocanel
A server that integrates Backstage with MCP using Quarkus for template management and instantiation.

Backstage MCP Server with Quarkus Integration

Overview

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.

Features

  • List Available Backstage Templates: Retrieve a list of all available templates from a Backstage instance.
  • Instantiate Templates: Create new projects by instantiating Backstage templates with custom parameters.

Requirements

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

Anatomy

Dependencies

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>

Implementation

The implementation is straightforward, with a single Java file handling the interaction with Backstage.

Setting Up Goose

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

Usage

Listing Templates

To list all available Backstage templates, use the following command in a Goose session:

list all the available backstage templates

Instantiating a Template

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

About

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.

Resources

Stats

  • Stars: 1
  • Watchers: 1
  • Forks: 0

Languages

  • Java: 100.0%

Features & Capabilities

Categories
mcp_server model_context_protocol quarkus backstage java template_management api_integration goose

Implementation Details

Stats

0 Views
1 GitHub Stars

Repository Info

iocanel Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300