"The purpose of an argument is not to establish the truth of a conclusion, but to justify the right to hold it."
— Stephen Toulmin, The Uses of Argument (1958)

A Logic Harness for Arguments.

Bad logic crashes. Good logic flows.

GET STARTED SEE IT IN ACTION

Why Toulmini?

Holiday dinner getting heated?

Uncle says something that doesn't quite add up. Instead of arguing, try:

"I wonder what my Logic Harness would say about that."

Toulmini turns debates into structured inquiry. Instead of getting defensive, invite others on the journey of figuring out what actually makes logical sense—together.

Family Gatherings

When loved ones hold views that seem illogical, explore why instead of fighting.

Philosophy

"Would immortality be a curse?" "Is free will an illusion?" Force rigor on the big questions.

Contested Claims

Any argument, any topic—put it through the logical wringer.

Self-Reflection

Test your own beliefs before defending them. You might be surprised.

The Model.

Six interconnected components. One final verdict.

DATA

Raw facts & evidence.

CLAIM

The assertion.

WARRANT

The logical bridge.

BACKING

Authority support.

REBUTTAL

The attack vector.

QUALIFIER

Degree of certainty.

See It In Action.

"Would immortality be a curse?"

PHASE 1

Data & Claim

DATA: Terror Management Theory shows meaning derives from mortality awareness. Hedonic treadmill research. Literary analysis of immortal beings.

CLAIM: "Immortality constitutes a psychological curse because it eliminates the temporal scarcity that gives human life meaning."

PHASE 2

Warrant & Backing

WARRANT: If well-being depends on mortality awareness, removing mortality eliminates flourishing.

BACKING: Heidegger, Becker, empirical TMT research.

Strength: STRONG
PHASE 3

Stress Test

REBUTTAL: Category error—mortal psychology cannot predict immortal psychology. Meaning can arise from sources unrelated to death (flow states, creativity, relationships).

QUALIFIER: "Possibly" — 45% confidence

Rebuttal Strength: STRONG
PHASE 4

Final Verdict

REMANDED

The argument chain presents a coherent case. However, strong rebuttals expose a fundamental limitation: all evidence derives from mortal psychology extrapolated to an unprecedented condition.

"Insufficient empirical grounding to render definitive judgment."

THE PHILOSOPHY

Stephen Toulmin.

"Logic is concerned with the soundness of the claims we make—with the solidity of the grounds we produce to support them."

In 1958, British philosopher Stephen Toulmin published The Uses of Argument, challenging the absolutism of formal logic. He proposed a practical model for analyzing everyday arguments, focusing on justification rather than inference.

Toulmini implements this model as a computational harness, forcing Large Language Models to move beyond probabilistic token generation and into structured, defensible reasoning.

Stephen Toulmin Stephen Toulmin (1922–2009)

Four Phases.

01

initiate_toulmin_sequence

Extract DATA. Construct CLAIM. No hedging allowed.

→ data + claim JSON
02

inject_logic_bridge

Build WARRANT and BACKING. Weak logic triggers the circuit breaker.

→ warrant + backing JSON
03

stress_test_argument

Adversarial REBUTTAL. Find the black swans.

→ rebuttal + qualifier JSON
04

render_verdict

Final Judgment. Sustained, Overruled, or Remanded.

→ verdict JSON

Up and Running.

Two commands. That's it.

1. Install

pip install toulmini

2. Add to Claude Code

claude mcp add toulmini --scope user -- python -m toulmini.server

Or configure manually:

Claude Desktop

Add to your config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "toulmini": {
      "command": "python",
      "args": ["-m", "toulmini.server"]
    }
  }
}

Then restart Claude Desktop.

Cursor

Settings → Features → MCP Servers

{
  "toulmini": {
    "command": "python",
    "args": ["-m", "toulmini.server"]
  }
}
Windsurf

Settings → MCP Configuration

{
  "mcpServers": {
    "toulmini": {
      "command": "python",
      "args": ["-m", "toulmini.server"]
    }
  }
}

3. Test it

Ask your AI: "Use initiate_toulmin_sequence to analyze: Would immortality be a curse?"