{"ok":true,"site":{"host":"webmcp-launch-copilot.vercel.app","url":"https://webmcp-launch-copilot.vercel.app/","type":"live","desc":"Launch Copilot is an agent-native launch command center for indie game developers.","tools":[{"name":"get_launch_checklist","kind":"answer","impl":"imperative","description":"Use when you need the live launch checklist before planning work, reporting progress, or choosing the next task. Returns every task ID and current status. This is read-only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_task_status","kind":"act","impl":"imperative","description":"Use when the user or launch workflow has actually started or completed a known checklist task. Requires an exact taskId from get_launch_checklist and updates the visible board before returning. Never infer completion without evidence.","inputSchema":{"type":"object","properties":{"taskId":{"type":"string","description":"Exact launch task ID from get_launch_checklist."},"status":{"type":"string","enum":["in-progress","done"],"description":"The verified new task status."}},"required":["taskId","status"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"analyze_steam_page","kind":"act","impl":"imperative","description":"Use when evaluating whether a public Steam store page is launch-ready or when the user asks for concrete store-page gaps. Fetches current public Steam data, updates the visible analysis panel before returning, and does not modify Steam.","annotations":{"readOnlyHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"appIdOrUrl":{"type":"string","description":"A numeric Steam app ID or full store.steampowered.com/app URL."}},"required":["appIdOrUrl"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"draft_press_outreach","kind":"act","impl":"imperative","description":"Use when a specific press contact and honest coverage angle are known and the user wants a reviewable outreach draft. Creates a DRAFT in the visible app using Chrome on-device AI when available, with a safe template fallback. It never sends.","inputSchema":{"type":"object","properties":{"gameTitle":{"type":"string","description":"Exact public game title."},"angle":{"type":"string","description":"Truthful, specific story angle relevant to the recipient."},"recipientName":{"type":"string","description":"Recipient first name or publication contact name."}},"required":["gameTitle","angle","recipientName"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"send_outreach_draft","kind":"transact","impl":"imperative","description":"Use only after the user asks to send a specific saved draft. This cannot send autonomously: it marks the draft awaiting_confirmation, opens the visible human approval modal before returning, and requires the human to click the final confirmation button.","annotations":{"destructiveHint":true},"inputSchema":{"type":"object","properties":{"draftId":{"type":"string","description":"Exact saved draft ID from the visible drafts list."}},"required":["draftId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","apiSurface":"spec","toolCount":5}}