Skip to main content
Glama
brianpelow

mcp-developer-portal

by brianpelow
README.md
# mcp-developer-portal

> MCP server wrapping Backstage — query service catalog, fetch TechDocs, and scaffold services via AI agents.

![CI](https://github.com/brianpelow/mcp-developer-portal/actions/workflows/ci.yml/badge.svg)
![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)
![Python](https://img.shields.io/badge/python-3.12+-green.svg)
![MCP](https://img.shields.io/badge/MCP-compatible-purple.svg)

## Overview

`mcp-developer-portal` is a Model Context Protocol server that exposes your
Backstage internal developer portal to AI agents. It enables LLMs to query
the service catalog, fetch TechDocs documentation, look up ownership, explore
dependency graphs, and scaffold new services from golden-path templates.

Built for platform engineering teams in regulated financial services and
manufacturing who use Backstage as their engineering system of record.

## Tools exposed

| Tool | Description |
|------|-------------|
| `search_catalog` | Search the Backstage catalog by name, kind, or owner |
| `get_entity` | Get full details for a catalog entity |
| `get_techdocs` | Fetch TechDocs documentation for an entity |
| `get_ownership` | Look up who owns a service or component |
| `get_dependencies` | Get upstream and downstream dependencies |
| `scaffold_service` | Create a new service from a golden-path template |
| `list_templates` | List available scaffolding templates |

## Quick start

```bash
pip install mcp-developer-portal

export BACKSTAGE_URL=https://your-backstage.example.com
export BACKSTAGE_TOKEN=your_backstage_token

mcp-developer-portal
```

## Configuration

| Variable | Description | Required |
|----------|-------------|----------|
| `BACKSTAGE_URL` | Backstage instance URL | Yes |
| `BACKSTAGE_TOKEN` | Backstage API token | No |
| `PORTAL_INDUSTRY` | Industry context (fintech/manufacturing) | No |

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

Apache 2.0 — see [LICENSE](LICENSE).

TDQS

B3.3/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a uniquely defined purpose: dependencies, entity details, ownership, techdocs, templates, scaffolding, and catalog search. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., get_dependencies_tool, list_templates_tool, scaffold_service_tool), with verbs like get, list, search, and scaffold clearly indicating the action.

Tool Count5/5

Seven tools is a well-scoped set for a developer portal. They cover key operations without being excessive or insufficient for the intended domain.

Completeness4/5

The tool surface covers essential read operations (get, list, search) and a key write operation (scaffold). Minor gaps exist, such as missing create/update for entities beyond scaffolding, but the core developer portal workflow is well-supported.

Maintenance

ActivityActive
ResponsivenessNo issues