addrbookFor publishers
← The evidence ledger

Evidence row 994478

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 651c6ad6-cbdb-476b-8c42-11e9b1511dd7
Recorded
Previous row
#304855
Body SHA-256
ff6f80297782ec59d074efed554949f200dc0ba2cc82c49e4c44cd896c3e6968
Leaf
0x77916a5cab8e1fdb41ffe1296e88dd26fa5df40a78293aa18b36a2bb795f300f

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Get one news event in detail. A cluster is a single real-world event assembled from many outlets covering the same happening and deduplicated into one item, so you get one event rather than 20 near-duplicate headlines. Returns its summary, a significance score (1 to 10, where 8 and above is exceptional), a source count, the situation it belongs to if any, and its underlying source articles with links. It returns up to 100 representative articles, one per source; `sources` and `articles_total` are the full count, and `articles_truncated` says whether the list was cut. Use this when the user wants the specifics of one event. Get a cluster id from search_situations, get_situation_timeline, or a clstr.news URL. Results carry canonical clstr.news links. (Requires sign-in, or a free API key: https://clstr.news/developers)",
      "inputSchema": {
        "properties": {
          "articles": {
            "description": "How many source articles to return, 1 to 100. Default 100. Lower it when you only need a few citations; the source count is reported separately and is unaffected.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "cluster_id": {
            "description": "Cluster id or slug (from timelines, search, or clstr.news URLs).",
            "type": "string"
          }
        },
        "required": [
          "cluster_id"
        ],
        "type": "object"
      },
      "name": "get_cluster"
    },
    {
      "description": "Get the full chronological timeline of one situation. A situation is an ongoing storyline (story arc) that groups related news events over time; it carries a maintained summary plus every event in order, so you see not just what happened but how it developed. Each event is a cluster (one happening assembled from many outlets and deduplicated) with its date, a significance score (1 to 10, where 8 and above is exceptional), a source count, and a canonical clstr.news link. Use this to brief on a story's history or answer 'how did this develop'. Get a situation id from search_situations or get_top_situations, or from a clstr.news URL. An id that was retired when two situations merged resolves to the successor, flagged with merged_into_shown. Results carry canonical clstr.news links.",
      "inputSchema": {
        "properties": {
          "situation_id": {
            "description": "Situation id or slug (from other tools or clstr.news URLs).",
            "type": "string"
          },
          "timeline_before": {
            "description": "Cursor: cluster id (a UUID) from a previous page, to continue past it.",
            "type": "string"
          },
          "timeline_limit": {
            "description": "Timeline entries to return, newest first. Default 50, and 50 is also the maximum without an API key. A free key raises it to 500: https://clstr.news/developers",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "situation_id"
        ],
        "type": "object"
      },
      "name": "get_situation_timeline"
    },
    {
      "description": "List the situations developing right now, ranked by relevance: a blend of significance, how many outlets are covering it, and how recently it moved. So a lower significance score can rank above a higher one, and that ordering is intentional; do not re-sort. A situation is an ongoing storyline that groups related news events over time and carries a maintained summary and a source count (how many outlets are behind it). Optionally filter by category, by country, and by time window (24h, 7d, or 30d), and switch the ordering to newest activity first with sort. Use this to answer 'what is going on in the world', 'what is happening in <category>' or 'what is happening in <country>' when there is no specific topic yet, then open any result with get_situation_timeline. When there are more, the result ends with a cursor to page further. Pass summary: \"full\" to get each situation's maintained summary in full, instead of a one-line preview, without a follow-up call per result; full summaries in a list are not enabled for every account, so read summary_mode in the result to see what you got, and use get_situation_timeline for one situation's summary in full. Results carry canonical clstr.news links.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Optional category filter.",
            "enum": [
              "politics",
              "business",
              "technology",
              "health",
              "sports",
              "culture",
              "international",
              "crime"
            ],
            "type": "string"
          },
          "country": {
            "description": "Optional country filter: comma-separated ISO 3166-1 alpha-2 codes, for example \"US,GB\". Up to 10 at once. A situation matches if it is covered in any of them.",
            "maxLength": 200,
            "type": "string"
          },
          "cursor": {
            "description": "From a previous result, to page further. Pass the same filters alongside it: a cursor resumes only under the filter set that produced it.",
            "type": "string"
          },
          "limit": {
            "description": "Max situations to return. Default 15.",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "Ordering. 'relevance' (the default) blends significance, source count and recency; 'recent' is newest activity first.",
            "enum": [
              "relevance",
              "recent"
            ],
            "type": "string"
          },
          "summary": {
            "description": "How much summary text each row carries. 'preview' (the default) is a one-line preview; 'full' returns the maintained summary in full, so you do not need a follow-up call per result. On get_top_situations, 'full' is not enabled for every account: read `summary_mode` in the result to see which mode was actually served, and get_situation_timeline always returns one situation's summary in full. 'full' returns each situation's complete summary, up to roughly 300 words per row, so keep limit small when you use it.",
            "enum": [
              "preview",
              "full"
            ],
            "type": "string"
          },
          "window": {
            "description": "Time window. Default '7d'.",
            "enum": [
              "24h",
              "7d",
              "30d"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "get_top_situations"
    },
    {
      "description": "Search the news by topic to find matching situations and events. A situation is an ongoing storyline (story arc) that groups related events over time; an event, called a cluster, is one happening assembled from many outlets and deduplicated into a single item, so you get one event rather than 20 near-duplicate headlines. Results come back grouped under their situations, each with a one-line summary, a significance score (1 to 10, where 8 and above is exceptional), a source count (how many outlets are covering it), and a canonical clstr.news link. Use this to answer 'what is happening around X' for a topic, company, country, or event. Then open a result with get_situation_timeline for the full history, or get_cluster for one event's detail. Results are relevance ordered and bounded to the top matches: when there are more, the result ends with a cursor to pass back, and each page counts as one search against your cap. Pass summary: \"full\" to read each match's summary untruncated instead of one line. Results carry canonical clstr.news links. (Requires sign-in, or a free API key: https://clstr.news/developers)",
      "inputSchema": {
        "properties": {
          "cursor": {
            "description": "From a previous result, to page further. Each page counts as one search against your cap.",
            "type": "string"
          },
          "days": {
            "description": "How far back to search, in days. Default 7, maximum 30.",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "limit": {
            "description": "Max events to return. Default 15. They are grouped under their situations in the result, so you may see fewer situation headings than this number.",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "Topic, entity, company, country, or event to search for.",
            "maxLength": 200,
            "type": "string"
          },
          "summary": {
            "description": "How much summary text each row carries. 'preview' (the default) is a one-line preview; 'full' returns the maintained summary in full, so you do not need a follow-up call per result. On get_top_situations, 'full' is not enabled for every account: read `summary_mode` in the result to see which mode was actually served, and get_situation_timeline always returns one situation's summary in full.",
            "enum": [
              "preview",
              "full"
            ],
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_situations"
    }
  ]
}

What the leaf hashes

{"body":"ff6f80297782ec59d074efed554949f200dc0ba2cc82c49e4c44cd896c3e6968","id":994478,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793248344340687,"prev":304855,"subject":"651c6ad6-cbdb-476b-8c42-11e9b1511dd7","subject_kind":"endpoint"}

Proof

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

  1. 0x77907e847a7a4c89833fbca26dbe77200d63b39435fc041f5ea9ca3c92d92a39
  2. 0x5b8d4fe07e9e40a8bc06a789b2c99e8c102b5d196eaa739d26050c11bb11c7da
  3. 0xe0a05986886427682ab71a421cad7c384b5c054bfa49103a748037f490d0582f
  4. 0x7ee8c4808df0aefc4b7e75f59f27e6ad2f39e743b1a41cdd3360d743363f2232
  5. 0xc943f2e2df07ef16e4ac6d4ce5deeef7e0910c51d732b5ff42742b86e32d8eb0
  6. 0xe22999ce4ee5e125cfb74b4fffa1ffe4f64f85955f9c4c2d560c95d7ce38026a
  7. 0x54db23920270148e26856b32f1f9810f6199e2fd67bfba77ddd54ce28f20e626
  8. 0x1f0d1256c75d8ad33a9c7984eb4524b4f985e55e4a98b3b186bfbccedc9a1821
  9. 0x829afb3db322c0ea2d2fcf76ffe831ee5dd7e8f6d1c7d2510b6fb4fbcc32b7d4
  10. 0x3bbc516ffd72f3e5ce29cea0a473589da3999931eb7e99ad2f1bc37eca068d88
  11. 0xac5cf748b81be5e8ee50cf8d1eb6fb243a0f6fd09d0d497d248cb566f662c7d5
  12. 0x63a11cd9e65d16993c0e702ce6d7bda551e5a72e62115aaf790a2e3519c7fac6
  13. 0xc0f950bf9c872c684cf701ee03b280e31f9fd7a44bed4df783964fd0df78d0c2
  14. 0xa07c03f1ff4a33c8a0105ab761d762ba211920a4e09af3e5ae84b51a3c4cf51b
  15. 0x60b5befbd81f025904c8a3936b7ba86e3245ad5b37c615d01d42aa3227e3ed2e
  16. 0xe2d603cd6f987214550319ad4fa39952b6098bc5c1b20893b6b80e8d82a79934
  17. 0x91f12a2db1e2c1be07cbe4de3981a37a33051a36d3c3eee5a260804add6d1d75
  18. 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON