Backstage MCP について
Backstage MCPは、Quarkus Backstage経由でBackstageに接続するMCPサーバーの例です。Backstageの導入済み環境を持つチーム向けに、テンプレートの一覧表示とインスタンス化を提供します。
主な機能
- 01利用可能なBackstageテンプレートの一覧表示
- 02コマンドラインからのテンプレートのインスタンス化
- 03Backstage APIへの接続
活用シーン
- 01利用可能なBackstageテンプレートの確認
- 02テンプレートからのプロジェクト作成
- 03テンプレート値を使ったプロジェクトの作成
MCP 対応
標準入力から読み込み、標準出力へ書き込むMCPサーバーとして、MCPクライアントにBackstageテンプレートの一覧表示とインスタンス化を提供します。Quarkus Backstageを使ってBackstage APIと通信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Backstage MCP
Backstage と MCP を Quarkus Backstage 経由で使用する例です。 このサーバーは Goose でテスト済みです。詳細は以下をご覧ください。
特長
- 利用可能な Backstage テンプレートの一覧表示
- コマンドラインからテンプレートをインスタンス化
要件
Backstage のインストールが必要です。
インストールでは、Service to Service 通信を有効にする必要があります。
ユーザーは、その通信に使用するトークンにアクセスできる必要があります。以下の yaml スニペットで、設定場所と設定方法を示します。
app:
# ...
backend:
# ...
auth:
# ...
externalAccess:
- type: static
options:
token: <put your token here>
subject: curl-requests
構成
依存関係
このプロジェクトでは、以下を使用します。
<dependency>
<groupId>io.quarkiverse.mcp</groupId>
<artifactId>quarkus-mcp-server-stdio</artifactId>
<version>1.0.0.Alpha5</version>
</dependency>
stdin から読み取り、stdout に書き込む MCP サーバーを実装するためのものです。
また、以下も使用します。
<dependency>
<groupId>io.quarkiverse.backstage</groupId>
<artifactId>quarkus-backstage</artifactId>
<version>0.4.1</version>
</dependency>
Backstage API との通信に使用します。
実装
実装は非常にシンプルで、必要なファイルは小さなファイルが 1 つだけです。 [[src/main/java/org/acme/Backstage.java]]
goose のセットアップ
Goose は、インタラクティブシェルとして動作し、プラグイン(MCP サーバーを含む)をサポートするローカルの AI エージェントです。
この MCP サーバーを使用するように goose を設定するには、次の拡張機能を 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
プロンプトの例
テンプレートの一覧表示
list all the available backstage templates
テンプレートのインスタンス化
テンプレートをインスタンス化するには、使用するテンプレートパラメーターを含む values.yaml ファイルが必要です。 backstage CLI を使用して、テンプレートからデフォルト値を抽出できます。
quarkus backstage template info --show-default-values <template name>
出力を values.yaml などのファイルに保存してから、goose のセッションでテンプレートをインスタンス化するために使用できます。
create a new project from template <template name> using values from values.yaml
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。