addrbookFor publishers
← The evidence ledger

Evidence row 308867

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 3ffa8930-76c3-4497-9cc2-5231f247cf00
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
bd53651c637d53856b36aaca7caa009fc3108ff56eacad6ab5dfed002e8f9ebc
Leaf
0x5d3fd1321d5c76b9c41febf66c3170b6d99e823201e4e1f6695f25e5e97d7969

What was observed

{
  "count": 16,
  "tools": [
    {
      "description": "Summarize the A2A agent registry — snapshot total and verified counts plus new and left agents over the last 7 days. Read-only aggregation of daily-collected observatory data; no side effects. Use when the user asks how the AI agent registry is growing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_agents_summary"
    },
    {
      "description": "Report collector health — coverage, per-source freshness and missed snapshot runs with reasons, separating recent misses from the whole recorded history; internal-only sources are excluded. Read-only aggregation of daily-collected observatory data; no side effects. Use when the user asks whether the observatory data is fresh or complete.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_data_quality"
    },
    {
      "description": "List tracked ecosystem events — without filters, counts per event type over the last 7 days plus the latest event of each type and a plain-word legend; set event_type or canonical_key for the full feed (limit/offset page through it), set since=YYYY-MM-DD to widen the window. Read-only aggregation of daily-collected observatory data; no side effects. For counts rather than the feed use the `get_*_summary` tools. Use when the user asks what changed recently in the ecosystem.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "canonical_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "event_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "limit": {
            "default": 100,
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "type": "integer"
          },
          "since": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "name": "get_ecosystem_events"
    },
    {
      "description": "Fetch the entity card for any tracked type (MCP server, agent, HF model, package) by canonical_key or natural name — all linked facts, categories, HF model license tiers, how to connect, recent events; field captions in fields_note. Name lookup matches exact aliases and canonical keys, not free-form text. Read-only aggregation of daily-collected observatory data; no side effects. Package download days may be missing (npm/PyPI reporting delay); missing days are null with notes, never fake zeros. Use when the user asks about a specific server, agent, model or package.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "canonical_key": {
            "type": "string"
          }
        },
        "required": [
          "canonical_key"
        ],
        "type": "object"
      },
      "name": "get_entity_profile"
    },
    {
      "description": "Summarize x402 agent-payment volume (DefiLlama) — latest stored day and the 7-day window split by chains with non-zero volume, with the data lag stated. Read-only aggregation of daily-collected observatory data; no side effects. Use when the user asks about agent payments or x402 volume.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_finance_summary"
    },
    {
      "description": "List repositories seen on GitHub Trending — last N days (1-100), newest first, with rank and stars gained today; limit/offset page through the list. Read-only aggregation of daily-collected observatory data; no side effects. For a project ranking by measured change use `get_leaderboard` instead. Use when the user asks what is trending on GitHub.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "days": {
            "default": 7,
            "type": "integer"
          },
          "limit": {
            "default": 100,
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "get_github_trending"
    },
    {
      "description": "Rank tracked entities (servers, agents, models) by a project-level metric — project_momentum (score: middle of star/download/HF-derivative growth ranks) or trend_days (days on GitHub Trending) over the 7d window; limit/offset page through the full ranked list. Numbers and catalog facts only, no quality scores. Read-only aggregation of daily-collected observatory data; no side effects. Package download days may be missing (npm/PyPI reporting delay); missing days are null with notes, never fake zeros. Use when the user asks what is rising; for the daily GitHub Trending list use `get_github_trending`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 20,
            "type": "integer"
          },
          "metric_id": {
            "default": "project_momentum",
            "type": "string"
          },
          "offset": {
            "default": 0,
            "type": "integer"
          },
          "window": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "name": "get_leaderboard"
    },
    {
      "description": "Summarize the Hugging Face model watchlist — model count, new arrivals, derivative net flow and the license tier mix. Read-only aggregation of daily-collected observatory data; no side effects. Use when the user asks about open LLMs and their licenses.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_llm_summary"
    },
    {
      "description": "Fetch the observatory front page in one call — MCP servers, A2A agents, HF models, x402 money, top-5 growth with one catalog line each, new arrivals per category and data coverage, a few headline numbers each. Read-only aggregation of daily-collected observatory data; no side effects; money figures carry their stated data lag. Use when the user wants the state of the whole market in a single request; for per-metric values with formulas use `get_pulse`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_market_overview"
    },
    {
      "description": "Summarize the MCP server ecosystem — unique servers, 7-day arrivals vs the previous 7 days, per-registry counts and new arrivals per category. Read-only aggregation of daily-collected observatory data; no side effects. Use when the user asks how big or how fast-growing the MCP ecosystem is.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_mcp_ecosystem_summary"
    },
    {
      "description": "Fetch daily download counts for an npm package — up to 100 days, with total, latest day and average over days that have data; days without collection are null with a note. Read-only aggregation of daily-collected observatory data; no side effects. Days inside the npm reporting delay are partial (shown, excluded from latest and average), never fake zeros. Use when the user asks how an npm package is growing; for side-by-side comparison use `get_package_comparison`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "days": {
            "default": 30,
            "type": "integer"
          },
          "package": {
            "type": "string"
          }
        },
        "required": [
          "package"
        ],
        "type": "object"
      },
      "name": "get_npm_trends"
    },
    {
      "description": "Compare npm/PyPI download activity for up to 20 packages — last 30 days: total, latest day and average (a longer list is cut and says so). Read-only aggregation of daily-collected observatory data; no side effects. Package download days may be missing (npm/PyPI reporting delay); missing days are null with notes, never fake zeros. Use when the user wants to compare package popularity side by side; for a single package's history use `get_npm_trends` or `get_pypi_trends`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "packages": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "packages"
        ],
        "type": "object"
      },
      "name": "get_package_comparison"
    },
    {
      "description": "List the protocol chronicle (MCP, A2A, AP2, x402) — releases and milestones, newest first, optionally filtered by protocol; limit/offset page through the entries. Read-only aggregation of daily-collected observatory data; no side effects. Use when the user asks when a protocol shipped something.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 20,
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "type": "integer"
          },
          "protocol": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "name": "get_protocols_timeline"
    },
    {
      "description": "Snapshot every observatory metric for one day — window values with formula, formula_plain, basis, and per-metric history depth (`metric_history_from`); insufficient history is a fact, never a fake zero. Read-only; daily collection, package download windows may lag. Use when the user asks for the current state of the AI agent ecosystem; for a narrative overview use `get_market_overview`, for one domain use the `get_*_summary` tools.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "as_of": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "name": "get_pulse"
    },
    {
      "description": "Fetch daily download counts for a PyPI package — up to 100 days, with total, latest day and average over days that have data; days without collection are null with a note. Read-only aggregation of daily-collected observatory data; no side effects. Days inside the PyPI reporting delay are partial (shown, excluded from latest and average), never fake zeros. Use when the user asks how a PyPI package is growing; for side-by-side comparison use `get_package_comparison`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "days": {
            "default": 30,
            "type": "integer"
          },
          "package": {
            "type": "string"
          }
        },
        "required": [
          "package"
        ],
        "type": "object"
      },
      "name": "get_pypi_trends"
    },
    {
      "description": "Search MCP servers by canonical_key (former keys included, they stay as aliases), name or description — substring match, not fuzzy search, ordered by stars when available; optional filters archived, has_repo, category, min_stars, pushed_before run in one request; limit/offset page through the matches. Read-only aggregation of daily-collected observatory data; no side effects. Name/keyword lookup over MCP servers only; for the card of a known entity use `get_entity_profile`. Use when the user gives a name, a task word (PDF, payment) or a filter and wants keys and facts.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "archived": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "has_repo": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "limit": {
            "default": 100,
            "type": "integer"
          },
          "min_stars": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "offset": {
            "default": 0,
            "type": "integer"
          },
          "pushed_before": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "query": {
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_mcp_servers"
    }
  ]
}

