{"id":2143823,"recorded_at":"2026-11-02T13:21:26.365621Z","observed_at":"2026-11-02T13:21:26.365548Z","subject_kind":"endpoint","subject":"d41afe07-d6f8-432d-b43c-5f7208fab1e2","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":7,"tools":[{"description":"Movement slugs whose name holds `query` (e.g. \"row\", \"sled\"), for\n    suggest_workouts' include and exclude, machines and runs first.","inputSchema":{"properties":{"kind":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Keep one movement kind only, one of strength, olympic, plyo, cyclic, carry, mobility (cyclic: row, ski, bike, run); all when omitted. Example: \"cyclic\".","title":"Kind"},"query":{"description":"Text the movement name holds, any case. Example: \"sled\".","maxLength":100,"title":"Query","type":"string"}},"required":["query"],"title":"find_movementsArguments","type":"object"},"name":"find_movements"},{"description":"New workouts unlike any in the library, from our generator (no AI),\n    as text: evolved from the library's workouts and movements (more lines,\n    fewer, other formats) into kinds it does not hold. For one person.\n    Nothing is saved; other ones each call. suggest_workouts and\n    vary_workout stay close to library workouts instead.\n\n    A shortfall says what blocked it.","inputSchema":{"properties":{"bodyweight":{"default":true,"description":"False also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.","title":"Bodyweight","type":"boolean"},"count":{"default":3,"description":"How many workouts, at most 5. Example: 3.","maximum":5,"minimum":1,"title":"Count","type":"integer"},"equipment":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"What the athletes have, as list_equipment keys or names (\"echo-bike\" or \"echo\", \"row erg\", \"ski erg\"), one item per entry. Say \"1 dumbbell\" or \"1 kettlebell\" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored (\"1 echo\" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need \"running\" in the list. A name matching several keys or none is an error naming them. Example: [\"1 dumbbell\", \"box\", \"ski-erg\"]. Omitted is a full gym.","title":"Equipment"},"exclude":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"Movement slugs or names (from find_movements) every workout must leave out. Example: [\"burpees\"].","title":"Exclude"},"format":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this format: for_time, amrap, emom, intervals. Any when omitted. Example: \"amrap\".","title":"Format"},"include":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"Movement slugs or names (from find_movements) every workout must hold; fewer come back the more are named. Example: [\"wallballs\"].","title":"Include"},"minutes_max":{"anyOf":[{"maximum":240,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Longest estimated workout length, in minutes. Example: 25.","title":"Minutes Max"},"minutes_min":{"anyOf":[{"maximum":240,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Shortest estimated workout length, in minutes. Example: 10.","title":"Minutes Min"},"sex":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Who trains, for the weights and machine doses: \"men\", \"women\", or \"mixed\" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's (\"9/6 kg\", \"12/10 kcal\"). Anything but men gets only workouts with a women's weight on every loaded line. Example: \"women\".","title":"Sex"},"show_scores":{"default":true,"description":"True adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.","title":"Show Scores","type":"boolean"}},"title":"generate_workoutsArguments","type":"object"},"name":"generate_workouts"},{"description":"The workout archetypes the generator makes, one per line: key, name,\n    formats, minutes, line count, and the session slots it serves.","inputSchema":{"properties":{"style":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Keep only one style's archetypes: crossfit, hyrox or hybrid; all when omitted. Example: \"hyrox\".","title":"Style"}},"title":"list_archetypesArguments","type":"object"},"name":"list_archetypes"},{"description":"The equipment suggest_workouts' `equipment` takes, one per line:\n    key: name, with \"(machine)\" on ergometers (rower, ski erg, bikes).\n    Keys, names and common names (\"echo\", \"row erg\", \"DB\", \"kb\") all work.","inputSchema":{"properties":{},"title":"list_equipmentArguments","type":"object"},"name":"list_equipment"},{"description":"A user's verdict on a workout from these tools: a mistake (wrong\n    equipment, a weight, a dose that cannot fit), or a workout they found bad\n    or good. Stores the user's words for Goblin Gains, nothing else about the\n    user.","inputSchema":{"properties":{"note":{"description":"What the user said about the workout, in their words. Example: \"Farmers carry needs two dumbbells; I said I have one.\"","maxLength":2000,"minLength":1,"title":"Note","type":"string"},"verdict":{"description":"One of mistake, bad, good: \"mistake\" (something in it is wrong), \"bad\" (it works but is a poor workout), \"good\". Example: \"mistake\".","maxLength":100,"title":"Verdict","type":"string"},"workout":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"The workout's save link from suggest_workouts, vary_workout or generate_workouts, or its id; omitted for the tools as a whole. Example: \"https://app.goblingains.com/w/<id>\".","title":"Workout"}},"required":["note","verdict"],"title":"report_workoutArguments","type":"object"},"name":"report_workout"},{"description":"New workouts from our generator, as text. Ask this instead of writing\n    workouts yourself. Nothing is saved.\n\n    Example, two people with an echo bike, rower and ski erg, 40-60 min:\n    suggest_workouts(count=5, people=2, minutes_min=40, minutes_max=60,\n    equipment=[\"echo-bike\", \"row-ergometer\", \"ski-erg\"], bodyweight=False)\n\n    A shortfall says what blocked it.","inputSchema":{"properties":{"archetype":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"A key or name from list_archetypes; any when omitted. Example: \"A5\" or \"chipper\".","title":"Archetype"},"bodyweight":{"default":true,"description":"False also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.","title":"Bodyweight","type":"boolean"},"cap_minutes":{"anyOf":[{"maximum":240,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"A time cap the workout must fit, in whole minutes. Example: 30.","title":"Cap Minutes"},"count":{"default":3,"description":"How many workouts, at most 5; from 3 on, a mix of archetypes (at most 2 of one unless nothing else fits). Example: 3.","maximum":5,"minimum":1,"title":"Count","type":"integer"},"equipment":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"What the athletes have, as list_equipment keys or names (\"echo-bike\" or \"echo\", \"row erg\", \"ski erg\"), one item per entry. Say \"1 dumbbell\" or \"1 kettlebell\" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored (\"1 echo\" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need \"running\" in the list. A name matching several keys or none is an error naming them. Example: [\"1 dumbbell\", \"box\", \"ski-erg\"]. Omitted is a full gym.","title":"Equipment"},"exclude":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"Movement slugs or names (from find_movements) every workout must leave out. Example: [\"burpees\"].","title":"Exclude"},"include":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"Movement slugs or names (from find_movements) every workout must hold. Example: [\"wallballs\", \"sled-push\"].","title":"Include"},"minutes_max":{"anyOf":[{"maximum":240,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Longest estimated workout length, in minutes. Example: 60.","title":"Minutes Max"},"minutes_min":{"anyOf":[{"maximum":240,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Shortest estimated workout length, in minutes. Example: 40.","title":"Minutes Min"},"only":{"default":false,"description":"True: the workouts hold the included movements and nothing else (each may repeat). Needs include. Example: true.","title":"Only","type":"boolean"},"partner":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True: only partner workouts (two people share the work: turns at a station, or each on a station at once, then swap). False: none. Omitted: either. Example: true.","title":"Partner"},"people":{"default":1,"description":"How many train together with one of each machine. Above 1, only workouts they can share come back: partner workouts (taking turns on a station), or EMOMs/intervals with a different machine on every line and at least one line per person (start apart, rotate). Example: 2.","maximum":20,"minimum":1,"title":"People","type":"integer"},"sex":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Who trains, for the weights and machine doses: \"men\", \"women\", or \"mixed\" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's (\"9/6 kg\", \"12/10 kcal\"). Anything but men gets only workouts with a women's weight on every loaded line. Example: \"women\".","title":"Sex"},"show_scores":{"default":true,"description":"True adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.","title":"Show Scores","type":"boolean"},"temperature":{"default":0,"description":"0 to 1. 0: the same ask always brings the same workouts. Above 0: other ones each call, the higher the further from the library workouts they vary (0.3 close variations, 1 far ones). Example: 0.3.","title":"Temperature","type":"number"}},"title":"suggest_workoutsArguments","type":"object"},"name":"suggest_workouts"},{"description":"Variations of one library workout from our generator (no AI), as\n    text, in its own format or another. Nothing is saved.\n\n    A shortfall says what blocked it.","inputSchema":{"properties":{"bodyweight":{"default":true,"description":"False also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.","title":"Bodyweight","type":"boolean"},"count":{"default":3,"description":"How many variations, at most 5. Example: 3.","maximum":5,"minimum":1,"title":"Count","type":"integer"},"equipment":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"maxItems":30,"type":"array"},{"type":"null"}],"default":null,"description":"What the athletes have, as list_equipment keys or names (\"echo-bike\" or \"echo\", \"row erg\", \"ski erg\"), one item per entry. Say \"1 dumbbell\" or \"1 kettlebell\" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored (\"1 echo\" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need \"running\" in the list. A name matching several keys or none is an error naming them. Example: [\"1 dumbbell\", \"box\", \"ski-erg\"]. Omitted is the kit the workout already uses.","title":"Equipment"},"format":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Turn it into this format first: for_time, amrap, emom, intervals. About its minutes: an EMOM gives each line its own minute when a round is over 40 s, intervals rest as long as a round's work. Omitted keeps its own. Example: \"emom\".","title":"Format"},"name":{"description":"The library workout's name or part of it, any case; several matches are an error listing them (up to 10) to ask again. Example: \"Fran\".","maxLength":100,"title":"Name","type":"string"},"people":{"default":1,"description":"How many train together with one of each machine. Above 1, only workouts they can share come back: partner workouts (taking turns on a station), or EMOMs/intervals with a different machine on every line and at least one line per person (start apart, rotate). Example: 2.","maximum":20,"minimum":1,"title":"People","type":"integer"},"sex":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Who trains, for the weights and machine doses: \"men\", \"women\", or \"mixed\" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's (\"9/6 kg\", \"12/10 kcal\"). Anything but men gets only workouts with a women's weight on every loaded line. Example: \"women\".","title":"Sex"},"show_scores":{"default":true,"description":"True adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.","title":"Show Scores","type":"boolean"},"temperature":{"default":0.5,"description":"0 to 1, how far they stray from it (0.2 close, 1 far). Example: 0.5.","title":"Temperature","type":"number"}},"required":["name"],"title":"vary_workoutArguments","type":"object"},"name":"vary_workout"}]},"body_sha256":"d6f8eaa3c27c8dc564100fe684be346ca578263d545c555c5a6e1819755888d4","prev_id":null,"leaf":"0x1ea2db4bf42bd0638f725b2d3d53a06d7656c92b5c48fcc3c43437585b16cc9a","leaf_text":"{\"body\":\"d6f8eaa3c27c8dc564100fe684be346ca578263d545c555c5a6e1819755888d4\",\"id\":2143823,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793625686365548,\"prev\":null,\"subject\":\"d41afe07-d6f8-432d-b43c-5f7208fab1e2\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-02","leaves":444186,"root":"0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1","chained":"0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2","anchor_chain":"eip155:5042002","anchor_tx":"0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af","anchor_block":70432815},"proof":["0x1ea2d296596f5836c12a4f05e13f2c2f2b59ea3265f7a07d6aa3259566f7c8ae","0xaf7ef2e8e69704767aea0e95321d24ce81e3394b5f5cc38bc2c9b4fa26f7c1a7","0xe2712d2b53ff445dea3c03f40b7f220097cc1a11ce0c6cd9148246c29ce43f60","0xac5d34d23ee5a730e51d917dd525decf71fc7150e9562b19b82e9ede836092cd","0x65b96df0cc719ffb21f935b71c5e83f08dbe79eed97eeaa4bc7e175806c63211","0xa9d7ebf3dd2b60d87a96ab39a79f8ec75720feac03f226d806c85bdbe607d6cb","0xcb1734e3bb00e4b7c9a9b0bbad97a1b3a1d585caa11e3d1db2cd9133af46080a","0xb5ba7ef3408280dcd4179e414ac4701abca2e76381566536964a7ae0295bbf3e","0xb08cca3e32f512331aac0995708194ed35513b4758cd315ae2ecd125b1b72942","0x67938f519f23ba4125684dc14b49ae67e7cd284cc7e83c905db5a5534f2b7341","0xac0fc923a0db6bc3966b63b9f80568be71e73b50d1e4f75f4cff6ce1027de1b2","0x921d0608297ee8b39f59114be3d8989b8d4efd3e464dd03aef90facc4e2624f6","0x350e03a59bf81961fd9ce694f08f9ba0239d9ea2496b0c0dc7998c9e9855326f","0xc63937235d47ff2107de3051477e395be67b96d91d1349c787bf4b1ef91b602f","0xcd21ec8d72a18a2d4513e4fd309abbb530810fb1dbeecd4b9b85acb4d6ff8f12","0xac40f077ca4be8c3432a67771725cc315e8101fc2649999cfad2c900a7640e27","0x53a741b69e9e51c4a288a74712aa6ac3fb28c8923cd3e6461d161c4f2d48b31a","0x050f2978b537f7afb21ee1551577cdf146d1c56f4df12d24315ae5e69366b0a4","0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e"]}