{"ok":true,"site":{"host":"launchpad-nine-sand.vercel.app","url":"https://launchpad-nine-sand.vercel.app/","type":"live","desc":"Type one problem. LaunchPad researches it, recommends one solution, and shows the cited evidence and limitations behind it.","tools":[{"name":"get_foundry_state","kind":"answer","impl":"imperative","description":"Read the user-authored problem brief, active LaunchPad stage, record counts, quality warnings, and selected candidate. Call this first so every later action uses the human’s actual problem. This only records an audit event and does not change research decisions.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"research_and_ideate","kind":"act","impl":"imperative","description":"Run the complete LaunchPad workflow in one action: structure the problem, search relevant research, extract and qualify cited findings, synthesize mechanisms, build one solution, stress-test it, and finalize the visible blueprint. This is the one-shot WebMCP entry point and visibly changes the entire page.","inputSchema":{"type":"object","properties":{"problem_statement":{"type":"string","description":"Problem to research. Omit when the user has already submitted it in the page."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_problem_brief","kind":"act","impl":"imperative","description":"Create or revise the active structured problem brief. This visibly updates the Problem Hopper and moves the workspace to PROBLEM_DEFINED.","inputSchema":{"type":"object","properties":{"problem_type":{"type":"string","description":"Kind of decision or opportunity."},"problem_statement":{"type":"string","description":"Concrete problem statement. Required when the brief is empty."},"target_audience":{"type":"string","description":"Specific affected audience."},"desired_outcome":{"type":"string","description":"Observable outcome sought."},"current_behavior":{"type":"string","description":"What the audience does today."},"constraints":{"type":"array","description":"Implementation, policy, resource, or timing constraints.","items":{"type":"string"},"uniqueItems":true},"geography":{"type":"string","description":"Relevant geography."},"timeframe":{"type":"string","description":"Decision or delivery timeframe."},"excluded_approaches":{"type":"array","description":"Approaches that must not be recommended.","items":{"type":"string"},"uniqueItems":true},"decision_criteria":{"type":"array","description":"Criteria used to compare recommendations.","items":{"type":"string"},"uniqueItems":true}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"plan_research","kind":"act","impl":"imperative","description":"Turn the active brief into six inspectable research questions across approved source lanes. This activates the planning station.","inputSchema":{"type":"object","properties":{"focus":{"type":"string","description":"Optional research focus to emphasize."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_sources","kind":"answer","impl":"imperative","description":"Search one connected source lane for the active research plan. Connected results become deduplicated source crates; when no adapter results exist, the question stays open and the agent should use browser research followed by import_source.","inputSchema":{"type":"object","properties":{"lane":{"type":"string","description":"Single source lane to search.","enum":["first_party","customer","academic","market","alternatives","community","counter"]},"query":{"type":"string","description":"Optional narrow query for this lane."}},"required":["lane"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"import_source","kind":"act","impl":"imperative","description":"Import one URL, pasted excerpt, uploaded-document identifier, or connected-data result. This adds one source crate; it does not automatically accept evidence.","inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"Human-readable source title."},"source_type":{"type":"string","description":"Source format or origin.","enum":["analytics","customer","paper","report","community","competitor","internal"]},"url":{"type":"string","description":"Public HTTP(S) URL or document identifier."},"excerpt":{"type":"string","description":"Exact user-provided passage when the full source is unavailable."},"lane":{"type":"string","description":"Evidence lane for the source.","enum":["first_party","customer","academic","market","alternatives","community","counter"]},"private":{"type":"boolean","description":"Whether the source contains private evidence."},"synthetic":{"type":"boolean","description":"Whether this is disclosed synthetic demo evidence."},"author":{"type":"string","description":"Author list when known."},"publisher":{"type":"string","description":"Publisher or venue owner when known."},"published_at":{"type":"string","description":"Publication date in YYYY-MM-DD form when known."}},"required":["title","source_type"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"extract_findings","kind":"act","impl":"imperative","description":"Extract atomic, citation-complete findings from selected sources. This moves new findings into the human inspection bay as pending evidence.","inputSchema":{"type":"object","properties":{"source_ids":{"type":"array","description":"Specific source IDs; omit to process all available sources.","items":{"type":"string"},"uniqueItems":true}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"review_findings","kind":"act","impl":"imperative","description":"Accept, reject, or qualify matched findings. This changes evidence lanes, recalculates candidate support, and preserves the review in the activity log.","inputSchema":{"type":"object","properties":{"decision":{"type":"string","description":"Human-authorized evidence decision.","enum":["accept","reject","qualify"]},"finding_ids":{"type":"array","description":"Exact findings to review.","items":{"type":"string"},"uniqueItems":true},"evidence_type":{"type":"string","description":"Optional category filter used instead of individual IDs.","enum":["first_party_behavioral","primary_user_evidence","primary_research","secondary_research","market_signal","competitor_evidence","expert_opinion","community_anecdote","derived_calculation","hypothesis","counter_evidence"]},"note":{"type":"string","description":"Reason for the decision."}},"required":["decision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_evidence_gaps","kind":"answer","impl":"imperative","description":"Read missing quality gates, weak evidence concentration, and contradiction warnings. This only records an audit event.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"synthesize_insights","kind":"act","impl":"imperative","description":"Cluster accepted findings into inspectable opportunity themes while retaining contradictions. This visibly assembles the insight station.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"generate_idea_candidates","kind":"act","impl":"imperative","description":"Create one to three problem-specific, evidence-linked candidates from accepted findings and constraints. An agent should pass its structured candidate proposals so LaunchPad can validate, store, score, and render them in the visible forge.","inputSchema":{"type":"object","properties":{"count":{"type":"integer","enum":[1,2,3],"minimum":1,"maximum":3,"description":"Number of candidates to create when structured proposals are omitted."},"proposals":{"type":"array","description":"One to three problem-specific candidate proposals derived from the accepted evidence.","minItems":1,"maxItems":3,"items":{"type":"object","additionalProperties":false,"required":["name","one_liner","mechanism","features"],"properties":{"name":{"type":"string","description":"Memorable candidate name."},"one_liner":{"type":"string","description":"One-sentence proposition."},"target_user":{"type":"string","description":"Specific target user; defaults to the active brief."},"problem":{"type":"string","description":"Problem addressed; defaults to the active problem statement."},"mechanism":{"type":"string","description":"Why this intervention may work."},"workflow":{"type":"array","items":{"type":"string"},"description":"Ordered user workflow."},"features":{"type":"array","minItems":1,"maxItems":4,"items":{"type":"object","additionalProperties":false,"required":["name","description"],"properties":{"name":{"type":"string"},"description":{"type":"string"}}}},"expected_outcome":{"type":"string"},"implementation_constraints":{"type":"array","items":{"type":"string"}},"differentiation":{"type":"string"},"assumptions":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["statement"],"properties":{"statement":{"type":"string"},"importance":{"type":"string","enum":["critical","high","medium"]},"validation_method":{"type":"string"}}}}}}}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_candidate","kind":"act","impl":"imperative","description":"Read one candidate, its support coverage, evidence links, and unsupported components. This only records an audit event.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"candidate_id":{"type":"string","description":"Candidate ID to inspect."}},"required":["candidate_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stress_test_candidate","kind":"act","impl":"imperative","description":"Challenge one candidate with accepted counter-evidence, adoption risks, feasibility risks, and population warnings. This activates the stress chamber.","inputSchema":{"type":"object","properties":{"candidate_id":{"type":"string","description":"Candidate ID to challenge."}},"required":["candidate_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"revise_candidate","kind":"act","impl":"imperative","description":"Revise a candidate under explicit constraints while preserving lineage. Excluded evidence categories are rejected and all candidate scores are recalculated.","inputSchema":{"type":"object","properties":{"candidate_id":{"type":"string","description":"Candidate ID to revise."},"instruction":{"type":"string","description":"Concrete revision instruction."},"constraints":{"type":"array","description":"Additional constraints the candidate must retain.","items":{"type":"string"},"uniqueItems":true},"exclude_evidence_types":{"type":"array","description":"Evidence categories to exclude from support.","items":{"type":"string","enum":["first_party_behavioral","primary_user_evidence","primary_research","secondary_research","market_signal","competitor_evidence","expert_opinion","community_anecdote","derived_calculation","hypothesis","counter_evidence"]},"uniqueItems":true}},"required":["candidate_id","instruction"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"trace_evidence","kind":"act","impl":"imperative","description":"Read the complete idea-component to insight to finding to source proof path. The path is also highlighted in the visible blueprint.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"candidate_id":{"type":"string","description":"Candidate ID whose proof path is requested."},"component_path":{"type":"string","description":"Component path such as mechanism or features.0."}},"required":["candidate_id","component_path"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"finalize_blueprint","kind":"act","impl":"imperative","description":"Lock a stress-tested candidate into a versioned proof-carrying blueprint after all evidence gates pass. This activates the blueprint printer.","inputSchema":{"type":"object","properties":{"candidate_id":{"type":"string","description":"Stress-tested candidate ID to finalize."}},"required":["candidate_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_blueprint","kind":"act","impl":"imperative","description":"Produce a Markdown or JSON blueprint export. Private evidence is excluded by default and included only when explicitly requested.","inputSchema":{"type":"object","properties":{"format":{"type":"string","description":"Export format.","enum":["markdown","json"]},"include_private":{"type":"boolean","description":"Include private sources only when the user explicitly authorizes it."}},"required":["format"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/launchpad-nine-sand.vercel.app.svg","apiSurface":"spec","toolCount":17}}