Open Source Radar
shlokkhemani/

rabbithole

GitHubWebsite

Rabbithole provides an infinite canvas for learning with a browser-based web app and an MCP server for agents. It stores data locally in the browser and in the host machine, and supports OpenRouter/local models via MCP.

223stars
25forks
2issues
MITlicense
2026since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Reviewgenerated from repository data · Jul 18, 2026

What it is

An infinite canvas for learning. Open a document, select any text, ask a question — and the answer opens as a fully-rendered child document. The MCP server enables Claude Code, Codex, and any MCP client to provide answers; the server, storage, and canvas run on your machine, with data staying locally.

How it works

Two entry points exist: a web app (rabbithole.ing) and an MCP server. The web app runs locally in your browser with keys stored locally and supports OpenRouter or local models. The MCP server connects to agent clients and returns answers as child documents in the canvas. Documents, holes, and settings are persisted in the browser (IndexedDB) or the local filesystem when self-hosted. The system uses a loop: open_rabbithole → branch_request → answer_branch → branch_request → … → session_closed, with keep_listening handling long waits.

Key features include: streaming answers, rich Markdown, inline checks, lenses for quick prompts, canvas mode with infinite pan/zoom, and share/export options (including a portable .html snapshot and a .rabbithole backup).

Getting started

Quick start paths:

  • Web app: open rabbithole.ing and choose between OpenRouter or Local model endpoints. Keys stay in browser/local storage.
  • MCP setup: for Claude Code, Codex, or other MCP clients, use one of the configuration snippets to register the rabbithole tool. Examples:
claude mcp add rabbithole -- npx -y github:shlokkhemani/rabbithole
codex mcp add rabbithole -- npx -y github:shlokkhemani/rabbithole
All other MCP clients can use a JSON snippet:
{
  "mcpServers": {
    "rabbithole": {
      "command": "npx",
      "args": ["-y", "github:shlokkhemani/rabbithole"]
    }
  }
}

Then start a session and say: > open <document> in rabbithole

For local development, there are clone/install/run steps:

git clone https://github.com/shlokkhemani/rabbithole.git
cd rabbithole
npm install
npm run build
npx -y serve web/dist

Open http://localhost:3000.

Recent releases

  • latest release: none

Traction

  • stars: 223
  • forks: 25
  • open_issues: 2

Behind the repo

  • The repository hosts the MCP server in bin/mcp-server.js and a browser-hosted UI in src/web/ and dist/;
  • It provides tooling for building, production deployment, and development workflows as described in the Documentation sections.

Caveats

  • License: MIT
  • Created: 2026-07-06
  • Last push: 2026-07-12
  • Requires Node 18+ for local runs
  • Local storage and IndexedDB are used for persistence; exporting/importing is required to move between machines
SharePost on XLinkedIn
All trending reposRevenue-verified startups →