1. Conduid
  2. Developer Tools
  3. Backstage MCP Server
MCP server · Developer Tools

Backstage MCP Server

A production-ready, enterprise-grade Model Context Protocol (MCP) server that exposes the Backstage Catalog API as tools for Large Language Models (LLMs). Features comprehensive operational transparency, cross-platform compatibility, and automated error recovery.

Unclaimed GPL-3.0 devtools
55Fair

Scored 11 days ago · breakdown

About Backstage MCP Server

Backstage MCP Server is an MCP server published by Coderrob in the Developer Tools category: a production-ready, enterprise-grade Model Context Protocol (MCP) server that exposes the Backstage Catalog API as tools for Large Language Models (LLMs). Features comprehensive operational transparency, cross-platform compatibility, and automated error recovery.

The repository has 3 stars and 2 forks, with the last commit 5 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/Coderrob/backstage-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Backstage MCP Server

Powered by Claude · Grounded in docs

I know everything about Backstage MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.1.0_5c4b4a8v1.1.0 · 20 Sep 2026What's Changed Accept SHA-suffixed release tags by @Coderrob in https://github.com/Coderrob/backstage-mcp-server/pull/54 Add curated Backstage knowledge and 19 contextual lookup tools by @Coderrob in…
v1.0.0_884e28bv1.0.0 · 19 Sep 2026What's Changed Mcp server implementation by @Coderrob in https://github.com/Coderrob/backstage-mcp-server/pull/3 Chore/repo audit 2025 09 16 adding code coverage, type deduplication, cleanup of organization for files and folders by…

README

Backstage MCP Server

A type-safe Model Context Protocol server for the Backstage Software Catalog, built on the published @coderrob/mcp-kernel runtime.

It exposes 32 Catalog tools over stdio, uses Backstage's official Catalog client, supports rotating bearer credentials, and ships with black-box SDK and MCP Inspector verification.

Runtime architecture from an MCP client through the published MCP Kernel dependency and Backstage integration to the Catalog API.

What you get

Capability Implementation
Catalog discovery Entity queries, references, ancestry, facets, and source locations
Catalog operations Add locations, refresh entities, remove entities or locations, and validate descriptors
Type safety Zod schemas infer handler inputs and emit MCP-compatible JSON Schemas
Runtime policies Timeouts, caller scopes, per-principal rate limits, tagged caching, and invalidation
Safe operations MCP annotations distinguish read-only, mutating, idempotent, and destructive tools
Production boundary Official Backstage CatalogClient, authenticated fetch, redacted stderr logging
Verification Per-file coverage, SDK stdio smoke tests, every-tool execution, and MCP Inspector

Quick start

1. Install and build

Requirements:

  • Node.js 24.15 or newer
  • Corepack
  • A reachable Backstage backend and an accepted external-access bearer token
corepack enable
corepack yarn install --immutable
corepack yarn build

The Yarn release comes from the packageManager field in package.json; use corepack yarn so local and CI behavior stay aligned.

2. Configure Backstage

Set the backend root or the complete Catalog plugin URL and choose one credential source:

export BACKSTAGE_BASE_URL=https://backstage.example.com
export BACKSTAGE_TOKEN=your-token

For externally rotated credentials, point to a token file instead:

export BACKSTAGE_BASE_URL=https://backstage.example.com
export BACKSTAGE_TOKEN_FILE=/run/secrets/backstage-token

BACKSTAGE_TOKEN_FILE takes precedence when both variables are present and is reread for every outgoing request. Optional LOG_LEVEL=debug enables diagnostic logging. Logs always go to stderr because stdout carries MCP protocol traffic.

3. Start the stdio server

corepack yarn start

The process waits for an MCP client on stdin/stdout. For a read-only check against a real deployment, use corepack yarn test:live; see live Backstage verification.

Connect an MCP client

After building, configure a stdio client with an absolute path:

