sync-hub

sync-hub

Centralizes verbatim local AI conversation history into a SQLite database and exposes it via an MCP server, enabling tools like Claude Code and Codex to retrieve exact context from other tools.

Category
Visit Server

README

sync-hub

Un petit démon local (macOS uniquement — launchd, ~/Library/...) qui centralise, verbatim, l'historique de tes conversations IA locales (Claude Code, Codex CLI, Claude Cowork, Antigravity, imports Claude.ai/ChatGPT) dans une base SQLite unique, et l'expose :

  • via un dashboard web (arbre de projets, recherche plein texte, vue chat, couverture de synchro, triage des sessions non rattachées) ;
  • via un serveur MCP que Claude Code, Codex et Antigravity peuvent interroger en direct pour récupérer le contexte exact d'un autre outil, sans jamais résumer ni reconstruire — toujours le texte original.

Rien n'est jamais deviné : une session dont le dossier de travail ne correspond à aucun projet connu part dans un bucket « Non affecté », visible et triable, plutôt que d'être rattachée par heuristique.

Pourquoi

Travailler avec plusieurs outils d'IA sur les mêmes projets fait perdre le contexte à chaque changement d'outil. sync-hub ne synchronise rien vers les outils (il ne touche jamais au stockage natif d'un autre outil) — il lit ce qui existe déjà localement et le rend interrogeable par n'importe quel outil connecté en MCP.

Installation

Prérequis : macOS, Node.js ≥ 20 (better-sqlite3 a un prebuild pour les versions récentes — pas besoin d'outils de compilation dans le cas courant).

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)

Le dashboard est servi sur http://127.0.0.1:4000 (local uniquement par défaut).

Pour désinstaller : ./scripts/uninstall_service.sh.

Variables d'environnement (toutes optionnelles)

Variable Défaut Usage
SYNC_HUB_PROJECTS_ROOT ~/Projets Racine scannée pour découvrir les projets
SYNC_HUB_DATA_DIR <repo>/data Emplacement de la base SQLite et des logs
SYNC_HUB_IMPORTS_DIR <repo>/imports Dossier des exports bulk (ChatGPT, Claude.ai)
PORT 4000 Port du dashboard/API
HOST 127.0.0.1 Interface d'écoute (reste local par défaut)

Connecter le serveur MCP

# 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"]

Outils exposés :

  • lecture verbatim : get_project_timeline, get_thread, search_transcripts
  • continuité entre fils : link_threads, unlink_thread, get_thread_link_updates (delta-only)
  • gestion de projets (mêmes actions que le dashboard) : list_projects, list_threads, rename_project, merge_projects, assign_thread_to_project, archive_thread, archive_project

Importer un export Claude.ai / ChatGPT

Dépose le(s) fichier(s) d'export dans imports/claude/ ou imports/chatgpt/, puis relance un scan (bouton « Rescanner » du dashboard, ou POST /api/sync/rescan).

Développement

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 — schéma SQLite + accès aux données.
  • src/core/registry.ts — résolution projet ↔ session (correspondance exacte uniquement, jamais de heuristique).
  • src/core/adapters/ — un adaptateur par source (Claude Code, Codex, Cowork, Antigravity, exports bulk).
  • src/core/watch.ts — watch temps réel des nouvelles sessions.
  • src/core/mcp-server.ts — serveur MCP.
  • src/server/ — API REST + WebSocket (Fastify).
  • src/client/ — dashboard (React + Vite + Tailwind).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured