Rich Catalog Entity Server
Published on July 22nd, 2025Overview
The Rich Catalog Entity Server provides AI assistants with comprehensive access to catalog entity data, relationships, and documentation from your Backstage instance.
Server Endpoint: https://api.roadie.so/api/mcp/v1/rich-catalog-entity
Capabilities
- Entity Information: Get detailed metadata, ownership, lifecycle, and specifications
- Relationship Mapping: Discover dependencies, provides relationships, and entity connections
- Documentation Access: Search and retrieve TechDocs content associated with entities
- Entity Discovery: Search and find entities when exact names are unknown
- Enhanced Error Handling: Provides search suggestions when entities aren’t found
Available Tools
Get Entity Info
Retrieve basic entity information including name, description, owner, lifecycle stage, and metadata.
Parameters:
entityRef
(string): Entity reference (e.g., “component:default/my-service”)
Example Usage:
{
"entityRef": "component:default/user-service"
}
Return Schema:
{
name: string,
title?: string,
description?: string,
owner?: string,
lifecycle?: string,
type?: string,
tags?: string[],
annotations?: Record<string, string>,
labels?: Record<string, string>,
links?: Record<string, any>[],
namespace?: string,
kind?: string
}
Required Permissions
- Catalog entity read (*) - Access to catalog entities
Get Entity Relationships
Discover entity relationships including dependencies, what the entity provides, and connected services.
Parameters:
entityRef
(string): Entity reference
Example Usage:
{
"entityRef": "component:default/payment-service"
}
Return Schema:
{
// Core relationships
ownedBy?: string,
owner?: string,
system?: string,
domain?: string,
// Dependencies
dependsOn: string[],
dependencyOf: string[],
// API relationships
providesApis: string[],
apiProvidedBy: string[],
consumesApis: string[],
// Hierarchical relationships
partOf: string[],
hasPart: string[],
subcomponentOf?: string,
subdomainOf?: string,
// Group/User relationships
memberOf: string[],
members: string[],
parent?: string,
parentOf: string[],
children: string[],
childOf: string[],
// Management relationships
managedBy: string[],
manages: string[]
}
Required Permissions
- Catalog entity read (*) - Access to catalog entities
Get TechDocs
Search and retrieve TechDocs documentation content for specific entities.
Parameters:
entityRef
(string): Entity referencequery
(string, optional): Search term within the documentation
Example Usage:
{
"entityRef": "component:default/auth-service",
"query": "authentication flow"
}
Return Schema:
{
totalPages: number,
pages: {
title: string,
content: string,
path: string,
htmlViewPath: string
}[]
}
Required Permissions
- Catalog entity read (*) - Access to catalog entities and their docs
Search Entities
Discover and find entities when you don’t know the exact entity name or want to explore available entities.
Parameters:
searchTerm
(string): Search term to find entities by name, title, or other attributeskind
(string, optional): Filter by entity kind (e.g., “component”, “api”, “system”)namespace
(string, optional): Filter by specific namespacelimit
(number, optional): Maximum number of results to return (default: 10)
Example Usage:
{
"searchTerm": "payment",
"kind": "component",
"limit": 5
}
Return Schema:
{
totalFound: number,
entities: {
name: string,
kind: string,
namespace: string,
title?: string,
description?: string,
owner?: string,
lifecycle?: string,
type?: string,
tags?: string[],
entityRef: string
}[]
}
Required Permissions
- Catalog entity read (*) - Access to catalog entities
Common Use Cases
Entity Exploration
- “Who owns the user-service component?”
- “What is the lifecycle stage of payment-api?”
- “Show me the description and metadata for auth-service”
Dependency Analysis
- “What services does payment-service depend on?”
- “Which components use the user-api?”
- “Show me all the relationships for the auth-service”
Documentation Discovery
- “What documentation exists for the payment-service?”
- “Search for authentication information in user-service docs”
- “Show me the getting started guide for inventory-api”
Entity Discovery
- “Find entities related to payment processing”
- “Search for all user management services”
- “What APIs are available for authentication?”
- “Show me all components owned by the backend team”
- “Find systems in the platform namespace”
Smart Entity Resolution
The Rich Catalog Entity Server includes intelligent entity resolution that makes it more user-friendly:
How It Works
- Exact Match First: Attempts to find the entity using the exact reference provided
- Fallback Search: If exact match fails, searches for entities with matching names
- Type Prioritization: Prefers Component entities, then falls back to other types (API, Resource, System)
- Namespace Awareness: When a namespace is specified, prioritizes entities in that namespace
Benefits
- Flexible Queries: Users don’t need to know exact entity references
- Natural Language: Works with common entity names used in conversation
- Context Awareness: Understands common naming patterns and conventions
- Enhanced Discovery: When entities aren’t found, provides intelligent search suggestions
- Error Recovery: Automatically suggests similar entities when exact matches fail
Required Permissions
- Catalog entity read (*) - Access to all catalog entities
- TechDocs read - Access to technical documentation (for TechDocs functionality)
Example Workflows
Entity Discovery Workflow
User: “I need to understand our payment infrastructure”
AI Response using MCP:
- Uses
search-entities
to find all payment-related entities - Retrieves entity information for each discovered service
- Maps relationships between payment components
- Provides comprehensive overview of the payment ecosystem
- Suggests related APIs and documentation for deeper exploration
Dependency Analysis
User: “What does the user-service depend on?”
AI Response using MCP:
- Uses
get-entity-relationships
to map all dependencies - Identifies direct and indirect dependencies
- Explains the purpose of each dependency
- Highlights potential impact of changes
Best Practices
- Use search functionality when you don’t know exact entity names
- Combine entity information with relationship data for comprehensive analysis
- Leverage TechDocs search to find specific documentation topics
- Use filters (kind, namespace) to narrow search results when needed