overleaf-resume
Overleaf Resume
Edita y compila tu(s) currículum(s) localmente en lugar de en el sitio web de Overleaf, con un servidor MCP que sincroniza los archivos fuente con Overleaf cuando sea necesario. Funciona con cualquier número de proyectos de Overleaf en paralelo: cada herramienta de sincronización toma un project_id explícito, por lo que nada está vinculado a un único proyecto "el".
Diseñado para cuentas gratuitas de Overleaf (sin acceso a Git/API). Si tu cuenta tiene integración con Git (plan de pago), simplemente haz git clone de tu proyecto — no necesitas esto.
Cómo funciona
Edición diaria: una vez que un proyecto se ha descargado (ver más abajo), edita su archivo
.texdirectamente enprojects/<name>/, y luego compila localmente con Tectonic — no se necesita ir y volver a Overleaf:
tools/tectonic.exe projects/<name>/<main file>.texEsto produce un PDF justo al lado. (tools/tectonic.exe es un binario independiente ya configurado en este repositorio — ignorado por git porque es un binario grande descargado, no código fuente).
Sincronización con Overleaf: dado que esta es una cuenta gratuita de Overleaf (sin acceso a Git/API), un servidor MCP (
overleaf_mcp/) controla una sesión real de Chromium con sesión iniciada mediante Playwright para descargar el código fuente de un proyecto y enviar las ediciones de vuelta a su editor en línea — las mismas acciones que harías manualmente en el navegador.
Related MCP server: LaTeX Resume MCP
Estructura del proyecto
Cada proyecto de Overleaf que descargues se coloca en su propia subcarpeta, de modo que varios currículums pueden coexistir sin colisiones:
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/ está en .gitignore — contiene el contenido real de tu currículum (descargado de Overleaf), por lo que permanece local y nunca se sube al repositorio.
Configuración inicial
Los pasos 1-2 ya están hechos en este repositorio (.venv/ tiene las dependencias instaladas y el navegador Chromium de Playwright descargado; tools/tectonic.exe está listo para usar). Se enumeran aquí por si necesitas repetirlos en otra máquina o después de una clonación limpia.
Crea un entorno virtual e instala las dependencias:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
playwright install chromiumObtén Tectonic:
winget/chocopueden requerir derechos de administrador que no siempre están disponibles. La opción fiable sin administrador es descargar el binario de Windows directamente y colocarlo entools/:
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 existsVerifica con tools/tectonic.exe --version.
Inicia sesión en Overleaf una vez para que el servidor MCP pueda reutilizar la sesión:
.venv/Scripts/python.exe scripts/overleaf_login.pySe abre una ventana del navegador con la página de inicio de sesión de Overleaf. Inicia sesión con correo electrónico + contraseña, no con "Iniciar sesión con Google" — Google bloquea su formulario de inicio de sesión dentro de cualquier navegador automatizado, por lo que las cuentas solo de Google necesitan una contraseña configurada en Overleaf primero (Configuración de la cuenta). La sesión se guarda en .auth/storage_state.json (ignorado por git — nunca lo subas ni lo compartas). Vuelve a ejecutar este script cada vez que overleaf_login_status indique que la sesión ha caducado.
El
.mcp.jsonde este repositorio registra el servidor con Claude Code automáticamente. Reinicia Claude Code (o ejecuta/mcp) para que detecte el servidoroverleaf-resume.Llama a
overleaf_list_projectspara ver todos tus proyectos de Overleaf y sus ids, luegooverleaf_pull(project_id)para el/los que quieras trabajar. Los archivos se colocan enprojects/<name>/.
Herramientas MCP
overleaf_login_status— comprueba si la sesión guardada sigue siendo válida.overleaf_list_projects— lista todos los proyectos de Overleaf (nombre + id).overleaf_pull(project_id, local_dir?)— descarga el código fuente de ese proyecto enprojects/<name>/(o enlocal_dirsi se indica), haciendo una copia de seguridad de cualquier archivo.tex/.cls/.sty/.bibexistente en.backups/primero.overleaf_push(project_id, file_path)— envía el contenido actual de un archivo local de vuelta al editor en línea de ese proyecto de Overleaf.file_pathes relativo a la raíz de este repositorio, por ejemploprojects/<tu-nombre-de-proyecto>/resume.tex.
project_id siempre es obligatorio — no hay un único proyecto predeterminado, por lo que esto funciona igual si tienes un currículum o varios. Usa overleaf_list_projects siempre que necesites buscar uno.
Solución de problemas de compilaciones locales
Overleaf compila con pdfLaTeX por defecto; Tectonic usa un motor basado en XeTeX. Dos problemas que esto sacó a la luz en las plantillas populares estilo "Jake's Resume", por si también te encuentras con ellos:
\pdfglyphtounicode/\input{glyphtounicode}/\pdfgentounicode=1son primitivas solo de pdfTeX. Protégelas para que ambos motores funcionen:
\usepackage{iftex}
\ifPDFTeX
\input{glyphtounicode}
\fi
...
\ifPDFTeX
\pdfgentounicode=1
\fiLos pares
\begin{itemize}...\end{itemize}deenumitem(a través de las macros\resumeSubHeadingListStart/Endde esta plantilla) deben mantenerse equilibrados incluso en secciones comentadas — un\end{itemize}suelto y sin emparejar que quede después de comentar un bloque produce un crípticoUndefined control sequenceen lo profundo de los internals deenumitem(\enit@enditemize). Esto no es una diferencia entre Tectonic y Overleaf — fallará también en el compilador propio de Overleaf si miras el contador de errores.
Advertencias
Esto automatiza la interfaz web real de Overleaf con tu propia sesión iniciada — no hay API pública para proyectos de plan gratuito. Puede romperse si Overleaf cambia su interfaz, y la sesión guardada caducará ocasionalmente (vuelve a ejecutar
scripts/overleaf_login.py).La primera compilación de
tectonicnecesita acceso a la red para descargar paquetes de LaTeX; las compilaciones posteriores se almacenan en caché y funcionan sin conexión..auth/storage_state.jsoncontiene cookies de sesión activas — mantenlo fuera del control de versiones.
This server cannot be installed
Maintenance
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
Edit your Overleaf LaTeX projects from Claude and ChatGPT; every change is a real Git commit.
Validate, build, and publish the resume you keep as YAML in your own GitHub repository.
Persistent AI LaTeX workspace: edit and compile multi-file projects, export publication-ready PDFs.
Overleaf alternative online LaTeX editor. AI agents edit, comment, and chat. Keep or revert edits.
Related MCP Servers
- AlicenseBqualityDmaintenanceAutomatically generates and updates CVs/resumes by aggregating data from git commits, Jira tickets, Credly certifications, and existing PDF resumes, with LaTeX formatting support.1413MIT
- AlicenseAqualityCmaintenanceEnables creating, editing, and compiling LaTeX resumes directly from Claude using built-in templates, with support for managing multiple resume files and automatic PDF generation.11MIT
- AlicenseAqualityCmaintenanceGenerates professional PDF resumes using LaTeX templates through natural language descriptions. Supports 9 professional templates, AI-powered resume tailoring, and organized folder management for job applications.423MIT
- AlicenseNot gradedqualityBmaintenanceConnects Claude/ChatGPT to Overleaf projects via the Git integration, enabling read, edit, write, and file management through natural language commands.2AGPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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