{"id":565072,"recorded_at":"2026-10-27T21:53:23.363282Z","observed_at":"2026-10-27T21:53:23.363207Z","subject_kind":"endpoint","subject":"4a870f1f-ec1b-44eb-8c29-aecd37100c43","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":11,"tools":[{"description":"Fetch a single Eco wiki page as Markdown. Pass a canonical wiki path such as /wiki/item/iron-bar, /wiki, or an index like /wiki/recipes.","inputSchema":{"properties":{"path":{"description":"Canonical wiki path, e.g. /wiki/item/iron-bar","type":"string"}},"required":["path"],"type":"object"},"name":"fetch"},{"description":"Full-text search the Eco game wiki (items, recipes, skills, animals, plants, biomes, guides). Returns ranked matches with name, kind, canonical url and a snippet.","inputSchema":{"properties":{"limit":{"description":"Max results (1-50, default 15).","maximum":50,"minimum":1,"type":"integer"},"query":{"description":"The search query.","type":"string"}},"required":["query"],"type":"object"},"name":"search"},{"description":"Compute an aggregate over the wiki's entities — count / sum / avg / min / max of a numeric field across a whole kind, with an optional numeric 'where' filter. Use for 'how many…', 'what's the average/total/highest…' questions. 'count' needs no field (counts entities, or those matching 'where'); sum/avg/min/max require a 'field'. Supports the same optional 'category' scope as wiki_rank (food/item/species). Kinds and field names are the SAME as wiki_rank — see that tool's per-kind field lists. Example: { kind: \"recipe\", metric: \"count\", where: { field: \"skill_level\", op: \">\", value: 5 } } → how many recipes need skill level above 5. Scoped: { kind: \"food\", metric: \"avg\", field: \"calories\", category: \"vegetable\" } → average calories of vegetables. Optional character/server PROFILE (skill_level/skills, talents, modules/module, server) recomputes the same profile-sensitive metrics as wiki_rank (recipe labor/craft_minutes; tool damage/calories_burn/durability_burn; item harvest_yield/power_watts; species yield_total/yield_min_total); static fields ignore it (the result carries a note). No profile = base aggregate.","inputSchema":{"additionalProperties":false,"properties":{"category":{"description":"Optional: scope to ONE tag/category before ranking/aggregating, e.g. \"seed\", \"vegetable\", \"gun\". Only the tagged kinds (food / item / species) support this. Use the category's name from a wiki_search result; matching is case- and plural-insensitive.","type":"string"},"field":{"description":"Numeric field for sum/avg/min/max (required for those). Optional for count — with a field, count includes only entities that have it.","type":"string"},"kind":{"description":"Which entity set to aggregate over.","enum":["food","item","recipe","skill","species"],"type":"string"},"metric":{"description":"Which aggregate to compute.","enum":["count","sum","avg","min","max"],"type":"string"},"module":{"description":"A single module name/type, or a comma-separated list (alternative to modules[]).","type":"string"},"modules":{"description":"Upgrade-module names/types installed (multiple slots stack).","items":{"type":"string"},"type":"array"},"server":{"additionalProperties":true,"description":"Model a DIFFERENT server's difficulty (default = this server's real settings; omit for accurate answers). Fields: craftResource, craftTime, growth, garbageRatio, fuelEfficiency, foodVariety, foodTastiness, baseGain, minBalanced, maxBalanced. Only craft_minutes is server-sensitive for ranking.","type":"object"},"skill_level":{"description":"A single skill level applied to every governing skill (profile-sensitive metrics only).","type":"integer"},"skills":{"additionalProperties":{"type":"integer"},"description":"Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.","type":"object"},"talents":{"description":"Talent names/types to treat as learned (profile-sensitive metrics only).","items":{"type":"string"},"type":"array"},"where":{"additionalProperties":false,"description":"Optional single numeric filter applied before ranking/aggregating, e.g. { field: \"weight\", op: \"<\", value: 1000 }. The field must come from the same per-kind set as 'by'/'field'.","properties":{"field":{"description":"A numeric field from the kind's field list.","type":"string"},"op":{"description":"Comparison operator.","enum":[">",">=","<","<=","="],"type":"string"},"value":{"description":"The number to compare against (bools are 1/0).","type":"number"}},"required":["field","op","value"],"type":"object"}},"required":["kind","metric"],"type":"object"},"name":"wiki_aggregate"},{"description":"Bill-of-materials for making a target item/recipe: the full crafting tree INCLUDING the crafted intermediate sub-components (NOT just raw leaves). This is the tool for 'how many <component> does it take to make <target>' — including components the target never lists directly (they're summed transitively across the whole tree). Differs from wiki_total_raw (raw materials only) and wiki_calc (exact one-step numbers for a single recipe). Pass an item slug (uses its primary producing recipe) OR a recipe slug. Optional: quantity (units of the target, default 1, 1..10000); ingredient (a specific component name/slug — returns just that component's total quantity + whether it's an intermediate or raw); recipe_slug (override which producing recipe to use when the item has several — the others are listed as 'alternatives'). Optional character/server setup to recompute the whole tree: skill_level/skills, talents, modules/module, and server (model a different server's difficulty). Example: { slug:\"steam-tractor\", ingredient:\"iron bar\" } → how many iron bars a steam tractor needs.","inputSchema":{"additionalProperties":false,"properties":{"ingredient":{"description":"Optional: a specific component name or slug. Returns just that component's total quantity in the tree and its role (intermediate/raw).","type":"string"},"module":{"description":"A single module name/type, or a comma-separated list (alternative to modules[]).","type":"string"},"modules":{"description":"Upgrade-module names/types installed (multiple slots stack).","items":{"type":"string"},"type":"array"},"quantity":{"description":"How many units of the target to produce (default 1; clamped 1..10000).","type":"integer"},"recipe_slug":{"description":"Optional: when the target item has multiple producing recipes, pick this one (else the primary; others are reported as alternatives).","type":"string"},"server":{"additionalProperties":true,"description":"Model a DIFFERENT server by overriding its difficulty/feature settings (default = THIS server's real settings, so omit for accurate answers). Fields: craftResource (× ingredient cost), craftTime (× craft time), growth (× plant growth/maturity), garbageRatio (Update 14 craft-waste ratio, 0..1; scales recipe garbage byproducts), fuelEfficiency (× every fuel item's fuel value), foodVariety (bool), foodTastiness (bool), baseGain (flat XP/day floor), minBalanced/maxBalanced (balanced-diet multiplier range for food XP).","type":"object"},"skill_level":{"description":"A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup).","type":"integer"},"skills":{"additionalProperties":{"type":"integer"},"description":"Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.","type":"object"},"slug":{"description":"The TARGET item or recipe slug (from a wiki_search result).","type":"string"},"talents":{"description":"Talent names/types to treat as learned (applied across the whole chain). Their effect text is echoed back so you can explain why a number changed.","items":{"type":"string"},"type":"array"}},"required":["slug"],"type":"object"},"name":"wiki_bom"},{"description":"Compute EXACT numbers for a chosen setup. For a RECIPE: labor calories, craft time, per-ingredient counts and throughput at a given skill level + upgrade module + talents. For a FOOD item: its STATIC calories/nutrition (eating never changes these) PLUS an estimated XP / skill-gain rate from the diet inputs (balanced/variety/tastiness/housing). For a TOOL/WEAPON: damage, calories-per-use, durability-per-use at the tool's governing-skill level + talents. For a MINEABLE BLOCK: per-block calorie/durability cost (for a representative pickaxe), yield, and calories-per-stack at a mining-skill level + talents. For a SPECIES: harvest yields recomputed with the reader's harvest-yield talents. Omit a lever to leave it at base; the response lists the available modules/talents/skill (with each talent's effect text) so you can pick valid ones and explain what changed. Optional 'server' override models a different server's difficulty (recipes honor craftResource/craftTime; mining/species honor their relevant settings; food honors foodVariety/foodTastiness).","inputSchema":{"additionalProperties":false,"properties":{"balanced":{"description":"Food only: assume a balanced diet (max balanced-diet bonus) vs this food alone.","type":"boolean"},"housing":{"description":"Food only: your housing XP contribution (additive to the skill-gain rate; default 0).","type":"number"},"module":{"description":"Upgrade-module name or tier number (recipes only); lowers craft time/materials.","type":"string"},"server":{"additionalProperties":true,"description":"Model a DIFFERENT server by overriding its difficulty/feature settings (default = THIS server's real settings, so omit for accurate answers). Fields: craftResource (× ingredient cost), craftTime (× craft time), growth (× plant growth/maturity), garbageRatio (Update 14 craft-waste ratio, 0..1; scales recipe garbage byproducts), fuelEfficiency (× every fuel item's fuel value), foodVariety (bool), foodTastiness (bool), baseGain (flat XP/day floor), minBalanced/maxBalanced (balanced-diet multiplier range for food XP).","type":"object"},"skill_level":{"description":"Governing-skill level (recipes/tools/mining); lowers labor / tunes stats.","type":"integer"},"slug":{"description":"A recipe, food-item, or species slug (from wiki_search).","type":"string"},"talents":{"description":"Talent names to treat as learned (recipes/tools/mining/species yields).","items":{"type":"string"},"type":"array"},"tastiness":{"description":"Food only: your current food-tastiness bonus multiplier (default 1).","type":"number"},"variety":{"description":"Food only: your current food-variety bonus multiplier (default 1).","type":"number"}},"required":["slug"],"type":"object"},"name":"wiki_calc"},{"description":"Look up Eco chat (slash) commands on this server, from the game's own command registry. Pass a command name (\"give\", \"unstuck\", \"manage playtime\"), words from what it does (\"weather\", \"stuck\"), or a full line the player typed (\"/give birch seed 100\"). Returns each match's exact usage line (arguments are COMMA-separated; [bracketed] ones optional, with defaults), its shortcut, and who can use it (Everyone / Moderator / Admin). For a typed line it also returns `interpretation`: how the game would read it, argument by argument, any problems, and a `corrected` line when the arguments were separated by spaces instead of commas.","inputSchema":{"additionalProperties":false,"properties":{"limit":{"description":"Max matches (default 6, max 25).","type":"integer"},"query":{"description":"A command name, a typed command line, or words describing what the command does.","type":"string"}},"required":["query"],"type":"object"},"name":"wiki_commands"},{"description":"Explain how Solomon's help contracts and quests work for players (the kinds available, how rewards/escrow work, how completion is verified). Use for 'how do contracts/quests work' questions.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"wiki_contract_basics"},{"description":"Read full facts for one OR MANY wiki pages in a single call. Pass every page you need at once (e.g. a recipe AND its ingredient items) — batching saves round-trips. Each entry takes a slug (from wiki_search) and, ideally, its kind:\n• item — item/food/tool/placed-object/block: description, category, tags, weight/stack, fuel, food nutrition + shelf life, tool/weapon stats, placed-object stats (housing, rooms, power/fuel, storage), block facts, where obtained, recipes that make/use it. For a placed object this INCLUDES its measurements — storage slots and weight capacity, storage link range, interact distance, power-grid radius, footprint and top speed — so read the page before saying a size/range/capacity isn't tracked.\n• recipe — products (+waste), ingredients (specific items OR categories w/ examples), station, skill + level, labor, craft time, XP, throughput, and the levers that change the numbers. (wiki_calc for exact modified numbers; wiki_total_raw for the from-scratch chain.)\n• skill — tier, max level, prerequisites, recipes unlocked.\n• category — a tag's member items and the recipes that use it.\n• species — an animal OR plant/tree: description, yields; animals: diet/predator/nocturnal; plants: biomes, ideal temperature.\n• biome — the plants/trees that grow there.\nOmit kind only if unsure; an ambiguous slug returns all matches so you can re-request with the right kind.","inputSchema":{"additionalProperties":false,"properties":{"items":{"description":"1–12 pages to read in one call.","items":{"additionalProperties":false,"properties":{"kind":{"description":"Which page type. Optional — omit only if unsure.","enum":["item","recipe","skill","category","species","biome"],"type":"string"},"slug":{"description":"The page slug (lower-case, hyphenated), e.g. from a wiki_search result.","type":"string"}},"required":["slug"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"}},"required":["items"],"type":"object"},"name":"wiki_get"},{"description":"Rank the wiki's entities by a NUMERIC field and return the top (or bottom) N. Use this for ANY 'which has the most/least/highest/lowest X' question — never guess-and-confirm with wiki_search. Choose a kind, the field to rank 'by', order (desc = highest first, the default; asc = lowest first), an optional limit (default 5, max 25), an optional 'category' to scope to one tag (food/item/species only — e.g. category \"seed\"), and an optional numeric 'where' filter. Available fields by kind (a field that doesn't apply to a given entity — e.g. a tool stat on a non-tool — simply excludes it):\n• food: calories, carbs, fat, protein, shelf_life, stack, vitamins, weight\n• item (base + placed-object + tool + block facets): air_pollution, animal_damage, block_tier, calories_burn, damage, durability_burn, fertility, fuel, fuel_jps, grid_radius, hardness, harvest_yield, housing_value, interact_distance, is_fuel, is_mintable, is_road, is_weapon, labor_max, labor_min, link_radius, max_coins, max_durability, move_efficiency, pollution, power_generated, power_watts, repair_level, room_tier, room_volume, school_value, seats, size_x, size_y, size_z, stack, storage_slots, storage_weight, tool_tier, vehicle_speed, weight\n• recipe: craft_minutes, crafting_steps, ingredients, labor, products, skill_level, skill_max_level, xp\n• skill: max_level, tier\n• species (animals ∪ plants/trees): attacks_player, calorie_value, co2_per_day, health, ideal_temp_max, ideal_temp_min, is_predator, nocturnal, yield_min_total, yield_total\nBool fields read as 1/0 (e.g. where { field: \"is_predator\", op: \"=\", value: 1 }). Example: { kind: \"food\", by: \"calories\", order: \"desc\", limit: 3 } → the 3 highest-calorie foods. Scoped example: { kind: \"food\", by: \"shelf_life\", order: \"asc\", category: \"seed\" } → the seeds that spoil fastest. Optional character/server PROFILE (skill_level/skills, talents, modules/module, server) re-ranks the profile-sensitive metrics — recipe labor/craft_minutes; tool damage/calories_burn/durability_burn; item harvest_yield/power_watts; species yield_total/yield_min_total (craft_minutes also honors server craftTime). All other fields are static facts and ignore the profile (the result carries a note). No profile = base ranking.","inputSchema":{"additionalProperties":false,"properties":{"by":{"description":"Numeric field to rank by (see this tool's description for the field names valid for each kind).","type":"string"},"category":{"description":"Optional: scope to ONE tag/category before ranking/aggregating, e.g. \"seed\", \"vegetable\", \"gun\". Only the tagged kinds (food / item / species) support this. Use the category's name from a wiki_search result; matching is case- and plural-insensitive.","type":"string"},"kind":{"description":"Which entity set to rank.","enum":["food","item","recipe","skill","species"],"type":"string"},"limit":{"description":"How many to return (default 5, max 25).","type":"integer"},"module":{"description":"A single module name/type, or a comma-separated list (alternative to modules[]).","type":"string"},"modules":{"description":"Upgrade-module names/types installed (multiple slots stack).","items":{"type":"string"},"type":"array"},"order":{"description":"desc = highest first (default), asc = lowest first.","enum":["desc","asc"],"type":"string"},"server":{"additionalProperties":true,"description":"Model a DIFFERENT server's difficulty (default = this server's real settings; omit for accurate answers). Fields: craftResource, craftTime, growth, garbageRatio, fuelEfficiency, foodVariety, foodTastiness, baseGain, minBalanced, maxBalanced. Only craft_minutes is server-sensitive for ranking.","type":"object"},"skill_level":{"description":"A single skill level applied to every governing skill (profile-sensitive metrics only).","type":"integer"},"skills":{"additionalProperties":{"type":"integer"},"description":"Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.","type":"object"},"talents":{"description":"Talent names/types to treat as learned (profile-sensitive metrics only).","items":{"type":"string"},"type":"array"},"where":{"additionalProperties":false,"description":"Optional single numeric filter applied before ranking/aggregating, e.g. { field: \"weight\", op: \"<\", value: 1000 }. The field must come from the same per-kind set as 'by'/'field'.","properties":{"field":{"description":"A numeric field from the kind's field list.","type":"string"},"op":{"description":"Comparison operator.","enum":[">",">=","<","<=","="],"type":"string"},"value":{"description":"The number to compare against (bools are 1/0).","type":"number"}},"required":["field","op","value"],"type":"object"}},"required":["kind","by"],"type":"object"},"name":"wiki_rank"},{"description":"Full-text search the Eco game wiki (items, recipes, skills, categories, animals, plants, biomes). Returns matching pages with their kind, name, slug, and a snippet. Use the slug with the matching wiki_get_* tool to read full facts. ALWAYS search first to find the right slugs.","inputSchema":{"additionalProperties":false,"properties":{"limit":{"description":"Max results (default 8).","type":"integer"},"query":{"description":"What to search for (e.g. \"iron bar\", \"carpentry\", \"deer\").","type":"string"}},"required":["query"],"type":"object"},"name":"wiki_search"},{"description":"Flatten a recipe or craftable item to its TOTAL RAW materials across the whole production chain, with total labor calories, total craft minutes, and crafting-step count. Pass an item slug OR a recipe slug. Use for 'what does it take to make X from scratch' (the raw shopping list). For a breakdown that ALSO includes the crafted intermediate sub-components (e.g. how many iron bars), use wiki_bom instead. Optionally pass a character setup (skill_level/skills, talents, modules) AND/OR a server override to recompute the WHOLE chain for that profile.","inputSchema":{"additionalProperties":false,"properties":{"module":{"description":"A single module name/type, or a comma-separated list (alternative to modules[]).","type":"string"},"modules":{"description":"Upgrade-module names/types installed (multiple slots stack).","items":{"type":"string"},"type":"array"},"server":{"additionalProperties":true,"description":"Model a DIFFERENT server by overriding its difficulty/feature settings (default = THIS server's real settings, so omit for accurate answers). Fields: craftResource (× ingredient cost), craftTime (× craft time), growth (× plant growth/maturity), garbageRatio (Update 14 craft-waste ratio, 0..1; scales recipe garbage byproducts), fuelEfficiency (× every fuel item's fuel value), foodVariety (bool), foodTastiness (bool), baseGain (flat XP/day floor), minBalanced/maxBalanced (balanced-diet multiplier range for food XP).","type":"object"},"skill_level":{"description":"A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup).","type":"integer"},"skills":{"additionalProperties":{"type":"integer"},"description":"Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.","type":"object"},"slug":{"description":"An item or recipe slug (from a wiki_search result).","type":"string"},"talents":{"description":"Talent names/types to treat as learned (applied across the whole chain).","items":{"type":"string"},"type":"array"}},"required":["slug"],"type":"object"},"name":"wiki_total_raw"}]},"body_sha256":"36e05c2f751427c6bab06f5dd43bffe0040a7d49e6e7bac7b028c575ced4e3f6","prev_id":null,"leaf":"0xea6dca9e46be365998768c1700ff8d40c9a497d6257afd7508003601c12a0785","leaf_text":"{\"body\":\"36e05c2f751427c6bab06f5dd43bffe0040a7d49e6e7bac7b028c575ced4e3f6\",\"id\":565072,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793138003363207,\"prev\":null,\"subject\":\"4a870f1f-ec1b-44eb-8c29-aecd37100c43\",\"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":["0xea6d49d8e28b7fb0ba392105c94fac2c8e27b6df471e85cb1c0679ae3e5670a9","0xdd66f6070c996ee3175c7c187b1d9379e1c1dd9ea8e053b279843993e64da2c2","0xc42fa144dc32628c812c4d4344702681f29e5b565e3ea846c923f8fd6db5f9f3","0x28dd769d8ea050004b70f723845134bb262a98b71d23cb11405203651ebaf03b","0x32a94ab2b93623c797979c333b9a7d5be2c18b55478a524618944a07b676b63a","0xa288452d9c62e8496d347d2bdf67b6a1252da911559f4e6e131da60a05c55a1b","0xa6453fbd9890ca56aa7312939be8aa9ea20c0d02e451734a3e9cf9cc718724f1","0x716ecab32e5cf2874f374ae714de97349724f78d00fe5acfc2f41636535046ef","0x5668b5deb970e2c678e613fa60d238e161a87bb10a7d0d6e35c6747081d9edbb","0x694f3f33268c5bc6380613bb5b291820cb4ce07a82164429442bc75b24ebcc5e","0x8cc7cdbb404948d6c8277e8104fbf6f6ef7bc67273321adedcf016270a69a84e","0x71d164c799d87b4dc25af672a70aaf73791d8dbb1786a5d4eb3ead269cb7c28a","0x89602081fbcc80aef8908f5df765767a1a41cc8b089111259ea78e6583a8bc4b","0x41f9f462759cb539183e979fb3eb967d94755cf039c44a64a9a3c4ad97523cfd","0x56f7109d4cde42492651beb1237c13cdcbf95e6fee2b2482391a2388e04c4629","0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f","0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}