{
  "markdown": "# Irrational\n\n**A field guide to the mistakes your mind makes, and an open, adversarial behavioural-bias engine you can call from your own AI or any MCP agent.**\n\n<p align=\"center\">\n  <a href=\"https://irrational.pages.dev\"><img src=\"public/og.png\" alt=\"Irrational: a field guide to the mistakes your mind makes, and an engine that audits your decisions\" width=\"720\" /></a>\n</p>\n\n[![Live](https://img.shields.io/badge/live-irrational.pages.dev-5bbf7a?style=flat-square)](https://irrational.pages.dev)\n[![MCP Registry](https://img.shields.io/badge/MCP_Registry-io.github.urbanmorph%2Firrational-1a1a18?style=flat-square)](https://registry.modelcontextprotocol.io/v0/servers?search=irrational)\n[![CI](https://img.shields.io/github/actions/workflow/status/urbanmorph/irrational/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/urbanmorph/irrational/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-e2452c?style=flat-square)](LICENSE)\n[![PRs welcome](https://img.shields.io/badge/PRs-welcome-4aa6e0?style=flat-square)](CONTRIBUTING.md)\n\n→ **[irrational.pages.dev](https://irrational.pages.dev)** · [Field guide](https://irrational.pages.dev/biases) · [Connect via MCP](https://irrational.pages.dev/mcp) · [Sources](https://irrational.pages.dev/sources)\n\nIrrational **runs no AI model.** It provides the curated adversarial framework, a 22-bias catalogue, and a stateless scaffold, delivered as a public field guide and an open MCP tool, and the reasoning is done by whatever model you or your agent already have. **No API keys. No stored decisions. Nothing leaves you.**\n\nA frontier model already knows the biases, so the value isn't informational; it's behavioural. A plain LLM is trained to agree, while Irrational has a fixed adversarial contract (_assume you're biased, refuse to validate, argue the other side_) that an agent can invoke systematically, even on its own draft reasoning.\n\n## What an audit looks like\n\n> **You:** \"We should rewrite our 6-year-old backend from scratch this year, we've already spent two months on a POC that went well, and I'm confident we can finish in six.\"\n\n> **THE CALL**: Don't greenlight the big-bang rewrite. Carve off the worst module first, with a hard 3-month checkpoint. Confidence the 6-month plan succeeds: ~25%, mostly **sunk cost** + the **planning fallacy**.\n>\n> **THE AUDIT**: Those \"two months on a POC\" are gone either way, but they're doing most of the talking _(sunk cost)_. \"About six months\" is a best-case with no reference class; rewrites of mature systems routinely run 2–3× _(planning fallacy)_…\n\nVerdict-first, every bias tied to your own words, grounded in a cited catalogue. [See the full worked examples →](https://irrational.pages.dev/#engine)\n\n## Add it to your AI\n\nListed on the **[official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=irrational)** as `io.github.urbanmorph/irrational`. Connect any MCP client to the live endpoint, no install, no keys:\n\n```bash\n# Claude Code\nclaude mcp add --transport http irrational https://irrational.pages.dev/mcp/server\n```\n\n…or point any MCP client at `https://irrational.pages.dev/mcp/server`:\n\n```json\n{\n  \"mcpServers\": {\n    \"irrational\": {\n      \"type\": \"http\",\n      \"url\": \"https://irrational.pages.dev/mcp/server\"\n    }\n  }\n}\n```\n\nTools: `analyze_decision` (the adversarial audit) · `list_biases` · `get_bias`. Pass `language` for a reply in another language, or `structured: true` for parseable JSON.\n\n## What's inside\n\n- **Field guide**: 22 cognitive biases grouped by Buster Benson's four problems the brain solves, each with the question that breaks its spell and a **verified citation**.\n- **The engine**: an MCP server exposing `analyze_decision`, `list_biases`, `get_bias`. `analyze_decision` returns a verdict-first _directive_ your model executes. The discipline is ours; the reasoning is yours.\n- **The web forge**: type a decision; it assembles the adversarial prompt in your browser and hands off to _your_ AI. No model runs here.\n- **Pen-and-paper audit**: the whole method on one [printable page](https://irrational.pages.dev/checklist).\n\n## Stack\n\nAstro (pure static) · Cloudflare Pages · a hand-rolled, dependency-free JSON-RPC MCP endpoint as a [Pages Function](functions/mcp/server.ts). No runtime model, no database. Single source of truth: [`src/data/biases.ts`](src/data/biases.ts) feeds both the web and the MCP.\n\n## Develop\n\n```bash\nnpm install --ignore-scripts   # we don't use image optimization, so skip sharp's native build\nnpm run dev                    # http://localhost:4321\nnpm test                       # vitest, engine + catalogue (29 tests)\nnpm run build                  # static pages\n```\n\nThe MCP endpoint is a Cloudflare Pages Function, run it locally with `npx wrangler pages dev dist`.\n\n## Contributing\n\nTranslations, proposed biases, and worked examples are welcome, see [CONTRIBUTING.md](CONTRIBUTING.md). This project also publishes a public [PDGI scorecard](PDGI.md).\n\n## Licence\n\nCode is **[MIT](LICENSE)**. The bias-catalogue text (definitions, examples, and the curated prose in `src/data/`) is additionally available under **CC-BY-4.0**. Every claim is cited, see [/sources](https://irrational.pages.dev/sources).\n\nBuilt by [Urban Morph](https://urbanmorph.com).\n",
  "bytes": 5306,
  "sha": "1d9649613b4e04252a3743f8e473a213dafd75790aa9edaf7007bbd33f8359b3",
  "repo_slug": "urbanmorph/irrational",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_urbanmorph_irrational_4fc3a294/readme"
}