diff --git a/.changeset/lovely-lands-clap.md b/.changeset/lovely-lands-clap.md index 61715c1cc5..18f60c444f 100644 --- a/.changeset/lovely-lands-clap.md +++ b/.changeset/lovely-lands-clap.md @@ -2,4 +2,4 @@ '@backstage/plugin-mcp-actions-backend': minor --- -Initial implementation of an `mcp` backend +Initial implementation of an `mcp-actions` backend diff --git a/plugins/mcp-actions-backend/package.json b/plugins/mcp-actions-backend/package.json index cd6dfccc82..65f1c3fd68 100644 --- a/plugins/mcp-actions-backend/package.json +++ b/plugins/mcp-actions-backend/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "backstage": { "role": "backend-plugin", - "pluginId": "mcp", + "pluginId": "mcp-actions", "pluginPackages": [ "@backstage/plugin-mcp-actions-backend" ] diff --git a/plugins/mcp-actions-backend/src/routers/createSseRouter.ts b/plugins/mcp-actions-backend/src/routers/createSseRouter.ts index 0356da18bf..19bcf288e9 100644 --- a/plugins/mcp-actions-backend/src/routers/createSseRouter.ts +++ b/plugins/mcp-actions-backend/src/routers/createSseRouter.ts @@ -18,7 +18,6 @@ import { Router } from 'express'; import { McpService } from '../services/McpService'; import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; import { HttpAuthService } from '@backstage/backend-plugin-api'; -import { InputError, NotFoundError } from '@backstage/errors'; /** * Legacy SSE endpoint for older clients, hopefully will not be needed for much longer. @@ -56,16 +55,18 @@ export const createSseRouter = ({ const sessionId = req.query.sessionId as string; if (!sessionId) { - throw new InputError('sessionId is required'); + res.status(400).contentType('text/plain').write('sessionId is required'); + return; } const transport = transportsToSessionId.get(sessionId); if (transport) { await transport.handlePostMessage(req, res, req.body); } else { - throw new NotFoundError( - `No transport found for sessionId "${sessionId}"`, - ); + res + .status(400) + .contentType('text/plain') + .write(`No transport found for sessionId "${sessionId}"`); } }); return router; diff --git a/plugins/mcp-actions-backend/src/services/McpService.ts b/plugins/mcp-actions-backend/src/services/McpService.ts index ce31aa62bb..08d0668566 100644 --- a/plugins/mcp-actions-backend/src/services/McpService.ts +++ b/plugins/mcp-actions-backend/src/services/McpService.ts @@ -42,6 +42,7 @@ export class McpService { ); server.setRequestHandler(ListToolsRequestSchema, async () => { + // TODO: switch this to be configuration based later const { actions } = await this.actions.list({ credentials }); return {