redhat-developer / redhat-developer/rhdh-plugins
MCP Registry — AI Asset Annotation Enrichment (issue 14 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 (#TBD SDK validation layer), Issue 13 (#TBD TLS hardening)
RHIDP Stories: RHIDP-15319
Feature: RHDHPLAN-1510 — Epic RHIDP-15313
Cross-feature dependency: RHIDP-15319 depends on RHIDP-15655 (Implement MCP Registry entity provider, RHDHPLAN-393) and RHIDP-15658 (Implement MCP Registry to entity mapping, RHDHPLAN-393). The upstream provider and its entity mapping must exist before the productization wrapper can intercept entity emission for annotation enrichment.
Implement RhdhMcpRegistryProviderWrapper class intercepting entity emission to enrich with AI Asset annotations (rhdh.io/ai-asset-category: "mcp-server", rhdh.io/ai-asset-source: "mcp-registry", extracted version), integrate with SDK validation layer, and preserve existing annotations.
Tasks
From openspec/changes/mcp-registry-connector/tasks.md group 3 (RHIDP-15319):
- 3.1 Implement
RhdhMcpRegistryProviderWrapperclass wrapping upstream connector - 3.2 Implement entity emission interception before
applyMutation - 3.3 Implement annotation enrichment logic (
enrichWithAiAssetAnnotations()) - 3.4 Add
rhdh.io/ai-asset-category: "mcp-server"annotation - 3.5 Add
rhdh.io/ai-asset-source: "mcp-registry"annotation - 3.6 Implement version metadata extraction from MCP server manifest
- 3.7 Add
rhdh.io/ai-asset-versionannotation (extracted or "unknown") - 3.8 Add graceful degradation: enrichment failure logs warning, emits entity without annotations
- 3.9 Add preservation logic: do not overwrite existing AI Asset annotations
- 3.10 Add DEBUG-level logging for enriched entities
- 3.11 Integrate with RHDHPLAN-1507's SDK validation layer
- 3.12–3.14 Prometheus metrics for enrichment
- 3.15–3.21 Unit and integration tests
- 3.22–3.23 Documentation
Specifications
openspec/changes/mcp-registry-connector/specs/annotation-enrichment/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
Start with openspec/changes/mcp-registry-connector/specs/annotation-enrichment/spec.md and tasks.md group 3, then review the upstream provider, entity mapping, and SDK validation layer dependencies. Done means the wrapper enriches emitted entities without overwriting annotations, handles failures gracefully, exposes the listed metrics and logging, and passes the required unit and integration tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- prometheus, typescript
- Domain
- api, backend, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100