Skip to main content
Glama

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

SYNC_HUB_PROJECTS_ROOT

~/Projets

Root scanned to discover projects

SYNC_HUB_DATA_DIR

<repo>/data

Location of the SQLite database and logs

SYNC_HUB_IMPORTS_DIR

<repo>/imports

Folder for bulk exports (ChatGPT, Claude.ai)

PORT

4000

Dashboard/API port

HOST

127.0.0.1

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_transcripts

  • continuity 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    # typecheck

Architecture

  • 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).

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that indexes Claude Code conversation history into SQLite, enabling full-text search across past sessions for context recovery and cross-agent observability.
    10
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Capture, index, and search your Claude Code conversation history. Provides an MCP server for Claude Code to query its own past conversations.
    1
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Collects 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.

View all related MCP servers

Related MCP Connectors

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

  • One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.

  • Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/robjo82/sync-hub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server