← The evidence ledger
Evidence row 570638
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 9dd47681-6f8c-457c-b525-8cd01eeb8cc1
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 08ae1d5c5d161bcd6c0c3f10f74b0572401076775234cfe687bdd7e98428eca6
- Leaf
- 0x1a3e344d072199f6af6b97035410aa5ef95d36f2a385d1334560fcefb93db75c
What was observed
{
"count": 21,
"tools": [
{
"description": "Follow a dataset by id (from search_catalog). The user gets alerts when it updates. Respects the plan's watchlist limit.",
"inputSchema": {
"properties": {
"dataset_id": {
"description": "Dataset id (main.id) from search_catalog.",
"type": "integer"
}
},
"required": [
"dataset_id"
],
"type": "object"
},
"name": "add_to_watchlist"
},
{
"description": "Follow up to 100 datasets in one call. Skips duplicates and stops at the plan limit (reported in skipped_limit).",
"inputSchema": {
"properties": {
"dataset_ids": {
"description": "Dataset ids (main.id).",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"dataset_ids"
],
"type": "object"
},
"name": "add_watchlist_batch"
},
{
"description": "Create a REST API key (mon_…) for /api endpoints. The raw key is returned once. Limit: 3 (Essential) / 10 (Pro).",
"inputSchema": {
"properties": {
"name": {
"description": "Label (max 100 chars).",
"type": "string"
}
},
"type": "object"
},
"name": "create_api_key"
},
{
"description": "Create another MCP key (mcpk_…), e.g. for a second client. The raw key is returned once.",
"inputSchema": {
"properties": {
"name": {
"description": "Label (max 100 chars).",
"type": "string"
}
},
"type": "object"
},
"name": "create_mcp_key"
},
{
"description": "Revoke a REST API key by id. The last remaining key cannot be deleted.",
"inputSchema": {
"properties": {
"key_id": {
"description": "Key id (uuid) from the list call.",
"type": "string"
}
},
"required": [
"key_id"
],
"type": "object"
},
"name": "delete_api_key"
},
{
"description": "Revoke an MCP key by id. The key used for the current session cannot be revoked here.",
"inputSchema": {
"properties": {
"key_id": {
"description": "Key id (uuid) from the list call.",
"type": "string"
}
},
"required": [
"key_id"
],
"type": "object"
},
"name": "delete_mcp_key"
},
{
"description": "Run a read-only SELECT (or WITH … SELECT) against tables main and data only. Use after search_catalog + inspect_dataset to pull the time series for a known data.id / main_id.",
"inputSchema": {
"properties": {
"query": {
"description": "SQL SELECT against main / data only.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "execute_sql"
},
{
"description": "Return a CSV download URL for a dataset, optionally filtered by countries and dimension values (dim1…dim8 from inspect_dataset).",
"inputSchema": {
"properties": {
"countries": {
"description": "Country names, e.g. ['Poland','Germany'].",
"items": {
"type": "string"
},
"type": "array"
},
"dataset_id": {
"description": "Dataset id (main.id) from search_catalog.",
"type": "integer"
},
"dimensions": {
"description": "Dimension filters, e.g. {\"dim1\": [\"Annual\"], \"dim2\": [\"Percentage\"]}.",
"type": "object"
}
},
"required": [
"dataset_id"
],
"type": "object"
},
"name": "export_dataset"
},
{
"description": "Get one dataset metadata row from main by id (includes dimensions, default_view, geos).",
"inputSchema": {
"properties": {
"id": {
"description": "Dataset id (main.id).",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_dataset"
},
{
"description": "Current plan of the key owner: name, status, period end and limits (API/day, MCP/month, watchlist, API keys).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_plan"
},
{
"description": "MCP queries this billing period, REST API requests today and watchlist slots — used, limit, remaining.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_usage"
},
{
"description": "Peek one dataset by main.id: default slice, whether a country is in the series, dataId, and the last few values. Uses indexed main_id lookup — do not scan the data table yourself for discovery.",
"inputSchema": {
"properties": {
"country": {
"description": "Optional country to resolve in the format header (e.g. 'Germany').",
"type": "string"
},
"id": {
"description": "Dataset id (main.id) from search_catalog.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "inspect_dataset"
},
{
"description": "Active REST API keys (mon_…) of the account: id, name, prefix, created/last used.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_api_keys"
},
{
"description": "Active MCP keys (mcpk_…). The key used for this session is marked current=true.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_mcp_keys"
},
{
"description": "List Monitly plans (Essential, Pro, Enterprise) with prices and limits.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_plans"
},
{
"description": "Datasets the user follows (watchlist) with source, latest period and alert status. Paginate with limit/offset.",
"inputSchema": {
"properties": {
"limit": {
"description": "Max rows (default 20).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Pagination offset (default 0).",
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": "list_watchlist"
},
{
"description": "Unfollow a dataset by id.",
"inputSchema": {
"properties": {
"dataset_id": {
"description": "Dataset id (main.id) from search_catalog.",
"type": "integer"
}
},
"required": [
"dataset_id"
],
"type": "object"
},
"name": "remove_from_watchlist"
},
{
"description": "Find statistical datasets in the catalog (Eurostat, World Bank, OECD, etc.). Index-backed hybrid search (name/code + embeddings). Optional country and source_name filters. Use this instead of SELECT … FROM main ILIKE. Returns compact cards, not series values.",
"inputSchema": {
"properties": {
"country": {
"description": "Optional country name to prefer datasets that include this geo (e.g. 'Germany').",
"type": "string"
},
"limit": {
"description": "Max cards (default 8, max 16).",
"maximum": 16,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "What to find, e.g. 'GDP annual current prices' or 'unemployment rate'.",
"type": "string"
},
"source_name": {
"description": "Optional source filter, e.g. 'Eurostat', 'World Bank' (World Development Indicators), 'OECD', 'IMF'.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_catalog"
},
{
"description": "Alias of search_catalog. Find statistical datasets by query, optional country and source_name.",
"inputSchema": {
"properties": {
"country": {
"description": "Optional country name (e.g. 'Germany').",
"type": "string"
},
"limit": {
"description": "Max cards (default 8, max 16).",
"maximum": 16,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "What to find, e.g. 'GDP annual current prices'.",
"type": "string"
},
"source_name": {
"description": "Optional source filter, e.g. 'Eurostat'.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_datasets"
},
{
"description": "action='get' returns e-mail/Slack alert settings. action='set' changes email_notifications / slack_notifications, or turns alerts for one followed dataset on/off (dataset_id + dataset_notifications).",
"inputSchema": {
"properties": {
"action": {
"description": "'get' or 'set'.",
"enum": [
"get",
"set"
],
"type": "string"
},
"dataset_id": {
"description": "Followed dataset to change.",
"type": "integer"
},
"dataset_notifications": {
"description": "Alerts for that dataset on/off.",
"type": "boolean"
},
"email_notifications": {
"description": "E-mail alerts for followed datasets.",
"type": "boolean"
},
"slack_notifications": {
"description": "Slack alerts (webhook is configured in Settings).",
"type": "boolean"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "set_notification_preferences"
},
{
"description": "Create a Stripe Checkout session for the Pro plan and return checkout_url. Open it in the browser for the user to pay.",
"inputSchema": {
"properties": {
"plan_id": {
"description": "Target plan (default 'pro').",
"enum": [
"pro"
],
"type": "string"
}
},
"type": "object"
},
"name": "upgrade_plan"
}
]
}What the leaf hashes
{"body":"08ae1d5c5d161bcd6c0c3f10f74b0572401076775234cfe687bdd7e98428eca6","id":570638,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139851302318,"prev":null,"subject":"9dd47681-6f8c-457c-b525-8cd01eeb8cc1","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x1a3e1d2802b562ab0643a2efc4ed496b6b1892f6c1dd81647bf911de601d8a34
- 0xf22520d4a9224d2c526f6cf9350dbc2d86ab4abdb4c54489b230709c105b2de5
- 0x69ff262251fbcc6bf2727fc2b99615521654515b0ae4d725ab25fa52c5585c07
- 0xd5cff447aa6f516807752f40ad4625fc9ad5b5a64c181bfbec4ecfa10c70916a
- 0xc258db91948f3844d2bdef898b445753a2d5d5905dd4aeb23bae238b92c6f09f
- 0x63a137fb440e5e44d95bb84306a9820d361adbabbd0ffa685b2c4f42dfc75701
- 0xbdab67fd9cd57ac8e1eff2e7e70f376efa106f7abdc74d135551868d1ac216f2
- 0xe39ad471ba57ee0a8698bbc92c43eb79ebc38e464d35be2a6540b50aeaf5a05b
- 0xd0c9bbcbedf93dbd7738df5e71de22bb7e52e522a790d0aaab2d180665c2598b
- 0x18dcc8ec5d08dda2711d07822e8776945073f8a3a9911b47a3fd93f1d5a1b403
- 0x939c306fccf6f9ecd4e13859e2994a9f95dde80f56072b4b7be22ed4cc49b483
- 0x864874d7fe156494acebcd974fb0ea64b6d7d6ef442b90a07ce8adbc57f7d75b
- 0xca0b37bb3b043ccf0f24c50fccd9c2f22b7e5290df49886008fc2ff55380fdd1
- 0x2064e3a2b01d0d12d5079bf720a0d0125e9703c55e92de54ad40c302469ec047
- 0x6913cb48392acb8dc5c940dcdb6e6fc889d544f85dff11da249551a5f027e688
- 0x518b93854db03dc9fc938883abf30da6eaae5ae0d4336903968fd32a7df8c71b
- 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4