addrbookFor publishers
← The evidence ledger

Evidence row 516125

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint dbd1f79a-b659-4c6c-b157-13608d812b1e
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
7fdd4491a7cc34e24c31710eec213b97a05ea7d5f91fc98849c9401953fc8954
Leaf
0x45a6133d9a62dacb700e235a9bdaa1e6eea51e5dc523ea04daa0c0823c45e7a0

What was observed

{
  "count": 15,
  "tools": [
    {
      "description": "Use this when someone asks to start tracking a keyword for their app in a given language and country. Returns the new keyword; adding the same term twice creates two rows. Keywords without a country are skipped by the weekly rank check. Not for a one-off rank lookup.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "description": "Two-letter store country code such as US; without one the weekly rank check skips this keyword",
            "maxLength": 10,
            "type": "string"
          },
          "language": {
            "description": "Two-letter language code such as en",
            "maxLength": 32,
            "type": "string"
          },
          "searchTerms": {
            "description": "Keyword phrase to track, as users type it in the store, 1 to 200 characters",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "appId",
          "searchTerms"
        ],
        "type": "object"
      },
      "name": "add_keyword"
    },
    {
      "description": "Use this when someone asks to stop tracking one of their keywords. Returns deleted, or not-found for an unknown id or one outside the account. Weekly rank checks stop and past snapshots stay, leaving a gap if it is tracked again later. Not for pausing tracking temporarily.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Keyword id",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "delete_keyword"
    },
    {
      "description": "Use this when someone asks about one of their AppSkyline apps, such as which stores it is on or which languages it supports. Returns the app's name, default and supported locales, App Store, Mac App Store, Google Play and Microsoft Store ids, and creation and edit times. Not for the live public store page or ratings.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "appId"
        ],
        "type": "object"
      },
      "name": "get_app"
    },
    {
      "description": "Use this when someone asks how many downloads, installs, uninstalls or crashes their app had over a period. Returns store-reported totals, the latest 30 daily rows and top countries for one app and store; metric names differ by store. Not for keyword rankings.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "days": {
            "description": "Rolling window of the last 1 to 365 days, used when no dates are given; omit dates and days for every synced day",
            "exclusiveMinimum": 0,
            "maximum": 365,
            "type": "integer"
          },
          "endDate": {
            "description": "Last day of the window as YYYY-MM-DD; applies only together with startDate",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "startDate": {
            "description": "First day of the window as YYYY-MM-DD; applies only together with endDate",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "store": {
            "description": "Store to summarize: ios-app-store, macos-app-store, google-play or microsoft-store",
            "enum": [
              "ios-app-store",
              "macos-app-store",
              "google-play",
              "microsoft-store"
            ],
            "type": "string"
          }
        },
        "required": [
          "appId",
          "store"
        ],
        "type": "object"
      },
      "name": "get_app_engagement_summary"
    },
    {
      "description": "Use this when someone asks how their app's ranking for a keyword has changed over time in one store and country. Returns the app's rank on each date AppSkyline stored a search snapshot, newest first, up to 365 rows; tracked keywords are re-checked weekly. Not for today's live rank.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "description": "Two-letter store country code such as US or IT (required)",
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Snapshots to return, newest first, from 1 to 365; defaults to 365",
            "exclusiveMinimum": 0,
            "maximum": 365,
            "type": "integer"
          },
          "store": {
            "description": "Store to read: ios-app-store, macos-app-store, google-play or microsoft-store; the app needs an id on that store",
            "enum": [
              "ios-app-store",
              "macos-app-store",
              "google-play",
              "microsoft-store"
            ],
            "type": "string"
          },
          "term": {
            "description": "Search term to read history for, 1 to 200 characters",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "appId",
          "store",
          "term",
          "country"
        ],
        "type": "object"
      },
      "name": "get_keyword_history"
    },
    {
      "description": "Use this when someone asks how popular a keyword is or which keyword ideas are worth targeting. Returns monthly Google web-search volume (a demand proxy, not app-store search counts), difficulty, CPC and competition for up to 50 terms in one country. Terms missing from the 30-day cache trigger a billable lookup. Not for rankings.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "country": {
            "description": "Two-letter country code such as US or IT (required)",
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[A-Za-z]{2}$",
            "type": "string"
          },
          "lang": {
            "description": "Two-letter language code such as en or it; optional",
            "maxLength": 32,
            "type": "string"
          },
          "terms": {
            "description": "Keyword ideas to look up in one batch, 1 to 50 terms of up to 200 characters, none containing a comma",
            "items": {
              "maxLength": 200,
              "minLength": 1,
              "pattern": "^[^,]+$",
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "terms",
          "country"
        ],
        "type": "object"
      },
      "name": "get_keyword_overview"
    },
    {
      "description": "Use this when someone asks where their app ranks for a keyword right now in one store and country. Returns the app's live position, or not-ranked, after scanning the top 50 results by default and up to 200, and renders a rank card. Not for how a rank changed over time.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "description": "Two-letter store country code such as US or IT; defaults to US",
            "maxLength": 10,
            "type": "string"
          },
          "lang": {
            "description": "Two-letter language code such as en or it; defaults to en except on Google Play, which uses the store default",
            "maxLength": 32,
            "type": "string"
          },
          "num": {
            "default": 50,
            "description": "How many search results to scan for the app, from 1 to 200; defaults to 50",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "store": {
            "description": "Store to check: ios-app-store, macos-app-store, google-play or microsoft-store; the app needs an id on that store",
            "enum": [
              "ios-app-store",
              "macos-app-store",
              "google-play",
              "microsoft-store"
            ],
            "type": "string"
          },
          "term": {
            "description": "Search term to check, 1 to 200 characters",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "appId",
          "store",
          "term"
        ],
        "type": "object"
      },
      "name": "get_keyword_rank"
    },
    {
      "description": "Use this when someone asks about a competitor's or any app's public store page, such as its rating, number of ratings, price, version or last update. Returns the live listing for one store id, with description and release notes cut to 600 characters. Not for your own app's synced text per language.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "country": {
            "description": "Two-letter store country code such as US or IT; defaults to the store's own default",
            "maxLength": 10,
            "type": "string"
          },
          "lang": {
            "description": "Two-letter language code such as en or it; defaults to the store's own default",
            "maxLength": 32,
            "type": "string"
          },
          "store": {
            "description": "Store to read: ios-app-store, macos-app-store, google-play or microsoft-store",
            "enum": [
              "ios-app-store",
              "macos-app-store",
              "google-play",
              "microsoft-store"
            ],
            "type": "string"
          },
          "storeId": {
            "description": "The app's id in that store: numeric Apple id, Google Play package name such as com.example.app, or Microsoft Store product id",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "store",
          "storeId"
        ],
        "type": "object"
      },
      "name": "get_store_listing"
    },
    {
      "description": "Use this when someone asks about their own app's listing text per language, such as the title, subtitle, keywords or release notes, or whether the latest version is still in review or approved. Returns the metadata AppSkyline last synced for each locale, with the version, its review state and the keyword field's length against Apple's 100-character limit; longer texts are cut to 600 characters. Not for a live competitor listing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "locale": {
            "description": "Only this locale, written as in the listing such as en-US or it; every synced locale when absent",
            "maxLength": 32,
            "type": "string"
          },
          "store": {
            "description": "Store listing to read: ios-app-store, macos-app-store, google-play or microsoft-store",
            "enum": [
              "ios-app-store",
              "macos-app-store",
              "google-play",
              "microsoft-store"
            ],
            "type": "string"
          }
        },
        "required": [
          "appId",
          "store"
        ],
        "type": "object"
      },
      "name": "get_store_metadata"
    },
    {
      "description": "Use this when someone asks which apps they track in AppSkyline, or an app's id is needed. Returns each app's id, name, default locale and its App Store, Mac App Store, Google Play and Microsoft Store ids, up to 100 apps. Not for finding other apps in a store.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "list_apps"
    },
    {
      "description": "Use this when someone asks what users say about their Android app on Google Play, or about recent ratings and complaints. Returns reviews with stars, text cut to 300 characters, app version, device, language and whether the developer replied, up to 100 per page. Google Play only returns reviews from the last 7 days. Not for App Store reviews.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid); the app needs a Google Play service account in AppSkyline",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "maxResults": {
            "description": "Reviews to return per page, from 1 to 100",
            "exclusiveMinimum": 0,
            "maximum": 100,
            "type": "integer"
          },
          "token": {
            "description": "nextPageToken from the previous page; absent for the first page",
            "maxLength": 2000,
            "type": "string"
          },
          "translationLanguage": {
            "description": "Translate review text into this language, such as en; omit to keep the original language",
            "maxLength": 32,
            "type": "string"
          }
        },
        "required": [
          "appId"
        ],
        "type": "object"
      },
      "name": "list_google_play_reviews"
    },
    {
      "description": "Use this when someone asks which keywords they track for an app, or before adding or deleting one. Returns each tracked keyword's id, search term, language, country and bid, up to 500 per call. Not for current rankings or search volume.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Keywords to return, from 1 to 500; omit for all tracked keywords, capped at 500",
            "exclusiveMinimum": 0,
            "maximum": 500,
            "type": "integer"
          },
          "skip": {
            "description": "Keywords to skip before the first one returned, for paging; defaults to 0",
            "maximum": 1000000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "appId"
        ],
        "type": "object"
      },
      "name": "list_keywords"
    },
    {
      "description": "Use this when someone wants to open AppSkyline and browse their workspace interactively. Apps, connected stores and tracked keywords. Starts with up to 100 items. Not for changing data.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "open_appskyline"
    },
    {
      "description": "Use this when someone asks which apps show up for a search term, or who their competitors are for a keyword, on the App Store, Mac App Store, Google Play or Microsoft Store. Returns the live results in rank order with store id, title, rating and developer (10 by default, up to 200). Not for one app's own position.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "country": {
            "description": "Two-letter store country code such as US or IT; defaults to US",
            "maxLength": 10,
            "type": "string"
          },
          "lang": {
            "description": "Two-letter language code such as en or it; defaults to en except on Google Play, which uses the store default",
            "maxLength": 32,
            "type": "string"
          },
          "num": {
            "description": "Number of results to return, from 1 to 200; defaults to 10",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "store": {
            "description": "Store to search: ios-app-store, macos-app-store, google-play or microsoft-store",
            "enum": [
              "ios-app-store",
              "macos-app-store",
              "google-play",
              "microsoft-store"
            ],
            "type": "string"
          },
          "term": {
            "description": "Search term as a user would type it in the store, 1 to 200 characters",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "store",
          "term"
        ],
        "type": "object"
      },
      "name": "search_store_results"
    },
    {
      "description": "Use this when someone wants a quick overview of one of the apps they track in AppSkyline. Returns an overview card with the app's connected stores, locales and up to 50 tracked keywords. Not for keyword rankings.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "appId": {
            "description": "AppSkyline app id (uuid)",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "appId"
        ],
        "type": "object"
      },
      "name": "show_app_overview"
    }
  ]
}

