overleaf-claude-mcp
overleaf-claude-mcp
Conecta Claude con tu cuenta de Overleaf. Claude puede listar tus proyectos, elegir uno, leer el LaTeX y las figuras, editar archivos, compilar y traer el PDF de vuelta.
Overleaf no tiene API pública en el plan gratuito: el puente Git y la sincronización con Dropbox son funciones Premium. Así que este servidor habla los mismos endpoints HTTP y de socket internos que usa la aplicación web de Overleaf, autenticado con una sesión de navegador que creas una sola vez. Cada endpoint se extrajo del propio bundle de JavaScript de Overleaf y luego se probó contra una cuenta real. Consulta Endpoints verificados.
Tutorial
Lo que necesitas
Node 20 o más reciente (
node -v)Chrome o Edge instalado
Una cuenta de Overleaf, el plan gratuito es suficiente
Claude Code (
claude --version) o Claude Desktop
Paso 1: Ejecuta la configuración
Desde esta carpeta, en Windows:
setup.cmdEn macOS o Linux:
./setup.shLa configuración ejecuta cinco pasos e imprime cada uno:
Instala las dependencias
Compila a
dist/Comprueba si hay una sesión de Overleaf activa. Si no la hay, se abre una ventana del navegador en la página de inicio de sesión de Overleaf
Lee uno de tus proyectos reales para demostrar que la conexión funciona
Ofrece registrar el servidor con Claude Code
Paso 2: Inicia sesión cuando se abra el navegador
La ventana del navegador es un Chrome real. Inicia sesión como lo harías normalmente, incluida la verificación en dos pasos. Nada escribe tu contraseña por ti y tu contraseña nunca se lee ni se almacena.
Una vez que llegues a tu lista de proyectos, la ventana se cierra sola y la configuración continúa. Las cookies de tu sesión se guardan en ~/.overleaf-claude-mcp/session.json.
Ese archivo equivale a acceso total a tu cuenta de Overleaf. Está en gitignore y se escribe con permisos 0600 en macOS y Linux. En Windows esos bits de permiso se ignoran, así que el archivo es tan privado como tu carpeta de perfil de usuario. No lo compartas y no lo subas al repositorio.
Paso 3: Deja que la configuración registre el servidor
En el paso 5 verás un aviso:
Register this server with Claude Code now? [y/N]Responde y. Eso ejecuta:
claude mcp add overleaf -- node C:/CoolYEAH/overleaf-claude-mcp/dist/index.jsSi lo omitiste, o usas un cliente diferente, regístralo manualmente. Para Claude Code, ejecuta el comando anterior. Para Claude Desktop, edita %APPDATA%\Claude\claude_desktop_config.json en Windows o ~/Library/Application Support/Claude/claude_desktop_config.json en macOS:
{
"mcpServers": {
"overleaf": {
"command": "node",
"args": ["C:/CoolYEAH/overleaf-claude-mcp/dist/index.js"]
}
}
}Paso 4: Reinicia Claude
Los servidores MCP solo se cargan al iniciar. Cierra y vuelve a abrir Claude Code o Claude Desktop.
Confirma que se cargó:
claude mcp listDeberías ver overleaf listado como conectado. Dentro de una sesión de Claude Code, /mcp muestra lo mismo.
Paso 5: Úsalo
Solo pregunta en lenguaje natural. Claude elige las herramientas por sí mismo.
List my Overleaf projectsSelect the Efficient Reasoning projectRead sections/methodology.texIn sections/results.tex, change "Table 1" to "Table~\ref{tab:main}"Compile it and tell me what the LaTeX errors areShow me figures/fig1.pngSave the compiled PDF to C:/tmp/paper.pdfElige un proyecto una vez y se mantiene. La selección se guarda en ~/.overleaf-claude-mcp/state.json y sobrevive a los reinicios, así que cada solicitud posterior se aplica a ese proyecto hasta que cambies. Para trabajar en un proyecto diferente en una sola solicitud sin cambiar, nómbralo: "lee main.tex de mi proyecto de tesis".
Related MCP server: claudeleaf
Cómo activarlo
No hay comando de barra ni nada que escribir. Claude lee las descripciones de las herramientas y las llama cuando tu solicitud coincide. Mencionar Overleaf, o un proyecto o archivo que ya hayas seleccionado, es suficiente.
Si Claude no usa las herramientas, las causas habituales son: no reiniciaste después de registrar, o aún no hay ningún proyecto seleccionado. Pregunta "¿qué proyecto de Overleaf está seleccionado?" para comprobarlo.
Herramientas
Herramienta | Propósito |
| Lista los proyectos, marcando el seleccionado |
| Elige el proyecto activo por id o nombre |
| Muestra qué proyecto está seleccionado |
| Árbol completo de archivos y carpetas |
| Lee un archivo de texto, con paginación |
| Muestra una figura en línea |
| Guarda cualquier archivo, incluidos PDF, localmente |
| Búsqueda con expresiones regulares en todo el proyecto |
| Crea o sobrescribe un archivo de texto |
| Reemplazo exacto de cadenas dentro de un archivo |
| Sube un archivo local, como una figura |
| Crea una carpeta y cualquier carpeta padre que falte |
| Renombra un archivo o carpeta |
| Mueve un archivo o carpeta |
| Elimina una entrada, requiere |
| Compilación en el servidor |
| Compila y devuelve los errores de LaTeX analizados |
| Compila y guarda el PDF |
| Recuento de palabras del documento compilado |
overleaf_select_project acepta un id de proyecto o cualquier parte de un nombre de proyecto. Si el nombre coincide con más de un proyecto, lista los candidatos en lugar de adivinar. overleaf_delete se niega a ejecutarse a menos que confirm sea true, así que Claude no puede eliminar un archivo por accidente.
Solución de problemas
"No Overleaf session at ..." — aún no has iniciado sesión, o la sesión caducó. Ejecuta npm run login, o setup.cmd de nuevo.
Claude no ve las herramientas — no reiniciaste Claude después de registrar. Comprueba claude mcp list.
Una herramienta falla de repente — Overleaf puede haber cambiado un endpoint. Ejecuta npm run recon, que sondea cada endpoint en modo solo lectura y te dice exactamente qué llamada falló.
Comprueba tu configuración desde la terminal, sin Claude:
npm run read -- "Efficient Reasoning"Imprime el árbol de archivos y todos los encabezados de sección del proyecto coincidente. Añade una ruta para volcar un solo archivo:
npm run read -- "Efficient Reasoning" sections/methodology.texVuelve a ejecutar la configuración cuando quieras. Reutiliza una sesión activa y vuelve a verificar la conexión, así que también sirve como comprobación de estado.
Cómo funciona
El árbol de archivos proviene de la conexión de socket de Overleaf, porque es la única fuente que incluye los ids de entidad, y los ids son lo que necesitan las escrituras. El protocolo de inicio es GET /socket.io/1/?projectId=<id>, que es el formato de socket.io 0.9; el servidor luego envía joinProjectResponse con todo el proyecto, incluidos rootFolder, ids de documentos y hashes de archivos. El árbol se guarda en caché durante OVERLEAF_TREE_TTL_MS (15s por defecto) y se invalida después de cada escritura.
Los archivos de texto se leen por documento, así que una lectura siempre refleja el estado actual. overleaf_grep lee el archivo del proyecto en su lugar, así que una búsqueda en todo el proyecto cuesta una solicitud en lugar de una por archivo.
Las escrituras pasan por el endpoint de subida. Subir sobre un nombre existente es una actualización in situ: el id de entidad se conserva, así que el historial de Overleaf y cualquier otra persona en el documento siguen funcionando. Las carpetas padre que falten se crean primero.
Endpoints verificados
Confirmados en vivo contra una cuenta real, no asumidos:
Operación | Llamada | Notas |
Lista de proyectos |
| Metaetiqueta |
CSRF |
| Metaetiqueta |
Nuevo proyecto |
| devuelve |
Árbol de archivos |
|
|
Solo rutas |
| barato, sin ids |
Leer documento |
| texto plano |
Leer binario |
| el hash viene del árbol |
Archivo |
| usado para grep |
Crear o sobrescribir |
| multipart, campo |
Crear doc o carpeta |
| cuerpo |
Renombrar |
| 204 |
Mover |
| 204, cuerpo |
Eliminar |
| 204 |
Compilar |
| devuelve |
Recuento de palabras |
|
:type es doc, file o folder.
Scripts
Comando | Qué hace |
| Configuración completa desde cero |
| Igual, asumiendo que las dependencias están instaladas |
| Solo reautenticación |
| Inspecciona un proyecto desde la terminal |
| Sondeo de solo lectura de cada endpoint |
| Prueba de escritura de extremo a extremo en un proyecto desechable |
| Compila a |
npm run smoke crea un proyecto llamado claude-mcp-smoketest y luego ejercita escritura, sobrescritura, subida de imágenes, renombrado, movimiento, eliminación y compilación. Deja el proyecto en tu cuenta para que puedas inspeccionarlo. Elimínalo cuando termines.
Configuración
Todo es opcional. Copia .env.example a .env en esta carpeta y se cargará al iniciar.
Variable | Por defecto | Significado |
|
| Apunta a una instancia autoalojada |
|
| Dónde viven la sesión y la selección |
|
| |
|
| Punto de truncamiento para |
|
| Vida útil de la caché del árbol de archivos |
|
| |
|
| Cuánto tiempo espera la ventana de inicio de sesión |
Limitaciones
Nada de esto es una API compatible, y Overleaf puede cambiarla en cualquier momento. Úsalo con tu propia cuenta. La edición colaborativa en tiempo real no está implementada: las escrituras reemplazan un documento completo en lugar de enviar operaciones a nivel de carácter, así que evita escribir en un archivo mientras otra persona está escribiendo en él.
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 Servers
- Alicense-qualityBmaintenanceEnables editing Overleaf projects from Claude, with tools to list, read, edit, and sync files via Git.MIT
- Alicense-qualityCmaintenanceEnables Claude and AI agents to read and edit Overleaf documents in real time, with support for project listing, document manipulation, LaTeX compilation, and live collaboration.1038MIT
- Alicense-qualityBmaintenanceConnects Claude/ChatGPT to Overleaf projects via the Git integration, enabling read, edit, write, and file management through natural language commands.2AGPL 3.0
- Alicense-qualityBmaintenanceEnables AI agents to read, edit, and compile LaTeX documents in Overleaf projects with tracked changes via the Model Context Protocol.1MIT
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
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/MarvelCollin/overleaf-claude-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server