Skip to main content
Glama

Backstage MCP Server

The MCP server is essentially a complete Backstage consultant in your development environment! 🚀

A comprehensive Model Context Protocol (MCP) server providing extensive knowledge about Backstage for plugin development and customization.

Features

This MCP server provides access to:

  • Backstage Overview: Core concepts, features, benefits, and architecture

  • Plugin Development Guide: Complete guide for creating custom plugins

  • API Reference: REST endpoints, GraphQL APIs, and client libraries

  • Community Resources: Discord channels, common questions, and learning materials

  • Code Examples: Practical examples for common development scenarios

  • Plugin Scaffolding: Generate plugin templates with custom configurations

Related MCP server: Aindreyway MCP Codex Keeper

Available Tools

1. get_backstage_overview

Get comprehensive overview of Backstage framework.

  • Optional section parameter: whatIsBackstage, coreFeatures, benefits, architecture

2. get_plugin_development_guide

Get detailed plugin development guide.

  • Optional topic parameter: overview, gettingStarted, pluginStructure, commonPatterns, apis, testing, deployment, bestPractices

3. get_api_reference

Get Backstage API reference documentation.

  • Optional api parameter: catalogApi, scaffolderApi, techDocsApi, authApi, searchApi, proxyApi, graphqlApi

4. get_community_resources

Get community resources and support information.

  • Optional category parameter: officialChannels, communityPlugins, commonQuestions, learningResources, adoptionStories, contributing

5. get_backstage_examples

Get code examples and samples.

  • Optional type parameter: pluginExamples, catalogExamples, templateExamples, configExamples

  • Optional specific parameter for specific examples within a type

6. search_backstage_knowledge

Search across all knowledge bases.

  • Required query parameter: search terms

7. get_plugin_scaffold_template

Generate plugin scaffold templates.

  • Required pluginType: frontend, backend, fullstack, common

  • Required pluginName: name of your plugin

  • Optional features array: routing, api-client, entity-provider, scaffolder-action, search-collator

Installation

# Quick setup
./setup.sh

# Or manual setup
npm run docker:compose:up

Usage

With Cursor/Claude Desktop (Docker)

Add to your MCP configuration:

{
  "mcpServers": {
    "backstage": {
      "command": "docker",
      "args": ["exec", "-i", "backstage-mcp-server", "node", "dist/index.js"]
    }
  }
}

Sharing with Friends

See SHARING_GUIDE.md for complete instructions on sharing this server with friends.

Knowledge Base Coverage

  • Core Backstage Concepts: Software Catalog, Templates, TechDocs, Plugins

  • Plugin Development: Frontend, backend, and full-stack plugin creation

  • API Integration: REST APIs, GraphQL, client libraries

  • Community Insights: Discord discussions, common questions, best practices

  • Real Examples: Working code samples for typical scenarios

  • Configuration: App config, authentication, integrations

Contributing

This knowledge base is continuously updated with the latest Backstage information. To contribute:

  1. Update knowledge files in src/knowledge/

  2. Add new tools in src/index.ts

  3. Test with real Backstage scenarios

  4. Submit pull requests

Resources

License

Apache 2.0

Available Tools

7 tools
get_api_referenceC

Get Backstage API reference including REST endpoints, GraphQL, and client libraries

