sync-hub
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sync-hubShow me the last conversation from Codex about the database migration."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
sync-hub
A small local daemon (macOS only — launchd, ~/Library/...) that centralizes, verbatim, the history of your local AI conversations (Claude Code, Codex CLI, Claude Cowork, Antigravity, Claude.ai/ChatGPT imports) into a single SQLite database, and exposes it:
via a web dashboard (project tree, full-text search, chat view, sync coverage, triage of unattached sessions);
via an MCP server that Claude Code, Codex, and Antigravity can query live to retrieve the exact context of another tool, never summarizing or reconstructing — always the original text.
Nothing is ever guessed: a session whose working directory does not match any known project goes into an “Unassigned” bucket, visible and triageable, rather than being attached by heuristic.
Why
Working with several AI tools on the same projects makes you lose context every time you switch tools. sync-hub does not sync anything to the tools (it never touches another tool's native storage) — it reads what already exists locally and makes it queryable by any tool connected via MCP.
Related MCP server: flightlog
Installation
Prerequisites: macOS, Node.js ≥ 20 (better-sqlite3 has a prebuild for recent versions — no
compilation tools needed in the usual case).
git clone <url-de-ce-repo>
cd sync-hub
npm install
npm run build
./scripts/install_service.sh # installe un service launchd macOS (démarre à la connexion)The dashboard is served at http://127.0.0.1:4000 (local only by default).
To uninstall: ./scripts/uninstall_service.sh.
Environment variables (all optional)
Variable | Default | Usage |
|
| Root scanned to discover projects |
|
| Location of the SQLite database and logs |
|
| Folder for bulk exports (ChatGPT, Claude.ai) |
|
| Dashboard/API port |
|
| Listening interface (stays local by default) |
Connect the MCP server
# Claude Code
claude mcp add sync-hub -s user -- node <repo>/dist/server/mcp-entry.js
# Codex — dans ~/.codex/config.toml
[mcp_servers.sync-hub]
command = "node"
args = ["<repo>/dist/server/mcp-entry.js"]Exposed tools:
verbatim reading:
get_project_timeline,get_thread,search_transcriptscontinuity between threads:
link_threads,unlink_thread,get_thread_link_updates(delta-only)project management (same actions as the dashboard):
list_projects,list_threads,rename_project,merge_projects,assign_thread_to_project,archive_thread,archive_project
Import a Claude.ai / ChatGPT export
Place the export file(s) in imports/claude/ or imports/chatgpt/, then rerun a scan
(the dashboard's “Rescan” button, or POST /api/sync/rescan).
Development
npm run dev # client (Vite) + serveur (tsx watch) en parallèle
npm test # suite de tests (vitest)
npm run lint # typecheckArchitecture
src/core/db.ts— SQLite schema + data access.src/core/registry.ts— project ↔ session resolution (exact match only, never heuristic).src/core/adapters/— one adapter per source (Claude Code, Codex, Cowork, Antigravity, bulk exports).src/core/watch.ts— real-time watch for new sessions.src/core/mcp-server.ts— MCP server.src/server/— REST API + WebSocket (Fastify).src/client/— dashboard (React + Vite + Tailwind).
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory for AI agents — log and recall conversation context over MCP.
Cross-tool persistent memory and context for AI assistants over MCP.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA single MCP server that gives Claude, ChatGPT, Codex, and any MCP-compatible AI access to the same personal context via two tools: context_get and context_log.1MIT
- AlicenseAqualityCmaintenanceAn MCP server that indexes Claude Code conversation history into SQLite, enabling full-text search across past sessions for context recovery and cross-agent observability.103MIT
- AlicenseNot gradedqualityBmaintenanceCapture, index, and search your Claude Code conversation history. Provides an MCP server for Claude Code to query its own past conversations.6 npm1MIT
- FlicenseNot gradedqualityCmaintenanceCollects session JSONL from Codex and Claude Code into local SQLite memory, exposed through MCP with tools for memory context, search, get, put, forget, sleep, and status.-