Ecosystem Reports / August 4, 2026
MCP servers move faster than many directories can revalidate their metadata. A repository can be renamed, transferred, archived, made private, or deleted while the server name and remote endpoint continue to exist.
Twenty-one percent of this dated sample was not stable at its declared GitHub location. That is a sample result, not an estimate for the entire MCP ecosystem. An unavailable lookup also does not explain why a repository could not be read: deletion, privacy changes, access restrictions, and malformed or stale metadata can look the same from a public audit.
At , the audit traversed all 201 pages returned by the official Registry’s latest-version API: 20,014 latest records, including 19,802 marked active. Those active records contained 15,929 exact GitHub repository mappings representing 14,408 unique repositories.
We selected 200 unique repositories using the lowest SHA-256 hashes of a published seed plus each normalized owner/repository value. GitHub’s GraphQL API then returned the canonical repository name, archive state, disabled state, URL, and last push time. The method prevents hand-picking but does not make the result statistically representative.
Download the complete dated audit (JSON) · Official Registry documentation · GitHub GraphQL documentation
A repository URL is a mutable source-location claim. It is useful, but it is not a durable server identity, proof of current ownership, or evidence that a remote MCP endpoint works. Treating those concepts as interchangeable creates link rot and can silently attach old directory records to stale implementation locations.
The better model separates three things:
last checked timestamps and distinguish renamed, transferred, archived, unavailable, and malformed mappings.After moving a repository, publish an updated Registry record and preserve the platform redirect where possible. Keep the server name and remote endpoint stable when the product identity has not changed. Clear migration notes help clients distinguish an intentional transfer from an abandoned mapping.
Server pages now make the boundary visible: the Registry name is the evidence key, the repository is labeled as a mutable Registry-declared mapping, and the operational endpoint remains separate. This does not yet claim complete alias history. The next step is continuously checking repository mappings and retaining dated transitions without changing operational grades.
This audit measures repository-reference state at one timestamp. It does not establish why a repository moved; measure endpoint availability, code quality, security, privacy, or compliance; or attribute intent to a maintainer. Missing evidence remains unknown.