What the leaf hashes

{"body":"bd53651c637d53856b36aaca7caa009fc3108ff56eacad6ab5dfed002e8f9ebc","id":308867,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793058530942273,"prev":null,"subject":"3ffa8930-76c3-4497-9cc2-5231f247cf00","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. 0x5d3fc7903d15ac470eef0b575f81468637a32a99fa6c7968896d1f0b2f3fabfd
  2. 0x92403a7f19319067556e17da383b3037435911e75cc98d233221e36e8c9aa9c3
  3. 0xd629a8a9f9b0eb255645f0f6a05331293e9c24ce2e1fdc974c460323beef8555
  4. 0x871bf006f46e6a16f68e80439ca017b5ec562b5c16eb10622933d4d26b883476
  5. 0x20b611af8eb9b0cfb37123dd7a19974791cf82ff9b65779735450cfd5784ed88
  6. 0x19fe0861f345a35e628ed52f62c2dd8c6bb59febbb04086efa84487d6c608938
  7. 0xc24be3220ae727717362b40cca4e21d4838be031f5d77e71e579d7c0b1adcfb3
  8. 0x81454696cbda8a850702809540b97e3c3759bdee183441c3ab9de590184fd4eb
  9. 0x2dbfd5cce748a6fd4938d7cb87267e05234654474e1ff65d06ee76c8629d829d
  10. 0x71c75f9312be1c838a554f724b6fc57894e7c4486ab7e013b6a6a8d65cfaebea
  11. 0xb91bf0ba3ebff769d1b88f93fcb076477149787a7e31c3c28ce4fe8823b7c144
  12. 0x2121cc2dbcb8663af57743dc445c8a59e5bbfffe89703f0606c9843f0d35aff8
  13. 0x66883b42f4167ade51c4909f050c5478524e23786fb0b5c48bd1a53580960a68
  14. 0x216cebb9ae5414599109a02297c4817d7d1c6b1394afeb97efe38e32f0053974
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON