addrbookFor publishers
← The evidence ledger

Evidence row 238933

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 5f20f8ed-c33e-4b11-ae9a-3a4134ad5512
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
8fe3fa8bcdf2f898f7205b2708899e093a33e130b450684cd19bd2493f258655
Leaf
0xf1285bbbefd0fde338cd828d1ae1d19b700364a69fd5ae99b6b5c784d52fcc23

What was observed

{
  "count": 31,
  "tools": [
    {
      "description": "Advisories broken down by severity rather than counted, with identifiers and dates. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "advisory_severity"
    },
    {
      "description": "Read a whole manifest and return every reading on record for it, ordered by how much a reviewer would want to know. One call instead of one per dependency. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "filename": {
            "type": "string"
          },
          "manifest": {
            "type": "string"
          }
        },
        "required": [
          "manifest"
        ],
        "type": "object"
      },
      "name": "audit_manifest"
    },
    {
      "description": "For a container base image: its size, when it was last rebuilt, and whether the OS underneath it is still supported. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "image": {
            "type": "string"
          }
        },
        "required": [
          "image"
        ],
        "type": "object"
      },
      "name": "base_image_check"
    },
    {
      "description": "Call this before adding a dependency. Returns only the facts a reviewer would be annoyed to discover afterwards: whether the publisher has withdrawn the package, whether it runs scripts on the installing machine, whether its repository is archived, how many advisories are on record, whether the licence is source-available, and how long since it was actually published. Each fact carries the address of the body that published it. It does not say whether to install; it says what is on record.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "check_before_install"
    },
    {
      "description": "Check whether a runtime, database or framework release is still receiving security fixes, and what to move to. Covers about two dozen products read daily from endoflife.date.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cycle": {
            "description": "Release line, e.g. 3.9 or 20. Omit for every cycle.",
            "type": "string"
          },
          "product": {
            "description": "Product as endoflife.date spells it, e.g. python, nodejs, postgresql.",
            "type": "string"
          }
        },
        "required": [
          "product"
        ],
        "type": "object"
      },
      "name": "check_eol"
    },
    {
      "description": "Read the current standing of one open-source package: downloads with the window they cover, OpenSSF scorecard, advisory count, licence, whether the repository is archived, and when it was last pushed to.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "check_package"
    },
    {
      "description": "Recorded incidents for a hosting or API provider over a window, kept after the provider’s own status page dropped them.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "days": {
            "maximum": 730,
            "minimum": 1,
            "type": "integer"
          },
          "provider": {
            "description": "Provider slug, e.g. cloudflare, openai, github. Omit for every provider.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "check_provider"
    },
    {
      "description": "Read a whole dependency list at once and report what is archived, what carries advisories, what has a source-available licence, and what has not been pushed to in a year. Use when reviewing a package.json, requirements.txt, Cargo.toml, composer.json or Gemfile.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "names": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "names"
        ],
        "type": "object"
      },
      "name": "check_stack"
    },
    {
      "description": "Hold two watched repositories against each other across downloads, OpenSSF scorecard, advisories, forks, stars and findings on record. Compares only; it does not pick a winner.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "a": {
            "description": "Repository as owner/name.",
            "type": "string"
          },
          "b": {
            "description": "Repository as owner/name.",
            "type": "string"
          }
        },
        "required": [
          "a",
          "b"
        ],
        "type": "object"
      },
      "name": "compare_repositories"
    },
    {
      "description": "What changed for a set of packages since a given date, read from the daily archive. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "names": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "since": {
            "description": "YYYY-MM-DD.",
            "type": "string"
          }
        },
        "required": [
          "names",
          "since"
        ],
        "type": "object"
      },
      "name": "diff_since"
    },
    {
      "description": "Whether the domains a package points at — homepage, funding, documentation — still resolve to a registered owner. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "domain_risk"
    },
    {
      "description": "Given a finding id, return what was measured, when, by whom, and the address it can be checked at. For an agent quoting a figure into a review. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "explain_finding"
    },
    {
      "description": "Find language models by price and context window, from a catalogue read daily across sixty providers. Use this before choosing a model: prices move without announcement and training data is out of date on the day it ships.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "maxPrice": {
            "description": "Maximum USD per million prompt tokens.",
            "type": "number"
          },
          "minContext": {
            "description": "Minimum context window in tokens.",
            "type": "integer"
          },
          "provider": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "find_model"
    },
    {
      "description": "Packages that ask for funding, beside how heavily they are installed and how many people write them. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "funding_gap"
    },
    {
      "description": "For a technology tag: questions asked against questions answered, over time. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "tag": {
            "type": "string"
          }
        },
        "required": [
          "tag"
        ],
        "type": "object"
      },
      "name": "help_availability"
    },
    {
      "description": "List every reading this server can return, what each one measures, and which require a key. Call this first if unsure which tool answers a question.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "list_readings"
    },
    {
      "description": "Every recorded price for a model, with the date each was read. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "model": {
            "type": "string"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "name": "model_price_history"
    },
    {
      "description": "Models that were in the catalogue and no longer are, with the date last seen. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "model_withdrawn"
    },
    {
      "description": "How the published artefact size has moved over time. Returns the readings taken, not a verdict. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "package_weight_history"
    },
    {
      "description": "A provider’s recorded incidents, grouped by the component that failed, over the whole archive rather than the window its status page shows. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "type": "string"
          }
        },
        "required": [
          "provider"
        ],
        "type": "object"
      },
      "name": "provider_incidents"
    },
    {
      "description": "When a provider last changed its terms or pricing page, from a stored fingerprint of the page. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "provider_terms_changed"
    },
    {
      "description": "How long a provider takes to acknowledge an incident: the interval between an incident starting and its first public update. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "provider_transparency"
    },
    {
      "description": "Recorded outages of the package registries themselves, kept after their status pages drop them. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "registry": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "registry_health"
    },
    {
      "description": "Support end dates for the runtimes a dependency set requires, including any already past. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "names": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "names"
        ],
        "type": "object"
      },
      "name": "runtime_deadlines"
    },
    {
      "description": "Find watched repositories whose name contains a string, with their current readings. Use it to discover what is covered before calling the other tools.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_repositories"
    },
    {
      "description": "Days between an advisory being published and a release appearing that postdates it, per package and as a distribution. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "time_to_fix"
    },
    {
      "description": "Whether a name is one edit away from a more widely installed package. States that both names exist; which one was meant is the caller’s call. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "typosquat_check"
    },
    {
      "description": "Add a package to the caller’s own private watchlist, so later readings are about their stack rather than the public one. The list is private to the key that created it. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "watch_add"
    },
    {
      "description": "Everything that has changed across the caller’s private watchlist since a given date: withdrawals, licence changes, advisories, archived repositories and runtimes going out of support. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "since": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "watch_changes"
    },
    {
      "description": "How many accounts hold publish rights on a package, as the registry lists them. Answers who can put code on your machine, which is a different question from who writes it. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Package name as the registry spells it.",
            "type": "string"
          },
          "registry": {
            "type": "string"
          }
        },
        "required": [
          "registry",
          "name"
        ],
        "type": "object"
      },
      "name": "who_can_publish"
    },
    {
      "description": "Packages whose own publisher has withdrawn them and which are still being installed heavily, with the download figure and the publisher’s notice. Requires a key; see https://sighttrue.com/pricing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "withdrawn_but_installed"
    }
  ]
}