What the leaf hashes

{"body":"7fdd4491a7cc34e24c31710eec213b97a05ea7d5f91fc98849c9401953fc8954","id":516125,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793120441789483,"prev":null,"subject":"dbd1f79a-b659-4c6c-b157-13608d812b1e","subject_kind":"endpoint"}

Proof

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

  1. 0x45a63db8e7bdd4ec9687d0ad06eb6ddcd6e548156a52977577b8624362038bfb
  2. 0x295a236e0f168f4c94961df156056c80641434d725b53b2c1ec905935e67121b
  3. 0xc7be9b65cb43fc02176835b667eacfad934e124005ec21c6dca6873cfbb2c850
  4. 0x49f21d6dfe19d254bc5e31b5367b0c6242fc38192d49bc1425109bb3dd69130a
  5. 0x983e2a545f974fa8fae0d4e42526582db5842115066d0a9c47bae7ea04ad69e6
  6. 0xd470dad7b6c05a73d40b0fa0dfa9d545596bf58820940b3d90dfdf8ab6bf482e
  7. 0x076167a1d8a0896a6f793901771aae0c40437e4b477241c2272fd838353b5f0e
  8. 0xa3d3183b84714a005e4275daf012b45d27c346c4fabc84e374bf2f42b2ab5607
  9. 0xa8be9f2b7d98eeef3d05fc705a5d910e07daa51ee140fadfc745811013183809
  10. 0x0fa3c41170de54449ee03d99f0db37f091f1a86a7242e7fea319706b5f069ccd
  11. 0xb0aa948b8f1ffa99da7b7b4fecd9b7d539930ac590588a6deea36813f55a0423
  12. 0x92473b1fa79263164c4ce7d79f93b1dc8a85f63587b51a81433d1ad19b285a90
  13. 0x836e1796750a28d286ffaa8d273d250fe348c563336bf2d30cfaf1001d95f677
  14. 0x80ede9e5d428e39db26928b1d08254ff1241f1d7e091fd2e57130fbb4423162b
  15. 0x2c117b27721eea45f6590fbccb471d21a7b0b079a53f089ecb300c63bdb3aebf
  16. 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON