Plumbline

AI assistants use external tools. Each tool describes what it does, and the assistant trusts that description. Plumbline records those descriptions every week, so if one quietly changes after you approved it, there is public evidence.

Why this matters

A tool description is the short text and schema a tool publishes so an assistant knows what the tool is for, what inputs it takes, and what it claims to do. Assistants read that text the way a person reads a label.

When you connect a tool, you are usually approving that label, not re-reading it every day. The assistant will keep obeying whatever the label says on the next run.

If the label changes later (new URLs, new file paths, new instructions) and nobody notices, the assistant may start doing things you never agreed to. A public weekly record makes that kind of silent change harder to hide.

What this site is and is not

This site is

  • A public record of observed tool descriptions, stored as hashes
  • Verifiable by anyone with the published key and the CLI
  • Updated on a weekly crawl schedule during the study

This site is not

  • An accusation against any server or author
  • A list of findings or severity scores (those are withheld until the study ends)
  • A security product, scanner, or app store
Study in progress. Week 1 of 6. Findings are not published until the pre-registered kill tests are evaluated. See docs/LIMITATIONS.md. Absence of findings on this site is not itself a finding.

How to check the record yourself

You do not have to trust this website. Use the command-line tool to check the published signatures. Step-by-step instructions: Verify.

Technical overview

Under the hood, Plumbline is an append-only Merkle transparency log of publicly published MCP tool metadata. MCP (Model Context Protocol) is the common way many assistants talk to external tools. Tool metadata is the description, schemas, and annotations a tool publishes. Each observation is stored as a canonical hash (a fingerprint of the normalized metadata), not as the full description text on this site.

Entries are arranged in a Merkle tree (a structure where each batch of data has a single root fingerprint). Periodically the operator publishes a signed tree head (the root fingerprint plus a digital signature). Anyone can check inclusion proofs (proof that a specific entry is in the tree) and consistency proofs (proof that a later tree still contains an earlier one). That is the same idea as Certificate Transparency and Sigstore Rekor, applied to MCP tool metadata.

Drift, in this project, means a change in a tool’s canonical metadata relative to a prior observation of the same server and tool. This site does not publish drift findings while the study is running. The log itself is public so the tree can be verified independently.

Zero third-party requests

This site makes no analytics calls, loads no webfonts, and contacts no CDN. Assets and JSON are self-hosted. That matches the CLI’s local-check promise: nothing phones home.

Governance