GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
MCP server that checkpoints Claude Code session context to survive crashes and token limits
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
CHECKPOINT_PROJECT_ROOT, CLAUDE_CODE_SESSION_IDYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"claude-checkpoint": {
"command": "npx",
"args": [
"-y",
"session-checkpoint-mcp"
],
"env": {
"CHECKPOINT_PROJECT_ROOT": "your-value",
"CLAUDE_CODE_SESSION_ID": "your-value"
}
}
}
}Run this in your terminal
claude mcp add claude-checkpoint --env CHECKPOINT_PROJECT_ROOT=your-value --env CLAUDE_CODE_SESSION_ID=your-value -- npx -y session-checkpoint-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"claude-checkpoint": {
"command": "npx",
"args": [
"-y",
"session-checkpoint-mcp"
],
"env": {
"CHECKPOINT_PROJECT_ROOT": "your-value",
"CLAUDE_CODE_SESSION_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"claude-checkpoint": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"session-checkpoint-mcp"
],
"env": {
"CHECKPOINT_PROJECT_ROOT": "your-value",
"CLAUDE_CODE_SESSION_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
CHECKPOINT_PROJECT_ROOT envCLAUDE_CODE_SESSION_ID envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account daniel-munoz, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.3) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Save your Claude Code session state locally, so a crash, `/clear`, or context limit doesn't make Claude rebuild context from scratch.
session-checkpoint-mcp is a local Model Context Protocol server with three tools:
save_session_checkpoint writes your session's working state to a small JSON file in the project.load_session_checkpoint turns that file back into a compact resume brief.list_session_checkpoints lists the checkpoints in the project, so you can pick which session to resume.Each Claude Code session gets its own checkpoint, so several sessions can share a directory without overwriting each other.
It runs entirely on your machine. Nothing is sent anywhere.
Fork of tenlean/claude-checkpoint-mcp by Tenzin. The repository keeps that original name. The server is published as session-checkpoint-mcp, and the Claude Code plugin is session-checkpoint.
A long Claude Code session builds up a lot of context:
Several things can wipe that out mid-task:
/clear to get a fresh window.The next session starts cold. To get back to where you were, Claude has to rebuild that context:
grep, git diff, ls, test runs, all just to rediscover state.Each of those turns resends the growing conversation as input, so the cost compounds.
`session-checkpoint-mcp` swaps that rebuild for one small, structured read:
| Without a checkpoint | With load_session_checkpoint | |
|---|---|---|
| Restoring the goal & constraints | You retype them, or Claude infers them | One section of the brief |
| Knowing what's done vs. pending | Re-derived from code and git | Task list with statuses |
| Knowing which files matter | Broad re-reading | Exact list of touched files, with notes |
| Knowing what changed since | Re-read everything to be safe | Only files whose content actually changed are flagged |
| Remembering failed attempts | Often repeated | Recorded under *Decisions & gotchas* |
The resume brief for a typical session is about 1.2 KB of markdown, a few hundred tokens. The example below is real output at that size.
The biggest saving comes from drift detection. At save time, the server records a content hash for every file with uncommitted changes. On load, it compares those hashes against the working tree and tells Claude exactly which files changed after the checkpoint. Everything else in the brief can be trusted as-is, so Claude re-reads only what it has to.
Session 1 Session 2 (after crash / /clear)
───────── ──────────────────────────────── Claude ──save_session_checkpoint──┐ ┌──load_session_checkpoint── Claude goal, tasks, summary, │ │ compact markdown brief next steps, decisions, ▼ │ + "changed since checkpoint" files, commands ┌─────────────────────┐ │ / │ server adds: │ .claude-checkpoint │◀── git: branch, HEAD, git branch/HEAD, │ .claude-checkpoint │ dirty files + hashes dirty files + hashes, │ .prev (backup) │ redacts secrets └─────────────────────┘
Claude Code passes each MCP server its session id (CLAUDE_CODE_SESSION_ID). The server uses it to give every session its own file, /.claude-checkpoints/ .json, so sessions that share a directory (/tmp, or wherever you run claude agents) never overwrite or merge into each other.
resumedFrom). The original is never modified. /.claude-checkpoint file, exactly as before. A .claude-checkpoint left by an earlier version shows up in the list as legacy.The session id an MCP server sees is the one it was started with:
| You… | The server sees | Result |
|---|---|---|
start a fresh claude (e.g. after a crash) | a new id | the list, so you pick what to resume |
run /clear | the same id as before the clear | the pre-clear checkpoint loads directly; later saves keep updating it |
run claude --resume | that id | that session's checkpoint loads directly |
run claude --continue, or --resume without an id | possibly a different id | the list |
Requirements: Node.js 20+ and git. Git is optional, but without it you lose drift detection.
git clone https://github.com/daniel-munoz/claude-checkpoint-mcp.git
cd claude-checkpoint-mcp npm install npm run build
The server entry point is now at dist/index.js.
From npm. The server is also published as session-checkpoint-mcp. In any of the configurations below, you can replace node /absolute/path/to/claude-checkpoint-mcp/dist/index.js with npx -y session-checkpoint-mcp:
claude mcp add --scope user checkpoint -- npx -y session-checkpoint-mcp
(The npm package claude-checkpoint-mcp is the upstream project's 0.1.0 release, not this fork.)
| Variable | Set by | Required | Default | What it does |
|---|---|---|---|---|
CHECKPOINT_PROJECT_ROOT | You (optional) | No | Unset: the client's root, then the server's working directory | Absolute path of the default project to checkpoint. Use it for clients with no current project, such as Claude Desktop. A projectRoot argument on a tool call takes precedence. |
CLAUDE_CODE_SESSION_ID | Claude Code, automatically | No | Unset: one shared .claude-checkpoint file | Picks this session's checkpoint file, .claude-checkpoints/ .json. You don't set it. See one checkpoint per session. |
As a plugin (easiest). This repo is also a Claude Code plugin marketplace. You don't need to clone or build anything:
claude plugin marketplace add daniel-munoz/claude-checkpoint-mcp
claude plugin install session-checkpoint@daniel-munoz
Restart Claude Code, then /mcp should show plugin:session-checkpoint:session-checkpoint as connected.
Upgrading from 0.2.x or earlier? The plugin was renamed from
claude-checkpoint-mcptosession-checkpointin 0.3.0, because Claude Code reserves theclaude-prefix for its own plugins. Uninstall the old plugin and install the new one:
`sh
claude plugin uninstall claude-checkpoint-mcp@daniel-munoz
claude plugin marketplace update daniel-munoz
claude plugin install session-checkpoint@daniel-munoz
`
The full tool names changed from
mcp__plugin_claude-checkpoint-mcp_claude-checkpoint__*tomcp__plugin_session-checkpoint_session-checkpoint__*. Update any permission allowlists insettings.json, hooks, or instructions that use the old names. Short names such assave_session_checkpointand your existing checkpoint files are unaffected.
Manual setup. If you cloned the repo, register the server once for your user account, so it's available in every project:
# Run from the claude-checkpoint-mcp directory
claude mcp add --scope user checkpoint -- node "$PWD/dist/index.js"
Use an absolute path. A user-scoped server is launched from whichever project you open Claude Code in. A relative path like
./dist/index.jswould resolve against *that* project, not this repo."$PWD/dist/index.js"expands to the absolute path when you run the command, which is what gets saved.
Check that it's registered:
claude mcp list
Inside a session, /mcp should show checkpoint as connected.
Project-scoped alternative. To share the server with a team through version control, add it to the project's .mcp.json:
{
"mcpServers": { "checkpoint": { "command": "node", "args": ["/absolute/path/to/claude-checkpoint-mcp/dist/index.js"] } } }
Either way, add the checkpoint files to the project's .gitignore, or to your global gitignore:
.claude-checkpoint*
claude_desktop_config.json)Open the config file:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Add the server under mcpServers, using the absolute path to your local build:
{
"mcpServers": { "checkpoint": { "command": "node", "args": ["/absolute/path/to/claude-checkpoint-mcp/dist/index.js"], "env": { "CHECKPOINT_PROJECT_ROOT": "/absolute/path/to/your/project" } } } }
Restart Claude Desktop after saving the file.
Claude Desktop has no notion of a "current project". Use
CHECKPOINT_PROJECT_ROOTto set the default project, or have Claude passprojectRooton each call (*"save a checkpoint for /home/me/code/my-app"*). See project root resolution.
Any MCP client that supports the stdio transport can run the server:
node /absolute/path/to/claude-checkpoint-mcp/dist/index.js
npx -y session
Only the beginning is shown; read the rest in the repo