{"ok":true,"site":{"host":"sepiola.semanticintent.dev","url":"https://sepiola.semanticintent.dev/","type":"live","desc":"Sepiola, a WebMCP telestrator: a page that draws an analyst's read onto a persistent screen. The analyst decides, the pen draws, the screen has no opinions.","tools":[{"name":"cue_roster","kind":"act","impl":"imperative","description":"Load a roster onto the rink. Give `text`, the pasted lineup (any format, one player per line), when an analyst is configured; or `fixture`, the name of a read in fixtures/. `opponent_text`, the other side's lineup, gives games in hand its second bar.","title":"Load the board","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"text":{"type":"string"},"fixture":{"type":"string"},"opponent_text":{"type":"string"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"read_ice","kind":"answer","impl":"imperative","description":"Reveal the read: ice quality under the skates, badges, the calls, games in hand. `start` (YYYY-MM-DD) moves the window; the analyst defaults to today.","title":"Read the ice","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"look_ahead_days":{"type":"number"},"start":{"type":"string"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"circle","kind":"act","impl":"imperative","description":"Spotlight one skater with the reason pinned above. Without a reason, the analyst's own line is used.","title":"Circle him","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Skater ids from the read."},"reason":{"type":"string"}},"required":["ids"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"replay","kind":"act","impl":"imperative","description":"Stage the reasoning behind one skater: his week, the analyst's line, his projected points, and the call if the analyst made one.","title":"Run it back","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"A skater id from the read."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"split","kind":"act","impl":"imperative","description":"Two skaters' weeks side by side, then the analyst's call on who gets the start, if the analyst made one.","title":"Split screen","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"a":{"type":"string","description":"A skater id from the read."},"b":{"type":"string","description":"A skater id from the read."}},"required":["a","b"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"cut_to","kind":"act","impl":"imperative","description":"Bring a window forward: rink, panel, hand, replay, or console.","title":"Cut to","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"view":{"type":"string","enum":["rink","panel","hand","replay","console","board"]}},"required":["view"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"cue_board","kind":"act","impl":"imperative","description":"Put up the draft board: the analyst's tiers by position from last season, one note per prospect, and where each position thins out. Give `drafted_text`, the players already taken by anyone (one per line, any format), and the analyst crosses them off. Give `mine_text`, your own picks, and the analyst also says who to take next: its top three are marked on the board in its order. `playoff_start_week` and `playoff_end_week` (your league's fantasy playoff weeks; week 1 opens with the NHL season and, when that is mid-week, runs to the second Sunday, as Yahoo counts it) let that pick weigh each club's games in them. `categories`, the league's scoring categories as its settings list them (e.g. \"G, A, +/-, PPP, SOG, HIT, BLK; W, GAA, SV%, SO\"), has the analyst rank the board and the pick for them instead of points. `fixture` loads a saved board.","title":"Put up the board","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{"drafted_text":{"type":"string"},"mine_text":{"type":"string"},"categories":{"type":"string"},"playoff_start_week":{"type":"number"},"playoff_end_week":{"type":"number"},"fixture":{"type":"string"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"wipe","kind":"act","impl":"imperative","description":"Clean the screen. The roster stays cued; the read, the circle, and the replay are cleared.","title":"Wipe","annotations":{"readOnlyHint":false,"consequentialHint":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/sepiola.semanticintent.dev.png","apiSurface":"spec","toolCount":8}}