Skip to main content
Glama
rohangawhade

overleaf-resume

by rohangawhade

Overleaf Resume

Bearbeiten und kompilieren Sie Ihre Lebensläufe lokal statt auf der Overleaf-Website, mit einem MCP-Server, der Quelldateien bei Bedarf mit Overleaf synchronisiert. Funktioniert mit beliebig vielen Overleaf-Projekten nebeneinander – jedes Synchronisierungstool nimmt eine explizite project_id, sodass nichts an ein einzelnes „das“ Projekt gebunden ist.

Entwickelt für Overleaf-Konten im kostenlosen Plan (kein Git-/API-Zugriff). Wenn Ihr Konto über Git-Integration verfügt (kostenpflichtiger Plan), klonen Sie Ihr Projekt einfach mit git clone – das brauchen Sie nicht.

So funktioniert’s

  • Tägliches Bearbeiten: Sobald ein Projekt gepullt wurde (siehe unten), bearbeiten Sie seine .tex-Datei direkt unter projects/<name>/ und kompilieren Sie dann lokal mit Tectonic – kein Overleaf-Roundtrip nötig:

tools/tectonic.exe projects/<name>/<main file>.tex

Das erzeugt eine PDF direkt daneben. (tools/tectonic.exe ist eine eigenständige Binärdatei, die bereits in diesem Repo eingerichtet ist – gitignored, da es sich um eine große heruntergeladene Binärdatei handelt, nicht um Quellcode.)

  • Synchronisieren mit Overleaf: Da dies ein Overleaf-Konto im kostenlosen Plan ist (kein Git-/API-Zugriff), steuert ein MCP-Server (overleaf_mcp/) eine echte, angemeldete Chromium-Sitzung mit Playwright, um den Quellcode eines Projekts herunterzuladen und Änderungen zurück in den Online-Editor zu pushen – dieselben Aktionen, die Sie manuell im Browser durchführen würden.

Related MCP server: LaTeX Resume MCP

Projektstruktur

Jedes Overleaf-Projekt, das Sie pullen, landet in einem eigenen Unterordner, sodass mehrere Lebensläufe ohne Kollisionen nebeneinander existieren können:

