redhat-developer / redhat-developer/rhdh-plugins
RHOAI — MCP Catalog Source and Module Scaffold (issue 15 of 29)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 48
- Forks
- 120
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 337
Description
Labels: ready-to-code
Depends on: Issue 8 (#4046 SDK annotation scheme)
RHIDP Stories: RHIDP-15322
Feature: RHDHPLAN-1510 — Epic RHIDP-15314
Implement RhoaiMcpCatalogProvider with graceful 404 handling for developer-preview MCP catalog API, entity mapping (MCP catalog entry → API with spec.type: mcp-server), API response schema validation with Zod, and retry logic for unavailable API. Scaffold catalog-backend-module-rhoai backend module package.
Tasks
From openspec/changes/rhoai-connector/tasks.md group 1 (RHIDP-15322):
- 1.1 Define RHOAI MCP catalog API response types with Zod schemas
- 1.2 Implement
McpCatalogApiClientwith typed fetch - 1.3 Implement
RhoaiMcpCatalogProviderextendingEntityProvider - 1.4 Implement entity mapper: MCP catalog entry → API with
spec.type: mcp-server - 1.5 Add MCP-specific annotations
- 1.6 Implement
connect()method with graceful 404 handling andmcpApiAvailableflag - 1.7 Implement
read()method returning empty array when API unavailable - 1.8 Implement retry logic: every 10th refresh cycle
- 1.9 Implement API response schema validation with Zod
- 1.10 Add
rhdh.io/api-version-mismatchannotation when API version differs - 1.11 Add standard RHDH annotations
- 1.12 Implement logging for API availability transitions
From openspec/changes/rhoai-connector/tasks.md group 3:
- 3.1 Create
plugins/catalog-backend-module-rhoai/package directory - 3.2 Create
package.jsonwith Backstage backend module role - 3.3 Create module entry point with
createBackendModule - 3.4 Register
RhoaiMcpCatalogProviderwhen enabled - 3.5 Add module to
backend/src/index.ts - 3.6 Configure TypeScript build
- 3.7 Add ESLint and Prettier configuration
Specifications
openspec/changes/rhoai-connector/specs/mcp-catalog-source/spec.md
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read openspec/changes/rhoai-connector/specs/mcp-catalog-source/spec.md and openspec/changes/rhoai-connector/tasks.md, then inspect the existing backend module structure and backend/src/index.ts. Implement the provider and API client behavior described in tasks 1.1–1.12, scaffold plugins/catalog-backend-module-rhoai, and register it as specified in tasks 3.1–3.7. Done means the module builds and handles unavailable or version-mismatched APIs as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend, build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100