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.
Install / Use
claude mcp add Coderrob -- npx -y github:Coderrob/backstage-mcp-serverIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of backstage-mcp-server
backstage-mcp-server scores 81/100 on our quality scale, 2435th of 2,876 Automation skills we index.
Its MCP Server is 8.9 KB long, well organised into 14 sections with 8 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 7 days ago, so backstage-mcp-server is actively maintained.
- It is released under GPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
backstage-mcp-server compared with similar skills
All 4 of these similar skills score higher than backstage-mcp-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| backstage-mcp-server (this skill)by Coderrob | 81 | 3 | 7d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 104.8k | 2d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.6k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.0k | today | MCP Server |
Frequently asked questions
- How do I install backstage-mcp-server?
- Run
claude mcp add Coderrob -- npx -y github:Coderrob/backstage-mcp-server. The install tabs above show the steps for each supported agent. - Which AI agents does backstage-mcp-server work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is backstage-mcp-server safe to use?
- It is GPL-3.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is backstage-mcp-server still maintained?
- The repository was last updated 7 days ago, so backstage-mcp-server is actively maintained.
Skill content
View source on GitHubBackstage 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.
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…[redacted]
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
- An MCP client launches the packaged CLI and exchanges JSON-RPC over stdio.
- The published MCP Kernel validates and compiles immutable feature definitions.
- Zod validates input before middleware, authorization, caching, rate limiting, and timeout policies run.
- A Backstage tool calls the typed Catalog contract from its application context.
- The adapter delegates HTTP behavior to the official Backstage
CatalogClientand injects the bearer token at the fetch boundary. - 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

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:
- Operate it: Backstage integration and end-to-end testing
- Develop it: Repository tooling, code quality, and adding tools
- Understand it: Architecture overview, ADRs, historical analysis, and implementation plan
- Maintain it: Dependency management
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.
Related Skills
Agent-Reach
104.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.6kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.0k🕷️ The BEST 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/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