{
  "mcpServers": {
    "backstage": {
      "command": "node",
      "args": ["/absolute/path/to/backstage-mcp-server/dist/cli.cjs"],
      "env": {
        "BACKSTAGE_BASE_URL": "https://backstage.example.com",
        "BACKSTAGE_TOKEN": "your-token"
      }
    }
  }
}

After global installation, use backstage-mcp-server as the command. Do not place credentials in committed client configuration; use the client's secret or environment mechanism where available.

Tool catalog

The checked-in tools-manifest.json is generated from the runtime definitions and is the machine-readable source of truth.

Category Tools
Entity discovery get_entities, get_entities_by_query, get_entities_by_refs, get_entity_by_ref, get_entity_ancestors, get_entity_facets
Location discovery get_location_by_entity, get_location_by_ref
Validation validate_entity
Catalog mutation add_location, refresh_entity
Destructive mutation remove_entity_by_uid, remove_location_by_id

get_entities.filter follows Backstage's key-value model: keys in one record are AND conditions, values for one key are OR conditions, and multiple records are OR groups.

{
  "filter": {
    "kind": ["Component", "API"],
    "metadata.namespace": "default"
  }
}

This selects Components or APIs in the default namespace. The Backstage integration guide documents every tool-to-client mapping, cursor behavior, authentication, permissions, and error conversion.

How it works

  1. An MCP client launches the packaged CLI and exchanges JSON-RPC over stdio.
  2. The published MCP Kernel validates and compiles immutable feature definitions.
  3. Zod validates input before middleware, authorization, caching, rate limiting, and timeout policies run.
  4. A Backstage tool calls the typed Catalog contract from its application context.
  5. The adapter delegates HTTP behavior to the official Backstage CatalogClient and injects the bearer token at the fetch boundary.
  6. Results return as MCP text plus structured content; expected failures use stable error codes and safe details.

The published @coderrob/mcp-kernel package owns protocol registration, lifecycle, policies, transports, testing support, and protocol-safe logging. This repository owns only the Backstage application and Catalog integration. See the current architecture overview for the dependency boundary.

MCP Kernel dependency

Generic server authoring, lifecycle, policies, transports, results, testing support, and logging are documented in the @coderrob/mcp-kernel repository. This package re-exports the kernel API for compatibility, but new generic consumers should install and import @coderrob/mcp-kernel directly.

To contribute a Catalog capability, follow Adding a Backstage MCP tool.

Verification

Verification layers from static quality checks through packaged black-box MCP Inspector validation.

Run the normal contributor gate:

corepack yarn lint
corepack yarn typecheck
corepack yarn architecture:check
corepack yarn knip
corepack yarn test
corepack yarn test:shell

For MCP, tool, adapter, or packaging changes, also run:

corepack yarn test:mcp
corepack yarn manifest:check

test:mcp runs contract tests, builds the distribution, launches dist/cli.cjs over stdio with the official SDK client, invokes every registered tool against a deterministic authenticated Catalog stub, and performs an independent MCP Inspector check. It does not bypass the server with direct handler or HTTP calls.

See Repository tooling for the purpose and side effects of every command and MCP end-to-end testing for the exact black-box boundary.

Documentation

Choose a path from the documentation hub:

License

GPL-3.0. See LICENSE.

Curated knowledge and skills

The Backstage knowledge base maintains classified articles, named source citations and schema.org metadata. Repository skills in .agents/skills support catalog lookups, entity maintenance and MCP development.

The 19 contextual lookup tools cover names, System and Domain contents, Groups, ownership, dependencies, APIs, annotations and orphaned entities. See lookup contracts and examples, including pagination, ambiguity and work bounds.

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Backstage MCP Server

How do I install Backstage MCP Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Backstage MCP Server safe to use with an AI agent?

Its trust score is 55 out of 100 (fair). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Backstage MCP Server still maintained?

Yes — the latest release is v1.1.0_5c4b4a8 (20 Sep 2026), and the last commit was 5 days ago. The repository has 3 stars and 1 open issues.