ParametersJSON Schema
NameRequiredDescriptionDefault
apiNoSpecific API to retrieve (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves API references but doesn't describe behavioral traits like whether it's a read-only operation, if it requires authentication, rate limits, or what the output format looks like (e.g., structured data or documentation text). This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. Every word contributes to understanding the tool's function, making it appropriately sized and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of retrieving API references and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., documentation text, structured endpoints), how to handle the optional parameter, or any prerequisites. For a tool with no structured output and behavioral gaps, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'api' fully documented including its optional nature and enum values. The description adds no additional parameter semantics beyond what the schema provides, such as default behavior when no API is specified or details on the retrieved content. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get Backstage API reference including REST endpoints, GraphQL, and client libraries.' It specifies the verb 'Get' and the resource 'Backstage API reference' with scope details. However, it doesn't explicitly differentiate from sibling tools like 'get_backstage_overview' or 'get_plugin_development_guide,' which might also provide API-related information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where this tool is preferred, such as for detailed API specifications versus high-level overviews or examples. This leaves the agent without explicit usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_backstage_examplesC

Get code examples and samples for common Backstage development scenarios

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoType of example to retrieve (optional)
specificNoSpecific example within the type (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions, rate limits, response format, or any side effects. For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., format of examples), behavioral traits, or usage context. For a tool with 2 parameters and no structured support, more detail is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters with descriptions and an enum. The description adds no additional meaning beyond implying retrieval of examples, which is covered by the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('code examples and samples for common Backstage development scenarios'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_plugin_development_guide' or 'search_backstage_knowledge', which might also provide code-related content, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or comparisons to sibling tools such as 'get_api_reference' or 'search_backstage_knowledge', leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_backstage_overviewC

Get comprehensive overview of Backstage framework including core features, benefits, and architecture

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoSpecific section to retrieve (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves an overview but doesn't cover aspects like whether it's read-only, requires authentication, has rate limits, or what the return format is. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words and directly states what the tool does. However, it could be slightly more structured by explicitly mentioning the optional parameter or output details, though this is minor.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter, no output schema, no annotations), the description is minimally adequate. It covers the purpose but lacks details on behavior, usage context, and output format. For a simple read operation, this is acceptable but not comprehensive, aligning with a baseline score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with one optional parameter 'section' fully documented via enum values. The description adds no additional parameter semantics beyond what the schema provides, such as default behavior if no section is specified. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get comprehensive overview of Backstage framework including core features, benefits, and architecture.' It specifies the verb ('Get') and resource ('overview of Backstage framework') with scope details. However, it doesn't explicitly differentiate from sibling tools like 'get_api_reference' or 'search_backstage_knowledge,' which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_backstage_examples' or 'search_backstage_knowledge,' nor does it specify prerequisites or exclusions. Usage is implied by the purpose but lacks explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_community_resourcesC

Get community resources, support channels, and common questions about Backstage

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoSpecific category to retrieve (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get') without detailing aspects like whether it's read-only, requires authentication, has rate limits, or what the output format might be. This is a significant gap for a tool with no structured behavioral hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized, making it easy to parse quickly, with every part contributing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral traits, output details, or usage context, which are crucial for an agent to effectively invoke this tool. The schema covers parameters well, but overall context is insufficient for a tool with no other structured guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with a well-documented optional 'category' parameter including an enum. The description doesn't add any parameter-specific information beyond what the schema provides, such as examples or usage tips, but the schema's completeness justifies the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get') and resources ('community resources, support channels, and common questions about Backstage'), making it easy to understand what it retrieves. However, it doesn't explicitly differentiate from sibling tools like 'search_backstage_knowledge' or 'get_backstage_overview', which might have overlapping scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or comparisons to sibling tools such as 'search_backstage_knowledge' for more specific queries or 'get_backstage_overview' for general information, leaving the agent without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_plugin_development_guideB

Get detailed guide for developing Backstage plugins including setup, structure, and best practices

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoSpecific topic to retrieve (optional)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral information. It states what content is retrieved but doesn't describe format (HTML, markdown, structured data), size limitations, authentication requirements, or error conditions. For a retrieval tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose and scope without wasted words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter retrieval tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It covers what content is retrieved but lacks information about format, structure, or behavioral characteristics. The description meets basic requirements but doesn't compensate for the lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with the single parameter 'topic' fully documented including enum values. The description adds no parameter-specific information beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting, though the description could have explained how the optional parameter affects results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get detailed guide for developing Backstage plugins' with specific content areas (setup, structure, best practices). It distinguishes from siblings like 'get_api_reference' or 'get_backstage_overview' by focusing specifically on plugin development guidance. However, it doesn't explicitly contrast with 'get_plugin_scaffold_template' which might overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention when to choose this over 'get_backstage_examples', 'search_backstage_knowledge', or other siblings. There's no context about prerequisites, timing, or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_plugin_scaffold_templateC

Generate a plugin scaffold template with specified configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
pluginTypeYesType of plugin to scaffold
pluginNameYesName of the plugin
featuresNoFeatures to include in the plugin

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Generate' implies a creation or output operation, but doesn't specify what is generated (e.g., files, code structure), whether it's read-only or modifies anything, or any side effects like overwriting existing files. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and resource without any wasted words. It's appropriately sized for the tool's complexity, making it easy to parse quickly while conveying the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool that generates something. It doesn't explain what the output is (e.g., a file, directory structure, or code snippets), any dependencies, or error conditions. For a 3-parameter tool with no structured behavioral data, the description should provide more context about the generation process and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (pluginType, pluginName, features) with descriptions and enums. The description adds minimal value beyond the schema by mentioning 'specified configuration', which loosely maps to the parameters but doesn't provide additional syntax or usage details. Baseline 3 is appropriate as the schema handles most of the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate') and resource ('plugin scaffold template'), specifying it's for a template with configuration. It distinguishes from siblings like 'get_plugin_development_guide' by focusing on scaffold generation rather than guidance. However, it doesn't explicitly differentiate from all siblings, such as 'get_backstage_examples', which might also involve templates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a plugin development environment, or contrast with siblings like 'get_plugin_development_guide' for learning versus this tool for creation. Usage is implied only by the action 'Generate', with no explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_backstage_knowledgeC

Search across all Backstage knowledge for specific topics or keywords

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for finding relevant information

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'search across all Backstage knowledge' but doesn't disclose behavioral traits like whether results are paginated, sorted, or filtered; what format the output takes; or any rate limits or authentication requirements. For a search tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Search across all Backstage knowledge') and adds necessary detail ('for specific topics or keywords'). There is zero waste, and every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list of results, summaries, links), how results are structured, or any limitations (e.g., search scope, performance). For a tool that likely returns varied data, this lack of context is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'query' documented as 'Search query for finding relevant information'. The description adds minimal value beyond this, mentioning 'specific topics or keywords' which loosely aligns with the schema but doesn't provide additional syntax, format, or examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search') and target resource ('all Backstage knowledge'), specifying scope and method. It distinguishes from siblings like 'get_api_reference' by emphasizing broad search rather than retrieving specific pre-defined resources. However, it doesn't explicitly contrast with all siblings (e.g., 'get_backstage_examples' might also involve searching).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over sibling tools like 'get_backstage_overview' for general information or 'get_plugin_development_guide' for specific topics. There are no exclusions or prerequisites stated, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. The tools target specific resources like API references, examples, overviews, community resources, plugin guides, templates, and search, making it easy for an agent to select the right tool without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with 'get_' or 'search_' prefixes, such as get_api_reference, get_backstage_examples, and search_backstage_knowledge. This predictable naming scheme enhances readability and usability.

Tool Count5/5

With 7 tools, the server is well-scoped for its purpose of providing Backstage knowledge and development resources. Each tool earns its place by covering distinct aspects like documentation, examples, guides, and search, without being overly sparse or bloated.

Completeness5/5

The tool surface is complete for the domain of Backstage information retrieval, covering CRUD-like operations (get/search) across all key areas: API, examples, overview, community, plugin development, templates, and search. There are no obvious gaps that would cause agent failures.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PawelWaj/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server