← The evidence ledger
Evidence row 579944
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint a1783fce-fce6-452d-ab69-dd6e17155988
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- bca58fc05bed86e6768acd1b04cd36560bd2c801746875e95b585f5b4f3542f4
- Leaf
- 0x580c3b0e29083bb72c39b526b837f975c21249e017dc2f94892e896555dfe92a
What was observed
{
"count": 7,
"tools": [
{
"description": "Filter Pokémon by generation, type, regional pokédex, or egg group. Returns names and PokéAPI IDs; every returned name works as a pokeapi_get_pokemon identifier, where a species name resolves to its default variety. At least one of generation, type, pokedex, or egg_group is required; the ones provided are combined with AND logic, and query adds strict token matching on name within them. A call with no category filter, with or without query, returns an empty result and a notice naming the requirement.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"egg_group": {
"description": "Egg group name (e.g. \"monster\", \"fairy\", \"dragon\"). Filters to Pokémon in this egg group.",
"type": "string"
},
"generation": {
"description": "Generation name (e.g. \"generation-i\", \"generation-iii\"). Filters to Pokémon introduced in this generation.",
"type": "string"
},
"limit": {
"default": 50,
"description": "Maximum results to return. Positive integer; defaults to 50.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Offset into the filtered result set for pagination. Non-negative integer; defaults to 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"pokedex": {
"description": "Regional pokédex name (e.g. \"kanto\", \"hoenn\", \"galar\"). Filters to entries in that dex.",
"type": "string"
},
"query": {
"description": "Strict token match on name. \"chu\" matches \"pikachu\" and \"raichu\". Case-insensitive. At most 100 characters; whitespace separates tokens, and every token must match.",
"maxLength": 100,
"type": "string"
},
"type": {
"description": "Type name (e.g. \"fire\", \"psychic\"). Filters to Pokémon of this type.",
"type": "string"
}
},
"type": "object"
},
"name": "pokeapi_find_pokemon"
},
{
"description": "Get ability details by name or numeric ID — full English effect text, short effect text, generation introduced, and the list of Pokémon that have the ability (including hidden-ability flag and slot). Ability names are returned by pokeapi_get_pokemon in the abilities array.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"identifier": {
"description": "Ability name in lowercase hyphenated form (e.g. \"overgrow\", \"speed-boost\") or numeric ID as a string.",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "pokeapi_get_ability"
},
{
"description": "Get item details by name or numeric ID — effect text, category, versioned purchase and sell prices, fling power, item attributes (holdable, consumable, etc.), sprite URL, and Pokémon that commonly hold it.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"identifier": {
"description": "Item name in lowercase hyphenated form (e.g. \"choice-specs\", \"leftovers\") or numeric ID as a string.",
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "pokeapi_get_item"
},
{
"description": "Get move details by name or numeric ID — type, damage class, power, accuracy, PP, priority, target, stat changes, status-effect chance, and full English effect text. Set include_learners=true to include the list of Pokémon that can learn the move. Move names are available from pokeapi_get_pokemon when include_moves=true.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"identifier": {
"description": "Move name in lowercase hyphenated form (e.g. \"flamethrower\", \"close-combat\") or numeric ID as a string.",
"type": "string"
},
"include_learners": {
"default": false,
"description": "Include the list of Pokémon that can learn this move. Defaults to false as the list can be large.",
"type": "boolean"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "pokeapi_get_move"
},
{
"description": "Get nature details — the stat boosted (+10%), stat reduced (-10%), and preferred/disliked berry flavors. Omit the identifier to list all 25 natures at once. Natures are critical for competitive team-building: every non-neutral nature modifies two stats by ±10%.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"identifier": {
"description": "Nature name (e.g. \"modest\", \"jolly\") or ID 1–25 as a string. Omit to list all 25 natures.",
"type": "string"
}
},
"type": "object"
},
"name": "pokeapi_get_nature"
},
{
"description": "Get a fully denormalized Pokémon dossier in a single call — base stats, types, abilities (with full English effect text), height/weight, resolved evolution chain, sprite URLs including official artwork, species flavor text, variety list, capture rate, growth rate, gender rate, legendary/mythical flags, egg groups, and (optionally) a summarized learnable-move list. Accepts a name (lowercase, hyphens for spaces, e.g. \"bulbasaur\", \"mr-mime\") or PokéAPI Pokémon-record ID. A species name with no Pokémon record of its own (e.g. \"deoxys\") resolves to the default variety of that species (\"deoxys-normal\"), reported in resolvedFromSpecies. Set include_moves=true to include the move summary (large); defaults to false. Use game_version to select flavor text from a specific game (e.g. \"sword\", \"red\"); falls back to the most recent English entry when the version is not found. Use pokeapi_find_pokemon to discover Pokémon by type, generation, or egg group before calling this tool.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"game_version": {
"description": "PokéAPI version name to filter flavor text (e.g. \"sword\", \"red\", \"scarlet\"). Falls back to the most recent English entry when the version is not found.",
"type": "string"
},
"identifier": {
"description": "Pokémon name (lowercase hyphenated, e.g. \"bulbasaur\", \"charizard-mega-x\") or PokéAPI Pokémon-record ID as a string (e.g. \"1\", \"10034\"). A species name (e.g. \"deoxys\") resolves to its default variety.",
"type": "string"
},
"include_moves": {
"default": false,
"description": "Include the full learnable-move summary. Defaults to false because the list is large (100–200+ moves).",
"type": "boolean"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "pokeapi_get_pokemon"
},
{
"description": "Get the full offensive and defensive type effectiveness breakdown. Provide either a type name (e.g. \"fire\", \"psychic\") or a Pokémon identifier (name or PokéAPI Pokémon-record ID; a species name resolves to its default variety). For dual-type Pokémon, the defensive multipliers are correctly composed (e.g. Fire/Flying vs Rock = 4× because both types are weak to Rock). Exactly one of type or pokemon must be provided.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"pokemon": {
"description": "Pokémon name or PokéAPI Pokémon-record ID; a species name resolves to its default variety. The server resolves the types automatically. Provide this or type, not both.",
"type": "string"
},
"type": {
"description": "Type name in lowercase (e.g. \"fire\", \"water\", \"psychic\"). Provide this or pokemon, not both.",
"type": "string"
}
},
"type": "object"
},
"name": "pokeapi_get_type_matchups"
}
]
}What the leaf hashes
{"body":"bca58fc05bed86e6768acd1b04cd36560bd2c801746875e95b585f5b4f3542f4","id":579944,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793143573212257,"prev":null,"subject":"a1783fce-fce6-452d-ab69-dd6e17155988","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x580c472ec41845a42c79ec117699e928915915c88fa74a6da83dada7563b924e
- 0xd2a7742e4bdfb37514adf69e0c013fa11dd5990f2fc0298cd4ded42bc1c269e7
- 0xfec4113541387bcf9ca137fa8ebf29a0b0442393b7a50cd16b67ef130445d6b0
- 0x4aca57925095bb6add832ac51cb03cf36abfa8855707371dec23cfca1bf827b8
- 0xfb8ffc4eace5770e7e5da933e4f7774ae0700dce4c2e763dbd9b205932cb5b40
- 0x31f25a82ca2312347280bfb0e2d2e143c3f7a4f63bb486f9633b99ec75cff0f9
- 0xbe39a9cb48c7e2386c9b0533944f99dc246a32496dd273ac9cb30a16d1064aba
- 0x743f059881f0ab6a8d2aa1f9aa80fcb8389948b02172d22c304d0922888ccd0c
- 0xaf8711a5b58c99c2c969a8b25f7c63035a99268b69da1dc658f1be99bd238dcb
- 0x3e536a21a54129c3d537ab27a6e8adb27ba650285093a4f596a22d85b6ad7488
- 0xe678c1cc136e18a65726dc5a13892d1977e8fac2970f7a2b8d2866a8ab83ef02
- 0xe06cb1b692af263d62f5739bc4ad709ffe5a2576ef5a59a1610d50c03c7b9584
- 0x906b5f0e8ef1fe7894886d84f460bb3239d5f14b14ad4adff27c7dcea6265169
- 0x674bc1173d39130be4d15bbfc7327f8a8af87eb251e54c8d4409c7e840b9e538
- 0xb78ea6a255dd06e2f402a1a733bca392fa6243920bcba95e8b80bdfc6ce5f553
- 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4