[Roadmap] Publish and validate MCP Registry metadata#438
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds a checked-in MCP registry manifest and a Node/Ajv validator, tests that assert manifest ↔ package.json alignment (including CLI args and env var), CI and npm script wiring for validation, and README/release docs updates describing the manifest and validation command. ChangesMCP Registry Metadata Definition and Validation
Sequence DiagramsequenceDiagram
participant validate_mjs as validate-mcp-registry.mjs
participant package_json as package.json
participant server_json as docs/mcp-registry/server.json
participant AJV as AJV
participant Assertions as Assertions
validate_mjs->>package_json: load package metadata
validate_mjs->>server_json: load registry manifest
validate_mjs->>AJV: compile Draft-07 schema
validate_mjs->>AJV: validate server.json
AJV-->>validate_mjs: validation result
validate_mjs->>Assertions: run cross-file assertions
Assertions-->>validate_mjs: assertions pass / throw on failure
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/scripts/validate-mcp-registry.mjs:
- Around line 63-66: The JSON schema allows multiple package entries (packages:
{ type: 'array', minItems: 1 }) but later code (the logic around the first
package handling referenced at the block handling items around the code that
reads the first package) assumes exactly one; add an explicit constraint to
enforce a single-entry array by adding maxItems: 1 to the packages schema (i.e.,
packages: { type: 'array', minItems: 1, maxItems: 1, items: { ... } }) and
update any validation message around the code that selects the first package
(the logic at the section that reads only the first item) to reflect the
enforced single package rule.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: eb4d02df-f001-412c-a4f3-048f39db6f8f
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (7)
.github/scripts/validate-mcp-registry.mjs.github/workflows/ci.ymlREADME.mddocs/mcp-registry/server.jsondocs/release.mdpackage.jsontests/unit/mcp-registry-metadata.test.ts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
server.jsonfor the public@lubab/madarnpm packagenpm run registry:validatecommand and run it in CICloses #433
Summary by CodeRabbit
New Features
Chores
Documentation
Tests