I scanned 50,000 MCP server manifests: 543 violate the registry's own schema (here's the data)
Description and use
A scan of 50,000 MCP server entries found 543 schema violations. Publish‑time validation was added and the mcp‑registry‑lint tool is recommended to prevent future errors.
Problem
A small percentage (~1.1%) of Model Context Protocol (MCP) registry server manifests violate the published JSON schema, leading to broken client behavior and unreliable metadata.
Outcome
The audit uncovered 543 schema violations across 50,000 entries, prompting the registry to add publish‑time validation for repository fields and encouraging developers to use the linter to prevent future errors.
Workflow
- 1. Clone the mcp‑registry‑lint repository.
2. Run the linter against the registry API:
mcp-registry-lint --url https://modelcontextprotocol.io/api/servers. 3. Review the report; 543 violations will be listed. 4. For each violation, correct the manifest (e.g., add repository.url and repository.source). 5. Re‑run the linter to confirm all entries pass. 6. Submit a pull request to the MCP registry with the corrected manifests. 7. Optionally add the linter as a GitHub Action to enforce validation on future commits.
Evidence
543 entries (≈1.1%) violate the schema they were published under — in four distinct, manually verified defect classes, with zero false positives.
I reported class A upstream (registry#1546) with a minimal reproduction. Within ~12 hours a community contributor had opened a fix PR (#1555) adding publish-time validation for the repository fields.
- Record date: 2026-09-02T14:27:48.636Z