Skip to main content
Glama
README.md
# 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

## 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

### Option 1: Docker (Recommended for Sharing)

```bash
# Quick setup
./setup.sh

# Or manual setup
npm run docker:compose:up
```


## Usage

### With Cursor/Claude Desktop (Docker)

Add to your MCP configuration:

```json
{
  "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

- [Backstage Official Docs](https://backstage.io/docs)
- [Backstage GitHub](https://github.com/backstage/backstage)
- [Backstage Discord](https://discord.gg/backstage-687207715902193673)
- [Community Plugins](https://github.com/backstage/community-plugins)

## License

Apache 2.0

TDQS

A3.5/5.0

Scored across 7 tools

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
ResponsivenessNo issues