MCPSearch

How it works

Registries publish what exists now. Every one of them overwrites yesterday to do it. This records what existed then, every day, and keeps it.

77,771
Servers tracked
438,757
Versions recorded
596,916
Artifacts stored
6.31 TB
Bytes held

What happens every day

  1. The registry is crawled in full. Every server and every version, page by page, then written as one file per server version and one roll-up for the day. The roll-up is a diff against yesterday: what appeared, what changed, what stopped being listed.
  2. The day is committed. The record lives in version control, so the history is the commit history. A day that was never crawled is a day that is gone, which is why this job retries, has a second attempt twelve hours later, and raises an alarm if no snapshot is recorded within twenty six hours.
  3. Every published artifact is fetched. npm tarballs, Python wheels and sdists, container images layer by layer, and source archives from GitHub. New versions on the day they appear, and older ones on a rolling recheck, because a package can be republished over an existing version number without saying so.
  4. Each artifact is verified, then addressed by its own hash. The SHA-256 of the bytes is the storage key. Identical bytes are stored once however many servers ship them, a stored object cannot disagree with its own address, and bytes that do not match what the publisher declared are never written at all.
  5. The result is compared with what was held before. A hash that changed under a version number that did not is the event this exists to catch.

The shape of it

Five sources in, one content-addressed archive out, with the change events falling out of the comparison in the middle.

Nothing is deleted. A server leaving a source is recorded as leaving it, not removed from the record.

What is watched for

Where the listings come from

The official MCP Registry, a GitHub search for repositories that never registered anywhere, and the catalogues other people publish: Smithery, Docker's curated catalogue, Cline's marketplace, npm and PyPI. Each is enumerated daily and each day's listing is kept, because a catalogue is a current-state publisher too, and its opinion on a given day is not recoverable afterwards either.

Badges on a server say who made the claim. Presence in the official registry, in Docker's catalogue, or a verified mark from Smithery are different assertions by different parties, and none of them is ours.

What this cannot tell you

Worth stating plainly, because a record that overstates itself is worth less than one that does not.

Who runs it

MCPSearch is a service of Calubit LLC. If you want the history behind a particular server, or a feed of changes for the ones your organisation depends on, say so below. Every message is read by a person.