# Rabbithole

> An infinite canvas for learning. Humans can use the hosted browser app or
> connect Rabbithole to an MCP-compatible AI agent.

Source: https://github.com/shlokkhemani/rabbithole
MCP path requires: Node >= 18 and a browser.

## Paths

- Human path: open `https://rabbithole.ing/`. Use an existing Claude or
  ChatGPT subscription (`npx @shlokkhemani/rabbithole bridge` exposes the local Claude
  Code / Codex CLIs and prints a pairing link), OpenRouter, or an
  OpenAI-compatible local endpoint such as Ollama. Keys stay in the browser
  except for requests to the provider origin the human configures. Holes
  persist in IndexedDB and can be exported/imported as `.rabbithole` files.
- Agent path: install the MCP server below. The agent does the answering and
  Rabbithole opens a local browser canvas.

## Setup

- Claude Code: `claude mcp add rabbithole -- npx -y github:shlokkhemani/rabbithole`
- Codex: `codex mcp add rabbithole -- npx -y github:shlokkhemani/rabbithole`
- Any other MCP client: add the same `npx -y github:shlokkhemani/rabbithole`
  command to its MCP server config.

## Links

- App: https://rabbithole.ing/
- About and demos: https://rabbithole.ing/about/
- MCP install: https://github.com/shlokkhemani/rabbithole#quick-start
- Run the browser app locally: https://github.com/shlokkhemani/rabbithole#run-the-browser-version-locally
- GitHub repo: https://github.com/shlokkhemani/rabbithole
