{"id":572620,"recorded_at":"2026-10-27T22:40:10.171095Z","observed_at":"2026-10-27T22:40:10.171040Z","subject_kind":"endpoint","subject":"d3fe7331-cd6c-4721-9ba0-43c1f427d48b","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":11,"tools":[{"description":"List all CryptoPunk traits with their counts. Optionally filter by type to see how many punks of that type have each trait. Rate limit: 10 per 10 min (read bucket — shared with browse_types, get_punk_details, get_listings, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"type":{"description":"Filter counts to a specific type (e.g. 'Male', 'Zombie')","type":"string"}},"type":"object"},"name":"browse_traits"},{"description":"List all CryptoPunk type categories with their counts. Rate limit: 10 per 10 min (read bucket — shared with browse_traits, get_punk_details, get_listings, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"browse_types"},{"description":"Compute the Merkle root for a set of CryptoPunk IDs. The root matches the on-chain Solady MerkleProofLib encoding used by the Stash contract. Rate limit: 5 per 10 min (compute bucket — shared with filter_punks, resolve_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"punkIds":{"description":"Punk IDs to include in the Merkle tree (1-10000)","items":{"maximum":9999,"minimum":0,"type":"integer"},"maxItems":10000,"minItems":1,"type":"array"}},"required":["punkIds"],"type":"object"},"name":"compute_merkle_root"},{"description":"Filter CryptoPunks by type and traits. Returns matching punk IDs and their Merkle root. Rate limit: 5 per 10 min (compute bucket — shared with compute_merkle_root, resolve_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"excludedTraits":{"description":"Traits to exclude","items":{"type":"string"},"type":"array"},"includedTraits":{"description":"Traits to include","items":{"type":"string"},"type":"array"},"matchMode":{"default":"all","description":"'all' = punk must have every included trait, 'any' = at least one","enum":["all","any"],"type":"string"},"types":{"description":"Type names to include (e.g. ['Male', 'Zombie']). Empty = all types.","items":{"type":"string"},"type":"array"}},"type":"object"},"name":"filter_punks"},{"description":"Analyze market data and recommend a bid price range for a CryptoPunk trait selection. Combines floor price, competing bids, and set composition into actionable guidance. `composition` lists only the traits that define the selection; use `absentTraits` for a full exclusion list when needed. Rate limit: 1 per 1 min (recommend bucket).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"excludedTraits":{"description":"Traits to exclude","items":{"type":"string"},"type":"array"},"includedTraits":{"description":"Traits to include","items":{"type":"string"},"type":"array"},"matchMode":{"default":"all","enum":["all","any"],"type":"string"},"punkIds":{"description":"Explicit punk IDs (overrides trait filters)","items":{"maximum":9999,"minimum":0,"type":"integer"},"type":"array"},"types":{"description":"Type names to filter (e.g. ['Male', 'Zombie'])","items":{"type":"string"},"type":"array"}},"type":"object"},"name":"get_bid_recommendation"},{"description":"Get pending EIP-712 bids matching a specific Merkle root. Useful for seeing competition on a trait-based bid set. Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_listings, get_floor_price, get_bids_for_punk).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"limit":{"default":5,"description":"Max bids to return (default 5)","maximum":20,"minimum":1,"type":"integer"},"merkleRoot":{"description":"Merkle root (0x-prefixed, 32 bytes hex)","pattern":"^0x[0-9a-fA-F]{64}$","type":"string"}},"required":["merkleRoot"],"type":"object"},"name":"get_bids_for_merkle_root"},{"description":"Get pending EIP-712 bids that include a specific CryptoPunk. Returns bids from the CryptoPunks Bids API. Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_listings, get_floor_price, get_bids_for_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"limit":{"default":5,"description":"Max bids to return (default 5)","maximum":20,"minimum":1,"type":"integer"},"punkId":{"description":"Punk ID to look up bids for","maximum":9999,"minimum":0,"type":"integer"}},"required":["punkId"],"type":"object"},"name":"get_bids_for_punk"},{"description":"Get the current floor ask price from the native CryptoPunks marketplace. Excludes restricted (onlySellTo) and zero-value listings. Returns `totalActive` (same denominator as get_listings). Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_listings, get_bids_for_punk, get_bids_for_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"get_floor_price"},{"description":"Get currently listed CryptoPunks from the native marketplace. By default returns only publicly buyable listings (excludes restricted onlySellTo and zero-value entries); pass `includeRestricted: true` to include private bundle sales. Optionally filter by price range. Returns `totalActive` (publicly buyable listings, same denominator as get_floor_price) and `matchedCount` (after your filters). Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"includeRestricted":{"default":false,"description":"Include restricted (onlySellTo) and zero-value listings. Default false — matches get_floor_price.","type":"boolean"},"limit":{"default":50,"description":"Max results (default 50)","maximum":200,"minimum":1,"type":"integer"},"maxPriceEth":{"description":"Maximum price in ETH","type":"number"},"minPriceEth":{"description":"Minimum price in ETH","type":"number"}},"type":"object"},"name":"get_listings"},{"description":"Get metadata for specific CryptoPunks: type, traits with rarity percentages, and permalink. Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_listings, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"punkIds":{"description":"Punk IDs to look up (1-100)","items":{"maximum":9999,"minimum":0,"type":"integer"},"maxItems":100,"minItems":1,"type":"array"}},"required":["punkIds"],"type":"object"},"name":"get_punk_details"},{"description":"Reverse-engineer a Merkle root back to its punk IDs and inferred trait selection. ONLY works for roots that already have at least one bid in the CryptoPunks Bids API — this tool looks bids up by root, then derives trait config from the resulting punk set. Returns `resolved: false` for unknown roots; constructing a root locally and passing it here will not work. Rate limit: 5 per 10 min (compute bucket — shared with filter_punks, compute_merkle_root).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"merkleRoot":{"description":"Merkle root to resolve (0x-prefixed, 32 bytes hex)","pattern":"^0x[0-9a-fA-F]{64}$","type":"string"}},"required":["merkleRoot"],"type":"object"},"name":"resolve_merkle_root"}]},"body_sha256":"a3dbaab33a6290a53186a4adb6db873d8cfe766148e5e91c3e2f94ad3122e1e6","prev_id":null,"leaf":"0x4d7adf737956a7e641998241e4b78f751f752d835accdc94d1b70f95a81320a1","leaf_text":"{\"body\":\"a3dbaab33a6290a53186a4adb6db873d8cfe766148e5e91c3e2f94ad3122e1e6\",\"id\":572620,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793140810171040,\"prev\":null,\"subject\":\"d3fe7331-cd6c-4721-9ba0-43c1f427d48b\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x4d7c37847f954402c0cd82fb4479cd9b948a9c257c8f7de85b46c620f143b5be","0xed0307c2e1ee84d26b21c03a9223b54351bc1c21f4c616faa77792bb6cb22897","0x72325d6d9e191ca7f425de24b87b372372dc46c4052ccdec76aa9c74cf69d544","0xb12b3936b2285f93bc02016895bdcc526cefa75a7694d8bda7a65004ff3a6ff2","0xce6b8ba3464c3e16e4bce8985c6c57274fdb906f137a79bd90698f30628302c7","0xff09fd692f52becd9958025da3159f0986fbfd399e09d056110059e3c660e7a0","0xdb94c6d49c52382b44a016a2e02663237a4f1890cc65442452f3ffd1a5bf17af","0xd5fb88bcb4f3469df69f13ea2443d2b816af5807943e3ce43a83553756eba2f4","0x5022a006bff45ceacd62004378050590fb8590ea3aec8689f467d31f40fa163b","0x913c69c9ce597ae69f8c91e4f0aa01b9327ece7dbec1e3e6473754028a34c109","0x699e1831216ceb5d0324397f8f4f58989765f950328c8adcbcb3a202d688993c","0xf9b21ec258212225fc012a1ed6399d0ec608e930f4423d2badb8be79550861ef","0x797da99476c7ebaa971607ae725e5e240b79de9e49d28859b94de107c850aaab","0x9ea0c6a53f80a30b6f13671109f98a000cf98e581875129f4be4b57131d06364","0xb78ea6a255dd06e2f402a1a733bca392fa6243920bcba95e8b80bdfc6ce5f553","0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d","0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}