{"ok":true,"site":{"host":"blindspot-webmcp.vercel.app","url":"https://blindspot-webmcp.vercel.app/","type":"live","desc":"A five-minute WebMCP co-op game. One human sees the bomb, one agent gets seven purpose-built tools, and they have to talk before the clock runs out.","tools":[{"name":"get_bomb_status","kind":"answer","impl":"imperative","description":"Report defusal progress: countdown, strikes, and which modules are still unsolved. This tool deliberately does NOT describe what any module looks like. Wire colours, keypad symbols, button markings and casing details are withheld from the tool surface by design. Ask the human in front of the bomb to describe them to you.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_manual","kind":"answer","impl":"imperative","description":"Read the defusal manual. Sections: overview, casing, wires, keypad, button. Omit the section argument to read all of it. The manual explains every rule but contains no information about the specific bomb in front of your partner.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"section":{"type":"string","enum":["overview","casing","wires","keypad","button","all"],"description":"Which section to read. Defaults to all."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"cut_wire","kind":"act","impl":"imperative","description":"Cut one wire on a wires module. Positions are numbered from 1 at the top. You cannot see the wires, so confirm the colours with your partner and look the answer up in the wires section of the manual before calling this. A wrong cut is a strike.","annotations":{"readOnlyHint":false,"destructiveHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"module_id":{"type":"string","description":"Module letter, for example A."},"position":{"type":"integer","minimum":1,"maximum":5,"description":"Wire position, 1 is topmost."}},"required":["module_id","position"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"press_keypad","kind":"act","impl":"imperative","description":"Press all four keypad buttons in one order. Positions are 1 and 2 on the top row, 3 and 4 on the bottom row. Pass the full press order as an array of four positions. You cannot see the symbols, so have your partner describe them and match the column in the keypad section of the manual. A wrong order is a strike.","annotations":{"readOnlyHint":false,"destructiveHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"module_id":{"type":"string","description":"Module letter, for example B."},"order":{"type":"array","items":{"type":"integer","minimum":1,"maximum":4},"minItems":4,"maxItems":4,"description":"The four positions in the order they should be pressed."}},"required":["module_id","order"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"tap_button","kind":"act","impl":"imperative","description":"Press the big button and release it immediately. Use this when the button section of the manual resolves to TAP. A wrong choice is a strike.","annotations":{"readOnlyHint":false,"destructiveHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"module_id":{"type":"string","description":"Module letter, for example C."}},"required":["module_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"hold_button","kind":"act","impl":"imperative","description":"Press the big button and keep holding it. A coloured strip lights up beside the button while held. You cannot see that strip: ask your partner for its colour, then call release_button with the digit the manual gives for that colour.","annotations":{"readOnlyHint":false,"destructiveHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"module_id":{"type":"string","description":"Module letter, for example C."}},"required":["module_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"release_button","kind":"act","impl":"imperative","description":"Release a held button at the next moment the countdown displays a given digit. The bomb performs the timing, so call this as soon as you know the digit. Releasing on the wrong digit is a strike.","annotations":{"readOnlyHint":false,"destructiveHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"module_id":{"type":"string","description":"Module letter, for example C."},"release_when_timer_contains":{"type":"integer","minimum":0,"maximum":9,"description":"Release at the next second whose countdown text contains this digit."}},"required":["module_id","release_when_timer_contains"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","apiSurface":"spec","toolCount":7}}