Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
Session checkpoint & recovery for Claude Code: resume, search, tag, and export recorded sessions.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
CLAUDE_REPLAY_DB必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"claude-replay": {
"command": "uvx",
"args": [
"claude-replay",
"mcp"
],
"env": {
"CLAUDE_REPLAY_DB": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add claude-replay --env CLAUDE_REPLAY_DB=your-value -- uvx claude-replay mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"claude-replay": {
"command": "uvx",
"args": [
"claude-replay",
"mcp"
],
"env": {
"CLAUDE_REPLAY_DB": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"claude-replay": {
"type": "stdio",
"command": "uvx",
"args": [
"claude-replay",
"mcp"
],
"env": {
"CLAUDE_REPLAY_DB": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
CLAUDE_REPLAY_DB envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント constripacity で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.4.3)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The observability layer for Claude Code sessions — search, analytics, and visualization across every project.
Claude Code's --resume/--continue and /rewind recover *the session you're in*. Claude Replay does the part they don't: it hooks passively into every session, records what happened to a local SQLite store, and makes every past session — across every project — searchable, comparable, measurable, and exportable. Full-text search, per-session insight metrics, death-cause classification (*why* a session ended), session diffing, a web dashboard, and a terminal UI — none of which Claude Code has natively.
Claude Code session
| hooks (PreToolUse · PostToolUse · Stop) | v ~/.claude-replay/sessions.db ← events + checkpoints | +----+--------------------+ | | | MCP tools Dashboard TUI (resume) :8766 (browse)
Passive hooks write. MCP tools, the web dashboard, and the terminal UI read. Nothing leaves your machine.
Claude Replay is additive — it layers on top of the built-ins, it doesn't replace them.
| You want to… | Use |
|---|---|
| Resume / continue the current session | Native claude --continue, --resume |
| Undo file + conversation changes in a session | Native /rewind |
| Search every past session by content, tool, or outcome | Replay search |
| See *why* a session ended + per-session metrics | Replay status / replay_insights |
| Compare two runs side by side | Replay diff |
| Visualize a session timeline / browse all projects | Replay dashboard + TUI |
| Export a session as HTML / JSON / Markdown | Replay export --format |
Think of native resume/rewind as *recovery*, and Replay as *observability* over your whole history.
Passive hooks write to SQLite. MCP tools read from SQLite. Dashboard + TUI visualize SQLite. That's the whole system.
| Layer | File | Role |
|---|---|---|
| Store | claude_replay/store.py | All DB access — sessions, events, checkpoints |
| Hooks | claude_replay/hooks.py | Record tool calls + auto-checkpoint, dispatched by claude-replay hook |
| Recovery | claude_replay/resume.py | Generate a resume brief from a session |
| Export | claude_replay/export.py | Render a session as a self-contained HTML trace |
| Server | claude_replay/server.py | Starlette app — MCP SSE + JSON API + static dashboard |
| TUI | claude_replay/tui.py + tui_client.py | Textual session browser over the JSON API |
| CLI | claude_replay/cli.py | Every subcommand |
Port 8766 deliberately one above Claude Bridge's 8765, so the two siblings can run side by side without colliding.
pip install claude-replay
Or from a clone if you'd like to hack on it:
git clone https://github.com/constripacity/Claude-Replay.git
cd Claude-Replay pip install -e .[dev] # editable install with test/lint deps pip install -e .[tui] # add the terminal UI deps (textual, httpx)
If
pip install -efails on your environment (a known hatchling editable-install quirk on some setups), install the deps directly instead:
pip install mcp starlette uvicorn anyio textual httpx.
This wires Replay into Claude Code by merging three hooks into ~/.claude/settings.json. It's idempotent and leaves any other tools' hooks untouched.
claude-replay install
✓ Installed Claude Replay hooks into ~/.claude/settings.json
PreToolUse → claude-replay hook pre-tool PostToolUse → claude-replay hook post-tool Stop → claude-replay hook stop
From now on, every Claude Code session is recorded automatically. Remove the hooks any time with claude-replay uninstall (it removes only Replay's hooks).
Confirm it's actually wired up — the one check that matters:
claude-replay doctor
Claude Replay — doctor
✓ Hooks installed: PreToolUse / PostToolUse / Stop are in settings.json ✓ Hook command on PATH: claude-replay → …/claude-replay ✓ Database: ~/.claude-replay/sessions.db ✓ Sessions recorded: 3 sessions; most recent 5m ago
All good — Replay is installed and recording. ✓
If doctor warns that claude-replay isn't on PATH, the hooks can't run and nothing is recorded — put your install directory on PATH and re-run it.
claude-replay serve # defaults: 127.0.0.1:8766
claude-replay serve --port 9000 # custom port claude-replay serve --host 0.0.0.0 # bind all interfaces
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Claude Replay — Session checkpoint & recovery server Version: 0.4.1 DB: ~/.claude-replay/sessions.db http://localhost:8766/ ← Dashboard http://localhost:8766/sse ← MCP config http://localhost:8766/api/state ← JSON state http://localhost:8766/status ← Health check ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
So a running Claude Code session can call replay_resume, replay_checkpoint, etc. directly. Two ways:
SSE (alongside the dashboard — needs claude-replay serve running):
claude mcp add --transport sse -s user claude-replay http://localhost:8766/sse
stdio (no server process — the client launches Replay on demand):
claude mcp add -s user claude-replay -- claude-replay mcp
Verify with claude mcp list claude-replay should show ✓ Connected. Inside an already-running session, type /mcp to re-handshake.
# What's the state of the last session?
claude-replay status
claude-replay resume claude-replay resume
claude-replay tui # needs claude-replay serve running
claude-replay export # → ~/.claude-replay/exports/ .html
Paste the resume output into a fresh Claude Code session and it picks up where the dead one left off objective, what was done, what's next, and which files were touched.
Every connected Claude Code session gets these ten tools:
| Tool | Description |
|---|---|
replay_status | Current session summary objective, status, how it ended, event/checkpoint counts, last activity |
replay_checkpoint | Force a checkpoint of the current session now, with an optional note |
replay_resume | Generate a structured resume brief for a session (default: most recent) |
replay_sessions | List recent sessions with status, model, duration, checkpoint count |
replay_insights | Per-session metrics: how it ended, duration, tool calls, error rate, files touched, top tools |
replay_stats | Cross-session analytics: tool calls, error rate, why sessions end, tool mix, per-project rollups |
replay_search | Full-text search across sessions with filters (tool, cause, date, project), ranked by match count |
replay_diff | Compare two sessions: metric deltas + which files each touched |
replay_tag | Name a session and add/remove tags for later retrieval |
replay_export | Render a session as a self-contained trace (html / json / md) and return the path |
| Command | What it does | ||
|---|---|---|---|
claude-replay install | Merge Replay's hooks into ~/.claude/settings.json (idempotent) | ||
claude-replay uninstall | Remove only Replay's hooks | ||
claude-replay status | Current/last session at a glance, with insight metrics | ||
claude-replay sessions [--limit N] | List recent sessions (with names + tags) | ||
claude-replay search [--tool T] [--cause C] [--since 7d] [--project P] | Full-text search with filters (omit query to browse by filter) | ||
claude-replay diff | Compare two sessions side by side | ||
claude-replay resume [session_id] | Print a resume brief (default: most recent) | ||
| `claude-replay export [session_id] [--output DIR] [--format html\ | json\ | md]` | Render a trace |
claude-replay tag [session_id] [--name N] [--add a,b] [--remove c] [--clear] | Name or tag a session | ||
claude-replay prune [--older-than 30d] [--yes] | Delete sessions with no recent activity (destructive) | ||
claude-replay serve [--host H] [--port P] | Start the MCP + dashboard server (port 8766) | ||
claude-replay mcp | Serve the MCP tools over stdio (for uvx claude-replay mcp / MCP clients) | ||
claude-replay tui [--url URL] | Launch the terminal session browser | ||
claude-replay reset [--yes] | Delete all recorded sessions (destructive) | ||
claude-replay hook | Internal — invoked by Claude Code's hooks |
Web dashboard (claude-replay serve, then open http://localhost:8766/) a vanilla-JS view that polls every 2 s: session list (with how-it-ended badge + tags), a live search box, per-session timeline, and one-click "Copy Resume Brief" / "Export HTML". No CDN, no build step.
Terminal UI (claude-replay tui) a Textual browser in the same dark theme. A session sidebar, a live event feed, and a detail inspector showing how the session ended, its tags, the latest checkpoint, and files touched. Keys:
↑↓ navigate Tab switch panel Space pause
r resume (copies the brief to your clipboard) e export HTML trace ? help q quit
The TUI talks to the server over HTTP start claude-replay serve first (defaults to http://127.0.0.1:8766; point elsewhere with --url).
| Env var | Default | Purpose |
|---|---|---|
CLAUDE_REPLAY_DB | ~/.claude-replay/sessions.db | SQLite store location |
CLAUDE_SESSION_ID / CLAUDE_CODE_SESSION_ID | — | Session identity (Claude Code sets this in the hook payload); falls back to these env vars, then to a hash of the project dir |
CLAUDE_REPLAY_CORS_ORIGIN | localhost only | Comma-separated extra CORS origins for the server |
CLAUDE_REPLAY_NO_DASHBOARD | — | Set to disable the static dashboard mount (MCP/JSON only) |
The hook path is offline-first by design: it makes no network calls and completes in well under 50 ms just the one SQLite write. Large tool payloads are truncated at 8 KB per event so the DB stays lean.
pip install -e .[dev] # or install deps directly (see install note)
python -m pytest # full suite ruff check .
Tests use an isolated tmp_path SQLite database (the fresh_db fixture) — they never touch your real ~/.claude-replay/sessions.db. See CONTRIBUTING.md for the scope and the coding rules.
MIT see LICENSE.
Sibling to Claude Bridge. Built under the Constripacity banner.