claude-session-sync

claude-session-sync

Syncs Claude Code sessions between machines with end-to-end encryption using a recovery phrase.

Category
访问服务器

README

Claude Session Sync

Sync your Claude Code sessions between machines with end-to-end encryption.

An MCP server that encrypts and syncs your ~/.claude/ data (history, todos, plans, and full project conversation context) across machines using a simple 6-word recovery phrase.

Why?

If you use Claude Code on multiple machines, you've felt the pain: your conversation history, todos, plans, and project context are stuck on whichever machine you used last. Claude Session Sync fixes that.

Security Model

Your data never leaves your machine unencrypted:

  • 6-word BIP39 recovery phrase generates two separate keys
  • Auth key — sent to server for identity verification (never the phrase itself)
  • Encryption key — used locally for AES encryption, never transmitted
  • Server stores only encrypted blobs — even the server operator can't read your data
  • Gzip compression before encryption for efficient transfer

Quick Start

Install

npm install -g claude-session-sync

Add to Claude Code

claude mcp add claude-session-sync -- claude-session-sync

Or add manually to your MCP config:

{
  "mcpServers": {
    "claude-session-sync": {
      "command": "npx",
      "args": ["-y", "claude-session-sync"]
    }
  }
}

First Machine Setup

In Claude Code, say:

Set up session sync

Claude will run sync_setup which generates a 6-word recovery phrase:

+-------------------------------------------------------------+
|  RECOVERY PHRASE - SAVE THIS SECURELY!                      |
+-------------------------------------------------------------+
|                                                             |
|  apple banana cherry delta echo foxtrot                     |
|                                                             |
|  Write this down and store safely.                          |
|  You need this to sync on other machines.                   |
+-------------------------------------------------------------+

Then push your data:

Push my session data to sync

Second Machine Setup

Install the MCP server the same way, then in Claude Code:

Set up session sync with phrase "apple banana cherry delta echo foxtrot"

Then pull:

Pull my session from my other machine

Available Tools

Tool Description
sync_setup Initialize with a recovery phrase (new or existing)
sync_push Encrypt and upload session data
sync_pull Download and decrypt from another machine
sync_status Show sync status across all machines
sync_list_machines List registered machines
sync_list_projects List local projects with sizes

Syncing Project Context

By default, only history, todos, and plans are synced (lightweight). To include full project conversation context:

Push my session data including the StarWhisper and Lunoo projects

This syncs the complete conversation context for those projects, so you can continue exactly where you left off on another machine.

Self-Hosting the Backend

The sync backend runs on Cloudflare Workers with KV + R2 storage. To self-host:

cd backend
npm install
# Edit wrangler.toml with your KV namespace ID and R2 bucket
wrangler deploy

Then point the client to your instance:

Set up session sync with server url "https://your-worker.workers.dev"

Storage Tiers

Tier Storage Machines
Free 100 MB 10
Pro 5 GB 10

What Gets Synced

Data Priority Strategy
history.jsonl High Incremental (new entries only)
todos/ High Full sync per session
plans/ Medium Full sync
projects/*.jsonl Medium Per-project selective
settings.json Low Full sync

Never synced: .credentials.json, API keys, machine-specific data

How It Works

Machine A                    Server                    Machine B
---------                    ------                    ---------
~/.claude/ data
    |
    v
Compress (gzip)
    |
    v
Encrypt (NaCl secretbox)
    |
    v
Upload encrypted blob ------> R2 Storage
                                  |
                        Download encrypted blob <------+
                                  |
                                  v
                          Decrypt (NaCl secretbox)
                                  |
                                  v
                          Decompress (gzip)
                                  |
                                  v
                          Merge into ~/.claude/

Merge Strategies

When pulling, you can choose how conflicts are handled:

  • merge (default) — Combines data, remote wins on conflicts
  • overwrite — Replaces local with remote
  • ask — Reports conflicts without making changes

Requirements

  • Node.js 18+
  • Claude Code installed (~/.claude/ directory exists)

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选