projects/
  <your-project-name>/
    resume.tex (or whatever the project's main file is named)
    ...other pulled files (.cls, .sty, images)
    .backups/            # timestamped backups made before each re-pull
  <another-project-name>/
    ...

projects/ ist gitignored – es enthält Ihren tatsächlichen Lebenslauf-Inhalt (von Overleaf gepullt), bleibt also lokal und wird nie committet.

Einmalige Einrichtung

Die Schritte 1–2 sind in diesem Repo bereits erledigt (.venv/ enthält die installierten Abhängigkeiten und den heruntergeladenen Chromium-Browser von Playwright; tools/tectonic.exe ist einsatzbereit). Sie sind hier aufgeführt, falls Sie sie auf einem anderen Rechner oder nach einem sauberen Checkout erneut durchführen müssen.

  1. Erstellen Sie eine virtuelle Umgebung und installieren Sie die Abhängigkeiten:

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
playwright install chromium
  1. Tectonic besorgen: winget/choco benötigen möglicherweise Administratorrechte, die nicht immer verfügbar sind. Die zuverlässige Option ohne Admin ist, die Windows-Binärdatei direkt herunterzuladen und in tools/ abzulegen:

gh release download tectonic@0.17.0 --repo tectonic-typesetting/tectonic \
  --pattern "tectonic-0.17.0-x86_64-pc-windows-msvc.zip" --dir tools
# then unzip it so tools/tectonic.exe exists

Überprüfen Sie mit tools/tectonic.exe --version.

  1. Melden Sie sich einmal bei Overleaf an, damit der MCP-Server die Sitzung wiederverwenden kann:

.venv/Scripts/python.exe scripts/overleaf_login.py

Ein Browserfenster öffnet sich zur Overleaf-Anmeldeseite. Melden Sie sich mit E-Mail + Passwort an, nicht mit „Mit Google anmelden“ – Google blockiert sein Anmeldeformular in jedem automatisierten Browser. Konten, die nur mit Google funktionieren, benötigen daher zuerst ein Passwort, das in Overleaf festgelegt wird (Kontoeinstellungen). Die Sitzung wird dann in .auth/storage_state.json gespeichert (gitignored – niemals committen oder teilen). Führen Sie dieses Skript erneut aus, wenn overleaf_login_status meldet, dass die Sitzung abgelaufen ist.

  1. Die .mcp.json dieses Repos registriert den Server automatisch bei Claude Code. Starten Sie Claude Code neu (oder führen Sie /mcp aus), damit er den overleaf-resume-Server erkennt.

  2. Rufen Sie overleaf_list_projects auf, um alle Ihre Overleaf-Projekte und deren IDs zu sehen, und dann overleaf_pull(project_id) für das/die Projekt(e), an dem/denen Sie arbeiten möchten. Die Dateien landen unter projects/<name>/.

MCP-Tools

  • overleaf_login_status – prüft, ob die gespeicherte Sitzung noch gültig ist.

  • overleaf_list_projects – listet jedes Overleaf-Projekt (Name + ID) auf.

  • overleaf_pull(project_id, local_dir?) – lädt den Quellcode dieses Projekts in projects/<name>/ herunter (oder in local_dir, falls angegeben), wobei vorhandene .tex/.cls/.sty/.bib-Dateien dort zuerst unter .backups/ gesichert werden.

  • overleaf_push(project_id, file_path) – pusht den aktuellen Inhalt einer lokalen Datei zurück in den Online-Editor dieses Overleaf-Projekts. file_path ist relativ zum Repo-Root, z. B. projects/<your-project-name>/resume.tex.

project_id ist immer erforderlich – es gibt kein einzelnes Standardprojekt, daher funktioniert dies gleich, ob Sie einen oder mehrere Lebensläufe haben. Verwenden Sie overleaf_list_projects, wenn Sie einen nachschlagen müssen.

Fehlerbehebung bei lokalen Kompilierungen

Overleaf kompiliert standardmäßig mit pdfLaTeX; Tectonic verwendet eine XeTeX-basierte Engine. Zwei Probleme, die dabei bei den beliebten Vorlagen im Stil von „Jake’s Resume“ auftraten, falls Sie auch darauf stoßen:

  • \pdfglyphtounicode / \input{glyphtounicode} / \pdfgentounicode=1 sind nur für pdfTeX verfügbare Primitive. Schützen Sie sie, damit beide Engines funktionieren:

\usepackage{iftex}
\ifPDFTeX
  \input{glyphtounicode}
\fi
...
\ifPDFTeX
  \pdfgentounicode=1
\fi
  • Die \begin{itemize}...\end{itemize}-Paare von enumitem (über die Makros \resumeSubHeadingListStart/End dieser Vorlage) müssen auch über auskommentierte Abschnitte hinweg ausbalanciert bleiben – ein versehentlich übrig gebliebenes, ungepaartes \end{itemize} nach dem Auskommentieren eines Blocks erzeugt einen kryptischen Undefined control sequence-Fehler tief in den enumitem-Interna (\enit@enditemize). Das ist kein Unterschied zwischen Tectonic und Overleaf – es wird auch mit Overleafs eigenem Compiler fehlschlagen, wenn man die Fehleranzahl betrachtet.

Einschränkungen

  • Dies automatisiert die tatsächliche Weboberfläche von Overleaf mit Ihrer eigenen angemeldeten Sitzung – es gibt keine öffentliche API für Projekte im kostenlosen Plan. Es kann brechen, wenn Overleaf seine Benutzeroberfläche ändert, und die gespeicherte Sitzung läuft gelegentlich ab (führen Sie scripts/overleaf_login.py erneut aus).

  • Die erste tectonic-Kompilierung benötigt Netzwerkzugriff, um LaTeX-Pakete abzurufen; spätere Kompilierungen sind zwischengespeichert und funktionieren offline.

  • .auth/storage_state.json enthält Live-Sitzungscookies – halten Sie es aus der Versionskontrolle heraus.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/rohangawhade/overleaf-resume'

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