drio
Open app

Bee Agent & Model Context Protocol with Backstage

Source

A sample MCP Server and Agent that uses it to pull data from a Backstage instanace

Catalog onlyCatalog onlySTDIO

Overview

This project is a sample implementation of a Model Context Protocol (MCP) server that allows large language models (LLMs) to communicate with a Backstage instance. It includes a sample agent built using the Bee Agent Framework to demonstrate interaction with the MCP server.

To use this project, you need to configure Backstage for static, token-based access, run the MCP server, and then run the agent. Detailed instructions are provided in the repository.

  • Demonstrates the creation of an MCP server. - Provides tools for LLMs to communicate with Backstage. - Includes a sample agent for practical demonstration.
  1. Enabling LLMs to interact with Backstage for data retrieval.
  2. Demonstrating the capabilities of the Model Context Protocol.
  3. Serving as a template for building similar integrations.

Add to your AI client

Use these steps to connect Bee Agent & Model Context Protocol with Backstage in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "mcp-backstage-example-evanshortiss": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-backstage-example-evanshortiss"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "mcp-backstage-example-evanshortiss": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-backstage-example-evanshortiss"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "mcp-backstage-example-evanshortiss": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-backstage-example-evanshortiss"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "mcp-backstage-example-evanshortiss": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-backstage-example-evanshortiss"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "mcp-backstage-example-evanshortiss": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-backstage-example-evanshortiss"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "mcp-backstage-example-evanshortiss": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-backstage-example-evanshortiss"
      ]
    }
  }
}

FAQ

What is the purpose of the MCP server?

The MCP server facilitates communication between LLMs and Backstage instances.

How do I configure Backstage for this project?

You need to enable static, token-based access as described in the configuration section.

What technologies are used in this project?

The project is built using TypeScript and utilizes the Bee Agent Framework.