WebMCP
17 tools. ChatGPT sits at the table.
ChatGPT reads IndieTerminal, writes on the same table you see, and proposes a commit. You confirm it. Tools live on document.modelContext— Sol or Terra, site tools on. The in-page composer uses the same tools.
This browser
checking…
Registered
0
getTools()
…
Workspace
IndieTerminal
This is the inspector
Native WebMCP shows here: the header reads native, and getTools() lists the same tools ChatGPT discovered. The one ChatGPT prompt lives on the home page — paste it once, then come back to the floor.
What the calls do
stress_test_decisionWait. Five dissenters write. Weigh it up. Recap each seat in one line.
get_current_decisionShort analysis: scores, flip conditions, next move.
confirm_commitAsk what to commit. Do not close it until the founder says so.
share_decisionA public /share URL you can open and send.
get_company_brainOpens Brain.
get_decision_historyOpens History.
get_founder_track_recordOpens Calibration.
Context
Read the same structured workspace the founder is looking at.
the_room—Company and open decision, already in this room.
no arguments
get_company_brain—Opens Brain. What the company builds, facts vs bets.
1 argument
- section
- Narrow the response to one section. Defaults to all.
get_current_decision—Structured dissenters plus the floor verdict.
1 argument
- decision_id
- A past or open decision id, as returned by get_decision_history. Defaults to the decision the founder has open.
get_decision_history—Opens History. Past decisions, newest first.
2 arguments
- only_with_outcomes
- Return only decisions whose real outcome is known.
- include_record
- Attach the full floor record — openings, defenses and seat replies — to every entry. Defaults to false, which returns summaries only.
get_founder_track_record—Opens Calibration. How this founder has missed.
2 arguments
- domain
- Filter to a single estimate domain. Defaults to all.
- prediction_status
- Filter the predictions by status. Defaults to all.
Debate
Write objects onto the table: arguments, contradictions, evidence.
add_argument—A structured dissenter claim: position, strength, risk, undo.
11 arguments
- perspective*
- Which seat is making this argument.
- stance*
- For or against the founder's apparent preference.
- claim*
- One sentence. The assertion itself.
- reasoning*
- Two to four sentences of company-specific support. This is the seat's argument, not a caption.
- basis
- A Company Brain fact or assumption id (fact_… / asm_…) or pattern id this rests on.
- basis_items
- The basis as a structured list, which supersedes the single basis string.
- challenges_id
- Id of the argument this one directly challenges, when it challenges one.
- strength
- How much weight the argument deserves, 0-100. Defaults to 60.
- risk
- Residual risk if this seat is right. Defaults to medium.
- reversibility
- How easy it is to undo the implied move. Defaults to medium.
- decision_id
- Which decision to write on. Defaults to the decision the founder has open.
request_evidence—A checkable ask. Blocks commit until answered.
3 arguments
- statement*
- The exact thing to check, such as the completion rate for the last 20 signups.
- argument_id
- Id of the argument that hinges on this, when one does.
- decision_id
- Which decision to record it against. Defaults to the decision the founder has open.
flag_contradiction—Two things that cannot both be true.
4 arguments
- summary*
- One line naming the tension.
- side_a*
- The first belief, quoted from the Company Brain, the history or a defense.
- side_b*
- The second belief, quoted, that conflicts with the first.
- decision_id
- Which decision to flag it on. Defaults to the decision the founder has open.
add_risk—Severity and likelihood. Stays open until resolved.
6 arguments
- title*
- Short name for the risk.
- detail*
- What goes wrong, and how it would show up.
- severity
- How bad it would be, 1-5. Defaults to 3.
- likelihood
- How likely it is to happen. Defaults to medium.
- perspective
- Which seat is raising the risk.
- decision_id
- Which decision to add it to. Defaults to the decision the founder has open.
add_defense—The founder's pushback, on the record.
3 arguments
- text*
- What the founder is saying.
- argument_id
- Id of the argument they are answering. Omit when answering the round as a whole.
- decision_id
- Which decision to record it on. Defaults to the decision the founder has open.
Action
Seat the round, propose a commit, take the record with you.
stress_test_decision—Creates the floor, seats five dissenters, returns the verdict.
3 arguments
- question*
- The decision as a question, for example 'Should I spend the launch budget this month?'
- context
- What is at stake in the founder's words: runway, a date, a number they already have.
- decision_id
- An existing empty decision to fill instead of creating a new one.
create_prediction—One number, a unit, a deadline.
8 arguments
- statement*
- The prediction in plain words, e.g. '100 qualified users within 30 days'.
- metric*
- What is being counted, e.g. 'qualified signups'.
- expected_value*
- The number the founder expects.
- unit*
- e.g. 'users', 'days', 'GBP'.
- days
- Days until the deadline. Defaults to 30.
- confidence
- 0-100. The founder's confidence.
- domain
- Which calibration domain this belongs to.
- decision_id
- Which decision this belongs to. Defaults to the decision the founder has open.
commit_decision—Proposes a commit. Does not commit.
3 arguments
- option*
- The option id or its exact label, as returned by get_current_decision.
- rationale*
- Why this option, given where the debate landed.
- decision_id
- Which decision to stage. Defaults to the decision the founder has open.
confirm_commit—Founder confirmation. Human-in-the-loop.
3 arguments
- option
- The option id or exact label to commit to. Defaults to the staged proposal.
- rationale
- Why this option. Defaults to the rationale on the staged proposal.
- decision_id
- Which decision to commit. Defaults to the decision the founder has open.
share_decision—Public link. Optionally Slack or Notion.
4 arguments
- destination
- Where the record goes: a link only, a Slack message, or a Notion page. Defaults to link.
- channel
- Slack channel name or id, when destination is slack. Defaults to general.
- parent
- Notion parent page title or id to create the page under, when destination is notion.
- decision_id
- Which decision to publish. Defaults to the decision the founder has open.
Outcome
Record what happened and recalibrate the founder's profile.
evaluate_prediction—Score a number against what actually happened.
2 arguments
- prediction_id*
- The prediction id, as returned by get_founder_track_record.
- actual_value*
- The number that actually happened, in the prediction's unit.
record_outcome—What reality did. Recalibrates the profile.
4 arguments
- decision_id*
- The decision id, as returned by get_decision_history.
- result*
- How the decision turned out in reality.
- summary*
- What actually happened, in about two sentences.
- lesson*
- The transferable lesson: what would have to be true next time.
Browser notes
ChatGPT desktop: Sol or Terra, site tools on under Settings → Browser. This page never writes to document.modelContext. Native should read native. Chrome 149+ with chrome://flags/#enable-webmcp-testing is the other path.
The two boxes on the floor are HTML forms with toolname. The agent fills them. You press the button. No toolautosubmit.