cursor-chats-bridge
cursor-chats-bridge
Eine schreibgeschützte Brücke, mit der Claude Code in Echtzeit und sitzungsübergreifend sehen kann, was Sie in Cursor tun.
Wenn Sie Claude Code und Cursor parallel verwenden – zum Beispiel: agentengesteuerte Bearbeitungen in Cursor während der Planung/Prüfung mit Claude –, bindet diese Skill die lokale Chat-Datenbank von Cursor als MCP-Server in Claude ein. Zudem protokolliert sie neue Nachrichten alle 5 Minuten, sodass Claude Fragen beantworten kann wie "Was hat Cursor heute Morgen gemacht?", selbst wenn Claude nicht lief.
Designbedingt schreibgeschützt. Ändert niemals die Daten von Cursor.
Was Sie erhalten
Nach der Installation erhält Claude Code sieben Tools (alle mit dem Präfix mcp__cursor-chats__):
Tool | Was es tut |
| Listet jeden Cursor-Arbeitsbereich auf, der in Ihrem Chat-Verlauf gefunden wurde, mit Hash-IDs und Pfaden. |
| Listet Cursor-Chats auf, optional gefiltert nach Arbeitsbereichs-ID, Pfad-Teilzeichenfolge oder automatisch über Claudes |
| Ruft die Nachrichten eines bestimmten Chats ab (über Composer-UUID). |
| Komfortfunktion: Ruft die Live-Nachrichten des aktuell geöffneten Cursor-Chats für einen Arbeitsbereich ab. |
| Teilzeichenfolgensuche in Chat-Namen, Untertiteln und Nachrichtentexten. |
| Liest das reine Anhangs-Journal neuer Nachrichten, die vom Hintergrund-Poller erfasst wurden. |
| Aggregierte Statistiken über ein Zeitfenster: Nachrichten nach Rolle, betroffene Konversationen, aktuelle Textausschnitte. |
Zusätzlich gibt es eine geplante Windows-Aufgabe ClaudeCursorChatPoller, die alle 5 Minuten läuft, neue Nachrichten im aktiven Chat jedes Arbeitsbereichs erkennt und sie an ein JSON-Lines-Journal unter ~/.claude/mcp/cursor-chats/journal.ndjson anhängt.
Related MCP server: cursor-history-mcp
Warum es existiert
Die Chat-Daten von Cursor liegen lokal in einem SQLite-KV-Speicher (%APPDATA%\Cursor\User\globalStorage\state.vscdb), jedoch mit zwei lästigen Einschränkungen:
Nur der aktuell geöffnete Chat pro Arbeitsbereich speichert seine Nachrichten lokal – ältere Chats werden in die Cloud von Cursor archiviert, wobei nur Metadaten zurückbleiben.
Es gibt keine öffentliche API.
Daher reicht eine Live-MCP-Abfrage allein nicht aus: Wenn Sie um 15:00 Uhr fragen "Was hat Cursor heute Morgen gemacht?", sind die relevanten Nachrichten möglicherweise bereits archiviert. Der Poller löst dies, indem er Nachrichten erfasst, sobald sie erscheinen, mit Arbeitsbereichs-Tagging, damit verschiedene Claude-Projekte sauber filtern können.
Architektur
┌──────────────────────────────────────────────────────────────────┐
│ Windows Task Scheduler >> pythonw poller.py >> /5 min, 24/7│
└──────────────────────────────────────────────────────────────────┘
│
▼ (read mode=ro,immutable=1)
┌──────────────────────────────────┐
│ Cursor SQLite globalStorage │ ← live, written by Cursor
│ state.vscdb / cursorDiskKV │
└──────────────────┬───────────────┘
│
▼ (append-only)
┌──────────────────────────────────┐
│ ~/.claude/mcp/cursor-chats/ │
│ ├─ active_snapshot.json │
│ ├─ journal.ndjson │
│ └─ poller.log (errors) │
└──────────────────┬───────────────┘
│
▼ (on-demand)
┌──────────────────────────────────┐
│ MCP server (server.py) │
│ exposes 7 tools │
└──────────────────┬───────────────┘
│
▼
Claude CodeFür tiefere Interna (SQLite-Schlüsselmuster, Arbeitsbereichsidentifikation, Grenzfälle), siehe references/architecture.md.
Anforderungen
Windows 10 / 11 (Linux/macOS noch nicht unterstützt – verwendet
schtasksund den Windows-Cursor-Pfad)Python 3.10+ mit verfügbarem
pythonw.exe(stiller Ausführer für die geplante Aufgabe)Claude Code CLI im
PATH(claude --versionsollte funktionieren)Cursor installiert und mindestens einmal geöffnet (die SQLite wird beim ersten Start erstellt)
Das Installationsprogramm prüft all dies und bricht bei fehlenden Komponenten mit umsetzbaren Fehlermeldungen ab.
Installation
Als Claude Code Skill (empfohlen)
Legen Sie den Ordner in Ihr Claude Code Skills-Verzeichnis:
~/.claude/skills/cursor-chats-bridge/Unter Windows:
C:\Users\<Sie>\.claude\skills\cursor-chats-bridge\.Starten Sie Claude Code neu (oder öffnen Sie einfach eine neue Sitzung).
Fragen Sie Claude etwas wie "install the cursor-chats bridge" oder "set up the Claude-Cursor connection" – die Skill-Beschreibung ist darauf abgestimmt, bei diesen Formulierungen auszulösen.
Claude liest
SKILL.md, führtscripts/install.ps1aus und meldet das Ergebnis.Starten Sie Claude Desktop neu (vollständiges Beenden über die Taskleiste), um den MCP-Server zu laden.
Manuelle Installation (kein Claude erforderlich)
Wenn Sie den agentischen Schritt lieber überspringen möchten:
powershell -ExecutionPolicy Bypass -File "C:\Users\<you>\.claude\skills\cursor-chats-bridge\scripts\install.ps1"Das Skript:
Überprüft Voraussetzungen (Python,
pythonw.exe,claudeCLI, Cursor SQLite-Pfad)Kopiert
server.pyundpoller.pynach~/.claude/mcp/cursor-chats/Installiert das Python-Paket
mcpvia pip, falls es fehltEntfernt jede vorherige
cursor-chatsMCP-Registrierung und fügt sie dann hinzu (Standard-Scope:local)Erstellt / aktualisiert die geplante Aufgabe
ClaudeCursorChatPoller(alle 5 Min., lautlos viapythonw.exe)Führt den Poller einmal aus, um den Snapshot/das Journal zu initialisieren
Ein erneutes Ausführen ist sicher: Jeder Schritt verwendet Force-Overwrite-Semantik. Zustandsdateien (active_snapshot.json, journal.ndjson) bleiben erhalten.
Installations-Flags
Flag | Effekt |
| Unterdrückt die Fortschrittsausgabe. |
| Überspringt das Erstellen der geplanten Aufgabe (einmalige Verwendung / Debugging). |
| MCP-Registrierungs-Scope. Standard |
Überprüfung
Nach der Installation + Claude-Neustart:
claude mcp list
schtasks /Query /TN ClaudeCursorChatPoller /FO LISTBeide sollten Einträge zeigen; die Zeile claude mcp list sollte ✓ Connected für cursor-chats melden.
In einer Claude-Sitzung können Sie dann fragen:
"List my Cursor workspaces." "What's the latest message from my Cursor agent?" "Summarize what I did with Cursor this morning."
Wie Claude es verwendet (typische Muster)
Das MCP pollt nicht von selbst – Claude ruft die Tools auf, wenn es sinnvoll ist. Der Hintergrund-Poller (separater Prozess) übernimmt die kontinuierliche Erfassung, sodass Journal-Abfragen beantworten können, "was passiert ist, während Sie nicht zugeschaut haben", ohne eine Live-Konversation offen halten zu müssen.
Beispiele:
Aufnahme – "continue what I was doing with Cursor" → Claude ruft
get_active_chatauf, um die Live-Konversation abzurufen, fasst sie zusammen und fragt, wo übernommen werden soll.Zusammenfassung – "recap of my Cursor activity since 9 AM" → Claude ruft
get_journal_summary(window_minutes=N)auf und führt Sie durch die Änderungen.Gegenprüfung – "is what Cursor is suggesting consistent with our plan?" → Claude liest die neuesten Cursor-Nachrichten, vergleicht sie mit seinem eigenen Kontext und markiert Diskrepanzen.
Suche – "where did I discuss the SQL backfill with Cursor?" → Claude ruft
search_chats("backfill")auf und geht dann mitget_chattiefer in einen Treffer.
Datenschutz & Sicherheit
Schreibschutz durch SQLite-Erzwingung (
mode=ro,immutable=1). Selbst ein fehlerhaftes Skript kann die Daten von Cursor nicht ändern.Alle Daten bleiben lokal. Das Journal und die Snapshots liegen unter
~/.claude/, geschützt durch Windows-ACLs auf Benutzerprofil-Ebene. Es wird nichts hochgeladen.Anmeldeinformationen-Hinweis. Ihre Cursor-Chats können eingefügte API-Schlüssel, Passwörter usw. enthalten. Das Journal speichert den Nachrichtentext wortwörtlich. Wenn das ein Problem darstellt, seien Sie wählerisch bei dem, was Sie in Cursor einfügen, oder filtern Sie das Journal nachträglich.
MCP-Scope. Standard
localbedeutet, dass die Brücke nur in dem Projekt aktiv ist, in dem Sie das Installationsprogramm ausgeführt haben. Verwenden Sie-Scope user, um es global zu machen.
Deinstallation
powershell -ExecutionPolicy Bypass -File "<skill-dir>\scripts\uninstall.ps1"Entfernt die geplante Aufgabe, hebt die Registrierung des MCP bei Claude auf und löscht standardmäßig ~/.claude/mcp/cursor-chats/. Übergeben Sie -KeepData, um active_snapshot.json und journal.ndjson zu behalten.
Grenzen & bekannte Probleme
Nur Windows. macOS/Linux-Varianten sind machbar (Cron statt
schtasks,~/Library/Application Support/Cursor/...Pfad unter macOS), aber noch nicht implementiert.Cursor-Schema-Abhängigkeit. Die Brücke liest undokumentierte Cursor-Interna. Wenn Cursor
cursorDiskKVumbenennt oder die Composer-JSON-Form zwischen Versionen ändert, benötigen die Skripte möglicherweise einen Ein-Zeilen-Patch. Prüfen Siepoller.log, wenn das Journal nicht mehr wächst.Nur aktiver Chat. Ältere / archivierte Chats liefern nur Metadaten. Live-Nachrichten existieren nur für den aktuell geöffneten Chat pro Arbeitsbereich.
Kein Backfill. Der Poller überspringt historische Nachrichten beim ersten Erscheinen eines Arbeitsbereichs (würde sonst das Journal fluten). Nur zukünftige Nachrichten werden erfasst.
Cursor muss geöffnet sein, damit neue Nachrichten in der SQLite landen. Wenn Cursor geschlossen ist, läuft der Poller zwar sauber weiter, schreibt aber keine neuen Einträge.
Projektlayout
cursor-chats-bridge/
├── SKILL.md # YAML frontmatter + Claude-facing instructions
├── README.md # this file
├── scripts/
│ ├── server.py # MCP server (Python, ~300 lines)
│ ├── poller.py # Background poller (Python, ~180 lines)
│ ├── install.ps1 # Idempotent installer
│ └── uninstall.ps1 # Clean removal
└── references/
└── architecture.md # Deep technical doc (SQLite layout, edge cases)Mitwirken
Pull Requests sind willkommen – besonders für:
macOS / Linux-Unterstützung (Cron + Library/Application Support-Pfade)
Schema-Resilienz: Hilfsprogramme, um Cursor-Versionsänderungen frühzeitig zu erkennen
Optionale Journal-Rotation / Komprimierung
Besseres Auslösen der Skill bei nicht-französischen Abfragen
Lizenz
MIT – tun Sie, was Sie wollen, keine Garantie. Siehe LICENSE.
Haftungsausschluss
Dies ist ein Drittanbieter-Tool, das nicht mit Anthropic oder Cursor verbunden ist. Es liest die lokalen Daten von Cursor auf inoffiziellem Weg und kann bei zukünftigen Cursor-Versionen kaputtgehen. Verwenden Sie es nach eigenem Ermessen, insbesondere auf Maschinen, auf denen Sie sensible Daten verarbeiten.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Python server implementing the Model Context Protocol that exposes tools for querying external APIs, compatible with Claude Desktop and ChatGPT Desktop.-
- AlicenseAqualityAmaintenanceMCP server for browsing, searching, exporting, and backing up your Cursor AI chat history directly into Claude via natural language.864 npm32MIT
- FlicenseNot gradedqualityCmaintenanceA secure, read-only MCP server that empowers Claude Desktop and AI agents to safely query and inspect local SQLite databases.-
- AlicenseNot gradedqualityBmaintenanceMCP server for unified full-text search across chat histories from Claude Code, Codex, Cursor CLI, and Antigravity CLI, using SQLite FTS5. Provides read-only tools to search sessions, list conversations, and retrieve session details.MIT