# Fable Mode

Enforces deliberation timers and structured proof receipts before letting AI agents edit code in your project.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 24
- Author: REX-codebase
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/REX-codebase/fable-mode
- Updated: 2026-09-18
- HTML: https://affpapa.org/en/nevibecode/mcp/fable-mode

## What it does

Agents tend to jump straight into editing files without thorough analysis. Fable Mode addresses this with mechanical write gates exposed via MCP tools. When a session starts, write access stays locked. An agent must declare an objective and spend a dedicated time budget on analysis. Calling `unlock_execution` early fails immediately until the internal timer and proof steps conclude.

The workflow follows four stages: deliberate under a countdown, record proof receipts with invariants, survive an adversarial red-team check across five vectors, and finally gain write rights. Running the server requires Python 3.10 or newer. The underlying `fable-engine` package has zero external runtime dependencies and stores session records on disk, configurable via `FABLE_DATA_DIR`.

Without valid proof and an expired timer, the engine strictly rejects write permissions. Teams can also enable an optional adjudicator that validates proof receipts through an external review request before code changes begin.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add fable-mode -- uvx fable-engine
```
uvx runs the command named after the package; if the README names another one, use uvx --from fable-engine <command>

### Codex

**Platform CLI**
```bash
codex mcp add fable-mode -- uvx fable-engine
```
uvx runs the command named after the package; if the README names another one, use uvx --from fable-engine <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "fable-mode": {
            "command": "uvx",
            "args": [
                "fable-engine"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from fable-engine <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "fable-mode": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "fable-engine"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from fable-engine <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add fable-mode uvx fable-engine
```
uvx runs the command named after the package; if the README names another one, use uvx --from fable-engine <command>

## When to use it
- Prevent premature file edits during task deliberation
- Store verifiable proof receipts and invariants prior to modifications
- Run automated five-vector adversarial checks against proposed logic
- Inspect deliberation timers and current gate state with `get_status`

## Example prompts
- Start a 3-minute Fable Mode session to refactor our parser without breaking existing behavior.
- Check session progress using `get_status` to see how much deliberation time remains.
- Record invariant proofs and trigger the red-team checks before requesting file access.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
