redhat-developer / redhat-developer/rhdh-plugins

MCP Registry — AI Asset Annotation Enrichment (issue 14 of 29)

Open
#4,052 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

blocked workspace/boost
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 RhdhMcpRegistryProviderWrapper class 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-version annotation (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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.