Skip to main content
Caveman ships local tools for recovery, memory, browser context, and large command output. They work without a Caveman account and run entirely on your machine.

MCP server

Register the recovery server with detected agents:
Run caveman tools mcp uninstall to remove registration. The direct server binary, caveman-mcp, communicates over standard input and output. It exposes five tool classes: MCP transport is local process I/O, and the host agent decides when tools can be called. Configure its tool permissions as narrowly as possible.

Installing via npx

For Claude Code, add the MCP server to your configuration:
The launcher downloads a matching binary on first run, verifies key-signed checksum manifest plus artifact SHA-256, and caches it under ~/.caveman/bin. No Go toolchain or global Caveman install is required. To use an existing reviewed binary instead:

Cavemem

Cavemem stores durable project facts in SQLite and retrieves them with local BM25 text ranking. Main operations:
Recall returns current facts by default and has a default inferred-token budget of 2,000. Superseded history remains available for inspection. Recalled compact records can include recovery references to exact stored source. Memory is local persistence, not model training. A remembered statement can be wrong or stale; source and supersession metadata help callers judge it. Build standalone binary:

Browser bridge

The browser bridge attaches to Chrome through Chrome DevTools Protocol. It captures an accessibility-tree representation, filters it by query, compresses it, and returns actionable element references.
Snapshots avoid screenshots when semantic structure is enough. Recovery keeps exact captured source available. Browser actions and JavaScript evaluation can change page or account state; host permission policy should distinguish read and write operations. Build bridge:
Run as MCP server:
Direct CLI helper:
Direct commands share one detached, isolated Chrome until close; first use creates profile and CCR directories. Actions report settled:false until another focused snapshot proves state. Navigation permits http(s), about:blank, and bounded data:text/html but rejects local files and privileged schemes.

Output shrinker

The output shrinker parses large command and tool results, keeps high-signal structure, and stores full source in CCR. It is useful for compiler logs, test output, diffs, search results, and terminal transcripts.
Structural shrink input is capped at 32 MiB. CLI command capture uses a separate bounded limit, 8 MiB by default. Oversized input is rejected or handled by caller policy; it is not silently treated as complete. Shrinker must preserve error class, exit status, relevant paths, and recovery handle. A short summary without those fields is not a safe replacement for debugging output.

Tool-catalog shrinker

caveman-shrink specializes in MCP and OpenAI-style tool catalogs. It keeps tool names, parameters, enums, required fields, defaults, constants, and $ref targets while removing annotations and shortening long descriptions. Description reduction remains lossy and can change tool selection.
Input cap is 32 MiB. Malformed or non-winning input passes through. Exact source must be committed to CCR before compact catalog and handle are emitted.

Local storage

Local proxy and tools commonly use these paths:
Project overlays use ./.caveman/config.json. Back up or delete these files only with awareness that recovery handles and learned observations may stop resolving, along with local memory.