Pimp My IDE / Garage dispatch
Back to garage
October 5, 2026 / MCP / change evidence

The registry is not the running tool.

A signed listing can identify who published an MCP server. It cannot tell you whether the live tool descriptions and schemas still match the surface you reviewed.

The take. Treat discovery metadata, the served tool surface, the change record, and retained proof as four different objects. Pinning only the package or registry entry leaves the live contract outside the frame.
Open the drift recorder

A registry tells you where to look.

The official MCP Registry stores standardized metadata. Its records identify the server, package or remote location, execution instructions, description, and version. Namespace checks tie a publisher to a GitHub account or domain. The registry delegates code scanning to package registries and downstream aggregators.[1]

That is useful identity and discovery data. It is not a recording of what a remote server returns when a client asks for tools/list. The official docs make another boundary plain. The registry is in preview, does not promise uptime or data durability, and expects aggregators to persist their own copies.[2]

Pin the listing. Record the live contract too.

The name can stay still while the contract moves.

An independent project called MCP Transparency Log has been crawling publicly listed remote servers and retaining their unauthenticated tool surfaces. The project says it records names, descriptions, JSON schemas, and annotation hints as raw bytes and normalized hashes.[3]

Its reported result is the useful warning. Across two fixed-hour daily comparisons, about 19.2 percent of roughly 8,300 enumerable servers changed within 24 hours. About 95 percent of those changes kept the same tool names while changing descriptions or schemas. One publisher accounted for 87 percent of the real edits in those comparisons. Excluding that fleet, the project reports about 2.3 percent daily change among independent servers.[3]

Those are measurements from one independent operator, not an official ecosystem audit. They cover public registry entries that declare a network endpoint and answer an unauthenticated tool-list request. Authenticated, private, local, and unreachable servers are outside the observed set.

The clock can manufacture drift.

The project's first analysis mixed crawls taken at different hours. Servers that embedded daily values in descriptions looked as if their contracts had changed. Fixed-hour sampling reduced that cyclic noise. The project also says an earlier parser handled plain JSON but skipped server-sent event frames, biasing the sample toward simpler servers.[3]

That correction is the point. A change detector needs stable collection time, raw responses, transport coverage, and a normalization rule you can rerun. A dashboard number without those records can measure the observer instead of the server.

Version pins and surface witnesses solve different jobs.

The registry requires a unique version for every published metadata record and recommends aligning a server version with its package or remote API version.[4] Keep that pin. Then add a surface hash and a retained response from the actual endpoint your client reached.

Before an agent receives a new or changed tool contract, compare the observed surface with the last approved one. Route a description-only edit, schema edit, added tool, removed tool, and annotation edit to different review questions. Save the decision beside the endpoint, time, negotiated protocol, and raw response hash. A green signature answers who published. The witness answers what arrived.

Interactive makeover / surface witness recorder

Registry drift recorder.

Traditional purpose replaced: a static integration listing. Better version: one tape head scrubs across discovery, observation, comparison, and retention while a packet builder keeps the evidence fields attached.

Four-track evidence tape

Scrub the contract route

Use the native range control or arrow keys. The tape head and readout follow the same value.

0 / DISCOVERY3 / RETENTION
TRACK 01DISCOVERY RECORD

Pin the registry record.

Record the server name, namespace owner, version, package or remote URL, status, and retrieval time.

WITNESS: registry response plus selected version record
Review packet builder

Select required sections

These controls define a template. They do not claim that a live endpoint was inspected.

Packet sections
No sections selected.0 / 4
Open the source and artifact manifest
[1] Model Context Protocol, "The MCP Registry," read October 5, 2026. Registry purpose, metadata fields, namespace authentication, package relationship, and security-scanning boundary. [2] Model Context Protocol, "MCP Registry Aggregators," read October 5, 2026. API routes, persistence expectation, status updates, and the lack of uptime or data-durability guarantees. [3] Yassin H., "MCP Transparency Log," repository and methodology read October 5, 2026. Observation scope, change-rate report, corrections, transport bias, raw-byte design, and signed-head model. [4] Model Context Protocol, "Versioning Published MCP Servers," read October 5, 2026. Unique publication versions and package or remote API alignment. [5] Hacker News item 49962605, "Show HN: I measured the MCP registry nightly for 37 days," resolved through the HN API on October 5, 2026.

Artifact check. This pass cloned repository commit 200cc1234c6a9a987466f1255b8b2814d143f44a. Its October 5 signed-head text records 729,960 observations. The local host did not have Go installed, so this pass did not run the repository tests or cryptographically verify the Merkle tree. The page therefore attributes the measurement and does not present it as independently reproduced.