addrbookFor publishers
← The evidence ledger

Evidence row 2158321

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 148ffff4-c25e-4566-bf13-a04958b136d5
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a00a223131640fc52a06f505fe4dedd3b65d3fbcb160de611a014444c4d1c702
Leaf
0x68bd97eb158e63f153fb94d565457a80b63a824ca9d82357bb742729664d5e0b

What was observed

{
  "count": 13,
  "tools": [
    {
      "description": "The full record behind a search result: a track (play count, album, release date, genres, moods, BPM, credits), an artist (monthly listeners, followers, world rank, top cities, top tracks), an album (every track with play counts) or a playlist (details and its first 50 tracks with play counts). Takes an id from the search results (track:<id>, artist:<id>, album:<id>, playlist:<id>), a spotify: URI or an open.spotify.com URL.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "track:<id>, artist:<id>, album:<id> or playlist:<id> from search, a spotify: URI or an open.spotify.com URL.",
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "fetch"
    },
    {
      "description": "An album with its track list and (by default) every track's lifetime play count, plus the album total, release date, label, UPC and popularity.",
      "inputSchema": {
        "properties": {
          "album": {
            "description": "Spotify album id, spotify:album:<id> URI or open.spotify.com/album/<id> URL.",
            "minLength": 1,
            "type": "string"
          },
          "include_play_counts": {
            "default": true,
            "description": "Add each track's lifetime play count and the album total.",
            "type": "boolean"
          }
        },
        "required": [
          "album"
        ],
        "type": "object"
      },
      "name": "get_album"
    },
    {
      "description": "An artist's sound profile from their top tracks: genres, moods and activities with 0-1 weights, and tempo (average, min, max BPM). Up to 20 artists per call.",
      "inputSchema": {
        "properties": {
          "artists": {
            "description": "Spotify artist ids, spotify:artist:<id> URIs or open.spotify.com/artist/<id> URLs (1-20).",
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "artists"
        ],
        "type": "object"
      },
      "name": "get_artist_insights"
    },
    {
      "description": "One artist's profile: monthly listeners, followers, world rank, top cities, top tracks with play counts, latest release, discography counts, related artists, biography and social links.",
      "inputSchema": {
        "properties": {
          "artist": {
            "description": "Spotify artist id, spotify:artist:<id> URI or open.spotify.com/artist/<id> URL.",
            "minLength": 1,
            "type": "string"
          },
          "top_tracks": {
            "default": 10,
            "description": "How many top tracks to return (1-10).",
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "artist"
        ],
        "type": "object"
      },
      "name": "get_artist_overview"
    },
    {
      "description": "Monthly listeners, followers, world rank, popularity, genres and top 5 cities (with listener counts) for up to 50 artists in one call.",
      "inputSchema": {
        "properties": {
          "artists": {
            "description": "Spotify artist ids, spotify:artist:<id> URIs or open.spotify.com/artist/<id> URLs (1-50).",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "artists"
        ],
        "type": "object"
      },
      "name": "get_artists_stats"
    },
    {
      "description": "Spotify Charts by country: top_tracks (Top 200), viral_tracks (Viral 50, daily only), top_artists or top_albums. Each entry has rank, previous and peak rank, days (or weeks) on the chart, movement and, for top_tracks, the streams in that period. Defaults to the latest published daily chart.",
      "inputSchema": {
        "properties": {
          "chart": {
            "default": "top_tracks",
            "description": "Which chart.",
            "enum": [
              "top_tracks",
              "viral_tracks",
              "top_artists",
              "top_albums"
            ],
            "type": "string"
          },
          "country": {
            "default": "global",
            "description": "'global' or a 2-letter country code, e.g. 'us', 'br', 'mx'.",
            "type": "string"
          },
          "date": {
            "description": "Chart date YYYY-MM-DD; omit for the latest published chart.",
            "type": "string"
          },
          "include_play_counts": {
            "default": false,
            "description": "top_tracks / viral_tracks: add each track's lifetime play count (slower).",
            "type": "boolean"
          },
          "limit": {
            "default": 50,
            "description": "Entries to return (1-200).",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "period": {
            "default": "daily",
            "description": "Daily or weekly chart (viral_tracks is daily only).",
            "enum": [
              "daily",
              "weekly"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_chart"
    },
    {
      "description": "A playlist's name, owner, followers and description, plus `limit` tracks (max 100) from `offset` with lifetime play counts. Use next_offset from the answer to page through long playlists (later pages skip the metadata and cost one request).",
      "inputSchema": {
        "properties": {
          "include_play_counts": {
            "default": true,
            "description": "Add each track's lifetime play count.",
            "type": "boolean"
          },
          "limit": {
            "default": 50,
            "description": "Tracks to return (1-100).",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "description": "Index of the first track (0 = start).",
            "minimum": 0,
            "type": "integer"
          },
          "playlist": {
            "description": "Spotify playlist id, spotify:playlist:<id> URI or open.spotify.com/playlist/<id> URL.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "playlist"
        ],
        "type": "object"
      },
      "name": "get_playlist"
    },
    {
      "description": "Artists Spotify lists as related to (\"Fans also like\") the given artist.",
      "inputSchema": {
        "properties": {
          "artist": {
            "description": "Spotify artist id, spotify:artist:<id> URI or open.spotify.com/artist/<id> URL.",
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "default": 20,
            "description": "How many related artists to return (1-20).",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "artist"
        ],
        "type": "object"
      },
      "name": "get_related_artists"
    },
    {
      "description": "Genres, moods and activities (with Spotify's 0-1 weights), tempo in BPM, credits (writers, producers), lyrics flag and vocal languages for up to 50 tracks.",
      "inputSchema": {
        "properties": {
          "tracks": {
            "description": "Spotify track ids, spotify:track:<id> URIs or open.spotify.com/track/<id> URLs (1-50).",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "tracks"
        ],
        "type": "object"
      },
      "name": "get_track_insights"
    },
    {
      "description": "Lifetime Spotify play counts (streams) for up to 50 tracks in one call, with track name, artists and release date. The fastest way to compare streams. A play count of 0 means fewer than 1,000 plays.",
      "inputSchema": {
        "properties": {
          "tracks": {
            "description": "Spotify track ids, spotify:track:<id> URIs or open.spotify.com/track/<id> URLs (1-50).",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "tracks"
        ],
        "type": "object"
      },
      "name": "get_track_play_count"
    },
    {
      "description": "Track details for up to 50 tracks in one call: name, artists, album, release date, duration, explicit flag, popularity, ISRC and (by default) lifetime play count. include_insights adds genres, moods, activities, BPM, credits, lyrics flag and languages. A play count of 0 means fewer than 1,000 plays.",
      "inputSchema": {
        "properties": {
          "include_insights": {
            "default": false,
            "description": "Add genres, moods, BPM, credits and languages (slower).",
            "type": "boolean"
          },
          "include_play_counts": {
            "default": true,
            "description": "Add each track's lifetime play count.",
            "type": "boolean"
          },
          "tracks": {
            "description": "Spotify track ids, spotify:track:<id> URIs or open.spotify.com/track/<id> URLs (1-50).",
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "tracks"
        ],
        "type": "object"
      },
      "name": "get_tracks"
    },
    {
      "description": "Find the Spotify track(s) for an ISRC (International Standard Recording Code), e.g. USUG11904206. Returns ids, names, artists, album and release date.",
      "inputSchema": {
        "properties": {
          "isrc": {
            "description": "12-character ISRC; spaces and dashes are ignored.",
            "maxLength": 20,
            "minLength": 12,
            "type": "string"
          }
        },
        "required": [
          "isrc"
        ],
        "type": "object"
      },
      "name": "isrc_lookup"
    },
    {
      "description": "Search the Spotify catalog by name to find ids for the other tools. `type` picks what to search: tracks, artists, albums or playlists. Returns up to `limit` hits (max 20) with id, name, key fields and open.spotify.com URL, plus `results` (id such as track:<id>, title, url) for the fetch tool. For track searches, include_play_counts adds each hit's lifetime play count.",
      "inputSchema": {
        "properties": {
          "include_play_counts": {
            "default": false,
            "description": "Track searches only: add lifetime play counts (slightly slower).",
            "type": "boolean"
          },
          "limit": {
            "default": 10,
            "description": "Number of results (1-20).",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "Search text, e.g. 'Bad Bunny' or 'blinding lights the weeknd'.",
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "default": "tracks",
            "description": "What to search for.",
            "enum": [
              "tracks",
              "artists",
              "albums",
              "playlists"
            ],
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search"
    }
  ]
}

What the leaf hashes

{"body":"a00a223131640fc52a06f505fe4dedd3b65d3fbcb160de611a014444c4d1c702","id":2158321,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793630823124150,"prev":null,"subject":"148ffff4-c25e-4566-bf13-a04958b136d5","subject_kind":"endpoint"}

Proof

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

  1. 0x68bd986aa49521b6c65917f620626aea216ead51891d7a1b531ffab8050442c2
  2. 0x0807e3fbcb2cc53a350e6d72ea23a4a239710b15168f6d6b3a9d8c6654008f60
  3. 0xfb616b156e612aef4996d44f9282f3658b108ff8598e24ceb732453e533efa1d
  4. 0x83019f4e4c1ef292c0dced44d718a802fa9e980d377ff21f6fce15aee1106e64
  5. 0xb15f9ad2c2d31a0281253b5c6f2efb765dfe3622c44cfc435a26669481e37f0e
  6. 0xd929409b93d0188897558d860dfb2f6500e78a641b64d74714bc26c2bd156650
  7. 0x5b1bd3f9d56cd813408f299d963898ae342d95dc6288ff69e50f87438cacd2c2
  8. 0xa2267b459d6005796bec0781f6e5d791f77814b2317ec844587b9c125bfbd215
  9. 0x2e2604d66e4acc8bafeb783f04d773c98f127b6eb99281a00681060acdbb8af6
  10. 0xae842de2122107ddef77413b1c024b05f2cf875b7346ca48c46391b02554fe88
  11. 0x01c805891ada48647c03fb1d0d82d92416748b221e2c390dad3ea7faaa709440
  12. 0x38772423e3e81e7430cea010a925d00b0a50157fbb8a4096baa5e0018fd83123
  13. 0xefbd3ce8cc9536c9dc7555a61f73905cdeb76d020d347be26b68924fa6aacbfa
  14. 0x197bc18a6b8126dd9b52133f001dca55646ad9292aafa98222498ec1746809a4
  15. 0x2cdc73dde4ed839d7482b6b91833e64bef56c7626db8439f3bbdfcffd2ae32a3
  16. 0x0e5696ae625571c52ddcd8dc09aa6c994b4ab38f2086df20d56f1f01c603e501
  17. 0xf9973981f80219d4f00fa9186b40a8144accc0c9875572fb79eaea312a21a187
  18. 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON