overleaf-resume
Overleaf Resume
Редактируйте и компилируйте свои резюме локально, а не на сайте Overleaf,
с помощью MCP-сервера, который синхронизирует исходные файлы с Overleaf при необходимости. Работает
с любым количеством проектов Overleaf бок о бок — каждый инструмент синхронизации принимает явный
project_id, так что ничего не привязано к одному «единственному» проекту.
Создано для бесплатных аккаунтов Overleaf (без доступа к Git/API). Если ваш
аккаунт имеет интеграцию с Git (платный план), просто git clone ваш проект
— этот инструмент вам не нужен.
Как это работает
Ежедневное редактирование: после того как проект загружен (см. ниже), редактируйте его
.tex-файл напрямую вprojects/<name>/, затем компилируйте локально с помощью Tectonic — без обращения к Overleaf:tools/tectonic.exe projects/<name>/<main file>.texЭто создаёт PDF-файл рядом с ним. (
tools/tectonic.exe— это автономный бинарник, уже настроенный в этом репозитории — он в gitignore, так как это большой загруженный бинарник, а не исходный код.)Синхронизация с Overleaf: поскольку это бесплатный аккаунт Overleaf (без доступа к Git/API), MCP-сервер (
overleaf_mcp/) управляет реальным, авторизованным сеансом Chromium с помощью Playwright, чтобы загружать исходники проекта и отправлять правки обратно в его онлайн-редактор — те же действия, которые вы бы выполняли вручную в браузере.
Related MCP server: LaTeX Resume MCP
Структура проекта
Каждый загруженный проект Overleaf попадает в свою собственную подпапку, поэтому несколько резюме могут сосуществовать без конфликтов:
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/ находится в gitignore — там хранится ваше реальное содержимое резюме (загруженное
из Overleaf), поэтому оно остаётся локальным и никогда не попадает в коммиты.
Одноразовая настройка
Шаги 1–2 уже выполнены в этом репозитории (в .venv/ установлены зависимости
и загружен браузер Chromium для Playwright; tools/tectonic.exe
готов к использованию). Они перечислены здесь на случай, если вам нужно повторить их на
другой машине или после чистой проверки.
Создайте виртуальное окружение и установите зависимости:
python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt playwright install chromiumПолучите Tectonic:
winget/chocoмогут требовать права администратора, которые не всегда доступны. Надёжный вариант без администратора — скачать бинарник для Windows напрямую и поместить его вtools/: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Проверьте с помощью
tools/tectonic.exe --version.Войдите в Overleaf один раз, чтобы MCP-сервер мог повторно использовать сеанс:
.venv/Scripts/python.exe scripts/overleaf_login.pyОткроется окно браузера со страницей входа в Overleaf. Войдите с помощью email + пароля, а не «Войти через Google» — Google блокирует свою форму входа в любом автоматизированном браузере, поэтому для аккаунтов, использующих только Google, сначала нужно установить пароль в Overleaf (Account Settings). Затем сеанс сохраняется в
.auth/storage_state.json(в gitignore — никогда не коммитьте и не делитесь им). Повторно запускайте этот скрипт, когдаoverleaf_login_statusсообщает, что сеанс истёк.В этом репозитории
.mcp.jsonавтоматически регистрирует сервер в Claude Code. Перезапустите Claude Code (или выполните/mcp), чтобы он подхватил серверoverleaf-resume.Вызовите
overleaf_list_projects, чтобы увидеть все ваши проекты Overleaf и их идентификаторы, затемoverleaf_pull(project_id)для тех, с которыми вы хотите работать. Файлы попадают вprojects/<name>/.
Инструменты MCP
overleaf_login_status— проверяет, действителен ли сохранённый сеанс.overleaf_list_projects— список всех проектов Overleaf (имя + id).overleaf_pull(project_id, local_dir?)— загружает исходники этого проекта вprojects/<name>/(или вlocal_dir, если указан), создавая резервные копии любых существующих файлов.tex/.cls/.sty/.bibв.backups/перед этим.overleaf_push(project_id, file_path)— отправляет текущее содержимое локального файла обратно в онлайн-редактор этого проекта Overleaf.file_pathуказывается относительно корня репозитория, напримерprojects/<your-project-name>/resume.tex.
project_id всегда обязателен — нет единого проекта по умолчанию, поэтому
это работает одинаково, есть ли у вас одно резюме или несколько. Используйте
overleaf_list_projects, когда нужно найти нужный.
Устранение неполадок локальной компиляции
Overleaf по умолчанию компилирует с помощью pdfLaTeX; Tectonic использует движок на основе XeTeX. Две проблемы, которые это выявило на популярных шаблонах в стиле "Jake's Resume", на случай, если вы тоже с ними столкнётесь:
\pdfglyphtounicode/\input{glyphtounicode}/\pdfgentounicode=1— это примитивы только для pdfTeX. Заключите их в условия, чтобы оба движка работали:\usepackage{iftex} \ifPDFTeX \input{glyphtounicode} \fi ... \ifPDFTeX \pdfgentounicode=1 \fiПары
\begin{itemize}...\end{itemize}изenumitem(через макросы\resumeSubHeadingListStart/Endэтого шаблона) должны оставаться сбалансированными даже в закомментированных секциях — случайный, несопоставленный\end{itemize}, оставшийся после комментирования блока, приводит к загадочнойUndefined control sequenceглубоко внутри внутренностейenumitem(\enit@enditemize). Это не различие Tectonic/Overleaf — это вызовет ошибку и на собственном компиляторе Overleaf, если посмотреть на количество ошибок.
Предостережения
Этот инструмент автоматизирует реальный веб-интерфейс Overleaf с вашим собственным авторизованным сеансом — для бесплатных проектов нет публичного API. Он может сломаться, если Overleaf изменит свой интерфейс, а сохранённый сеанс иногда истекает (повторно запустите
scripts/overleaf_login.py).Первая компиляция
tectonicтребует доступа к сети для загрузки пакетов LaTeX; последующие компиляции кэшируются и работают офлайн..auth/storage_state.jsonсодержит живые куки сеанса — держите его вне системы контроля версий.
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