Portal plugin developers can expose their plugin’s capabilities as MCP tools by registering them with the Actions Registry. Once registered, tools are automatically available to any connected AI agent (AiKA, Claude Code, Cursor, etc.) through the MCP Actions Backend.Documentation Index
Fetch the complete documentation index at: https://backstage.spotify.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
How to register a tool
Step 1: Register with the Actions Registry
In your plugin backend, inject theactionsRegistry service and register your tool during initialization:
plugins/my-plugin-backend/src/plugin.ts
Step 2: Add your plugin to the configuration
Navigate to App Settings > Actions > Plugin sources to configure the plugin sources for loading your actions.
Writing effective tool descriptions
AI agents select tools based on theirname and description. Good descriptions are critical:
- Be specific. “Retrieve detailed information about a specific entity in the software catalog” is better than “Get entity”.
- Describe what it returns, not just what it does. Agents need to know if a tool will answer their question.
- Use plain language. Descriptions are read by LLMs, not parsed by machines.
- Describe parameter schemas clearly. Use
.describe()on Zod fields so agents know what to pass.
Permissions
The Actions Registry does not automatically enforce permissions. Each tool is responsible for checking authorization in itsaction handler:
Error handling
Use errors from@backstage/errors so agents receive meaningful feedback:
NotAllowedError— permission deniedNotFoundError— resource not foundInputError— invalid parameters
Related documentation
@backstage/plugin-mcp-actions-backend— NPM package documentation- Backstage Actions Registry Service — Core service for action registration
- Backstage Permissions — Permission framework documentation