What the leaf hashes

{"body":"8fe3fa8bcdf2f898f7205b2708899e093a33e130b450684cd19bd2493f258655","id":238933,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793029267910467,"prev":null,"subject":"5f20f8ed-c33e-4b11-ae9a-3a4134ad5512","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xf12836739b5a259f79b02cd4b877fe7a1cedf913430c6953ad0aa2d6a09078c3
  2. 0x1622a30d1cfc8fc664678b0bb2701e88f0e470bab14ee17aa5fdcff36485a207
  3. 0x9c2f0b984e3bb92738fb3d9b2ee85956f3f3bea859170ed50e7514fe8c6bebb9
  4. 0xb0c8a026297eeb070605a493026fae2a4cdb58cd50439c6d9f0f79412d61f81c
  5. 0xa5f28100bba662dc4cebfd0d24ed9be8821ec88267f4fa91b54eeef78a8d5e91
  6. 0x4f6295904daedc5388c8be1aff9d13951cb9208723bca34a3b2019bd49c8916f
  7. 0x15b0febd995a4e29b5d03fb6577f016bc36ca0df7bf87cf342658c5f615a5f25
  8. 0xc99b22339bffe686998fc6f683086e4ecc034cb7435074e703a99393c21aea8f
  9. 0xc3596fbad3e4207c4410d395b8a81b3dc359044751f1caefc61e494d58d39d1a
  10. 0x7d04371228279440387b9131e1ecd711e15d7ec89ef830b07659d5cf6474b401
  11. 0x514d76e971925e71327eba8800da6dbdf3c60a7c174890b0694dc64fd775ac72
  12. 0x4d2e94451b5ffc570a23dee9d1525bc305f1009994ffe23d8e2e7d45c60f6209
  13. 0xa26f0437cba4d7d64f1cf98bf4f490e1ebb6f66a5e2331537b7ba8b3061084e0
  14. 0xd769d41500075835c3b2f9184d223699fb983fd05c29fbcb44d964abc7ee380d
  15. 0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a
  16. 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
  17. 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON