Skip to main content
Glama

overleaf-claude-mcp

Verbinde Claude mit deinem Overleaf-Konto. Claude kann deine Projekte auflisten, eines auswählen, das LaTeX und die Abbildungen lesen, Dateien bearbeiten, kompilieren und das PDF zurückholen.

Overleaf hat im kostenlosen Tarif keine öffentliche API: Die Git-Bridge und die Dropbox-Synchronisierung sind Premium-Funktionen. Dieser Server spricht daher dieselben internen HTTP- und Socket-Endpunkte, die auch die Overleaf-Web-App verwendet, authentifiziert mit einer Browser-Sitzung, die du einmalig erstellst. Jeder Endpunkt wurde aus Overleafs eigenem JavaScript-Bundle ausgelesen und anschließend gegen ein echtes Konto getestet. Siehe Verifizierte Endpunkte.


Tutorial

Was du brauchst

  • Node 20 oder neuer (node -v)

  • Chrome oder Edge installiert

  • Ein Overleaf-Konto, der kostenlose Tarif reicht

  • Claude Code (claude --version) oder Claude Desktop

Schritt 1: Setup ausführen

Führe in diesem Ordner unter Windows aus:

setup.cmd

Unter macOS oder Linux:

./setup.sh

Das Setup führt fünf Schritte aus und gibt jeden einzelnen aus:

  1. Installiert Abhängigkeiten

  2. Baut nach dist/

  3. Prüft, ob eine funktionierende Overleaf-Sitzung vorhanden ist. Wenn nicht, öffnet sich ein Browserfenster mit der Overleaf-Anmeldeseite

  4. Liest eines deiner echten Projekte zurück, um zu beweisen, dass die Verbindung funktioniert

  5. Bietet an, den Server bei Claude Code zu registrieren

Schritt 2: Anmelden, wenn sich der Browser öffnet

Das Browserfenster ist ein echtes Chrome. Melde dich so an, wie du es normalerweise tust, einschließlich 2FA. Nichts gibt dein Passwort für dich ein, und dein Passwort wird nie gelesen oder gespeichert.

Sobald du auf deiner Projektliste landest, schließt sich das Fenster von selbst und das Setup wird fortgesetzt. Deine Sitzungscookies werden unter ~/.overleaf-claude-mcp/session.json gespeichert.

Diese Datei entspricht vollem Zugriff auf dein Overleaf-Konto. Sie ist gitignored und wird mit 0600-Berechtigungen geschrieben. Teile sie nicht und committe sie nicht.

Schritt 3: Das Setup den Server registrieren lassen

Bei Schritt 5 erhältst du eine Eingabeaufforderung:

      Register this server with Claude Code now? [y/N]

Antworte mit y. Das führt aus:

claude mcp add overleaf -- node C:/CoolYEAH/overleaf-claude-mcp/dist/index.js

Wenn du es übersprungen hast oder einen anderen Client verwendest, registriere von Hand. Führe für Claude Code den obigen Befehl aus. Bearbeite für Claude Desktop %APPDATA%\Claude\claude_desktop_config.json unter Windows oder ~/Library/Application Support/Claude/claude_desktop_config.json unter macOS:

{
  "mcpServers": {
    "overleaf": {
      "command": "node",
      "args": ["C:/CoolYEAH/overleaf-claude-mcp/dist/index.js"]
    }
  }
}

Schritt 4: Claude neu starten

MCP-Server werden nur beim Start erkannt. Beende und öffne Claude Code oder Claude Desktop erneut.

Bestätige, dass es geladen wurde:

claude mcp list

Du solltest overleaf als verbunden aufgelistet sehen. In einer Claude-Code-Sitzung zeigt /mcp dasselbe.

Schritt 5: Verwenden

Frag einfach in normaler Sprache. Claude wählt die Werkzeuge selbst aus.

List my Overleaf projects
Select the Efficient Reasoning project
Read sections/methodology.tex
In sections/results.tex, change "Table 1" to "Table~\ref{tab:main}"
Compile it and tell me what the LaTeX errors are
Show me figures/fig1.png
Save the compiled PDF to C:/tmp/paper.pdf

Wähle ein Projekt einmal aus, und es bleibt gespeichert. Die Auswahl wird in ~/.overleaf-claude-mcp/state.json gespeichert und übersteht Neustarts, sodass jede spätere Anfrage für dieses Projekt gilt, bis du wechselst. Um in einer Anfrage ohne Wechsel an einem anderen Projekt zu arbeiten, nenne es: „lies main.tex aus meiner Abschlussarbeit“.


Related MCP server: claudeleaf

So löst du es aus

Es gibt keinen Slash-Befehl und nichts einzutippen. Claude liest die Werkzeugbeschreibungen und ruft sie auf, wenn deine Anfrage passt. Overleaf oder ein bereits ausgewähltes Projekt oder eine bereits ausgewählte Datei zu erwähnen, reicht aus.

Wenn Claude nicht zu den Werkzeugen greift, sind die üblichen Ursachen: Du hast nach der Registrierung nicht neu gestartet, oder es ist noch kein Projekt ausgewählt. Frage „Welches Overleaf-Projekt ist ausgewählt?“, um das zu prüfen.

Werkzeuge

Werkzeug

Zweck

overleaf_list_projects

Projekte auflisten, das ausgewählte markieren

overleaf_select_project

Aktives Projekt nach ID oder Name auswählen

overleaf_current_project

Anzeigen, welches Projekt ausgewählt ist

overleaf_list_files

Vollständiger Datei- und Ordnerbaum

overleaf_read_file

Eine LaTeX- oder andere Textdatei lesen

overleaf_read_image

Eine Abbildung inline anzeigen

overleaf_download_file

Beliebige Datei, einschließlich PDFs, lokal speichern

overleaf_grep

Regex-Suche über das gesamte Projekt

overleaf_write_file

Textdatei erstellen oder überschreiben

overleaf_edit_file

Exakte Zeichenfolgenersetzung in einer Datei

overleaf_upload_file

Lokale Datei wie eine Abbildung hochladen

overleaf_create_folder

Ordner und fehlende übergeordnete Ordner erstellen

overleaf_rename

Datei oder Ordner umbenennen

overleaf_move

Datei oder Ordner verschieben

overleaf_delete

Eintrag löschen, erfordert confirm: true

overleaf_compile

Serverseitige Kompilierung

overleaf_compile_log

Kompilieren und geparste LaTeX-Fehler zurückgeben

overleaf_download_pdf

Kompilieren und das PDF speichern

overleaf_word_count

Kompilierte Wortanzahl

overleaf_select_project akzeptiert eine Projekt-ID oder einen beliebigen Teil eines Projektnamens. Wenn der Name auf mehr als ein Projekt zutrifft, werden die Kandidaten aufgelistet, statt zu raten. overleaf_delete weigert sich auszuführen, es sei denn, confirm ist true, sodass Claude nicht versehentlich eine Datei löschen kann.


Fehlerbehebung

„Keine Overleaf-Sitzung unter ...“ — Du hast dich noch nicht angemeldet, oder die Sitzung ist abgelaufen. Führe npm run login oder erneut setup.cmd aus.

Claude sieht die Werkzeuge nicht — Du hast Claude nach der Registrierung nicht neu gestartet. Prüfe claude mcp list.

Ein Werkzeug schlägt plötzlich fehl — Overleaf hat möglicherweise einen Endpunkt geändert. Führe npm run recon aus, das jeden Endpunkt schreibgeschützt testet und dir genau sagt, welcher Aufruf fehlgeschlagen ist.

Prüfe dein Setup vom Terminal aus, ohne Claude:

npm run read -- "Efficient Reasoning"

Gibt den Dateibaum und alle Abschnittsüberschriften des passenden Projekts aus. Füge einen Pfad hinzu, um eine einzelne Datei auszugeben:

npm run read -- "Efficient Reasoning" sections/methodology.tex

Führe das Setup jederzeit erneut aus. Es verwendet eine funktionierende Sitzung erneut und verifiziert die Verbindung erneut, sodass es gleichzeitig als Gesundheitscheck dient.


So funktioniert es

Der Dateibaum stammt aus Overleafs Socket-Verbindung, da dies die einzige Quelle ist, die Entitäts-IDs enthält, und IDs sind das, was Schreibvorgänge benötigen. Der Handshake ist GET /socket.io/1/?projectId=<id>, was socket.io-0.9-Framing ist; der Server sendet dann joinProjectResponse mit dem gesamten Projekt einschließlich rootFolder, Dokument-IDs und Datei-Hashes. Der Baum wird für OVERLEAF_TREE_TTL_MS (Standard 15s) zwischengespeichert und nach jedem Schreibvorgang ungültig gemacht.

Textdateien werden pro Dokument gelesen, sodass ein Lesevorgang immer den aktuellen Zustand widerspiegelt. overleaf_grep liest stattdessen das Projektarchiv, sodass eine Suche über das gesamte Projekt eine Anfrage kostet statt eine pro Datei.

Schreibvorgänge laufen über den Upload-Endpunkt. Das Hochladen über einen vorhandenen Namen ist eine Aktualisierung an Ort und Stelle: Die Entitäts-ID bleibt erhalten, sodass der Overleaf-Verlauf und alle anderen im Dokument weiterhin funktionieren. Fehlende übergeordnete Ordner werden zuerst erstellt.

Verifizierte Endpunkte

Live gegen ein echtes Konto bestätigt, nicht angenommen:

Operation

Aufruf

Hinweise

Projektliste

GET /project

ol-prefetchedProjectsBlob-Meta-Tag

CSRF

GET /project

ol-csrfToken-Meta-Tag, erneut gesendet als x-csrf-token

Neues Projekt

POST /project/new

gibt project_id zurück

Dateibaum

GET /socket.io/1/?projectId= dann Websocket

joinProjectResponse

Nur Pfade

GET /project/:id/entities

günstig, keine IDs

Dokument lesen

GET /project/:id/doc/:docId/download

Klartext

Binärdatei lesen

GET /project/:id/blob/:hash

Hash stammt aus dem Baum

Archiv

GET /project/:id/download/zip

für grep verwendet

Erstellen oder Überschreiben

POST /project/:id/upload?folder_id=

multipart, Feld qqfile

Dokument oder Ordner erstellen

POST /project/:id/doc, POST /project/:id/folder

Body {name, parent_folder_id}

Umbenennen

POST /project/:id/:type/:entityId/rename

204

Verschieben

POST /project/:id/:type/:entityId/move

204, Body {folder_id}

Löschen

DELETE /project/:id/:type/:entityId

204

Kompilieren

POST /project/:id/compile

gibt outputFiles und clsiServerId zurück

Wortanzahl

GET /project/:id/wordcount

:type ist doc, file oder folder.

Skripte

Befehl

Funktion

setup.cmd / ./setup.sh

Vollständiges Setup von Grund auf

npm run setup

Dasselbe, vorausgesetzt Abhängigkeiten sind installiert

npm run login

Nur erneut authentifizieren

npm run read -- "<project>"

Projekt vom Terminal aus untersuchen

npm run recon

Schreibgeschützter Test jedes Endpunkts

npm run smoke

End-to-End-Schreibtest in einem Wegwerfprojekt

npm run build

Nach dist/ kompilieren

npm run smoke erstellt ein Projekt namens claude-mcp-smoketest und testet dann Schreiben, Überschreiben, Bild-Upload, Umbenennen, Verschieben, Löschen und Kompilieren. Es hinterlässt das Projekt in deinem Konto, damit du es untersuchen kannst. Entsorge es, wenn du fertig bist.

Konfiguration

Alles optional. Siehe .env.example.

Variable

Standard

OVERLEAF_BASE_URL

https://www.overleaf.com

OVERLEAF_HOME_DIR

~/.overleaf-claude-mcp

OVERLEAF_SESSION_FILE

$OVERLEAF_HOME_DIR/session.json

OVERLEAF_CACHE_DIR

$OVERLEAF_HOME_DIR/cache

OVERLEAF_TREE_TTL_MS

15000

OVERLEAF_SOCKET_TIMEOUT_MS

20000

OVERLEAF_LOGIN_TIMEOUT_MS

600000

Grenzen

Keines davon ist eine unterstützte API, und Overleaf kann sie jederzeit ändern. Verwende sie nur mit deinem eigenen Konto. Echtzeit-Zusammenarbeit ist nicht implementiert: Schreibvorgänge ersetzen ein ganzes Dokument, statt Operationen auf Zeichenebene zu senden. Vermeide es daher, in eine Datei zu schreiben, während jemand anderes darin tippt.

Install Server
F
license - not found
B
quality
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

View all related MCP servers

Related MCP Connectors

  • Edit your Overleaf LaTeX projects from Claude and ChatGPT; every change is a real Git commit.

  • Read, edit, publish, and preview your pepita websites from Claude.

  • Connect Claude to Fathom meeting recordings, transcripts, and summaries

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/MarvelCollin/overleaf-claude-mcp'

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