overleaf-resume
Overleaf Resume
ローカルで履歴書を編集・コンパイルするためのツールです。Overleaf のウェブサイト上ではなく、MCP サーバーがソースファイルを Overleaf と必要に応じて同期します。複数の Overleaf プロジェクトを並行して扱えます。すべての同期ツールは明示的な project_id を取るため、特定の「その」プロジェクトに固定されることはありません。
無料プランの Overleaf アカウント(Git/API アクセスなし)向けに作られています。アカウントに Git 連携(有料プラン)がある場合は、代わりに git clone でプロジェクトを取得すればよく、このツールは不要です。
仕組み
日常の編集: プロジェクトをプルしたら(下記参照)、
projects/<name>/配下の.texファイルを直接編集し、Tectonic でローカルにコンパイルします。Overleaf への往復は不要です。tools/tectonic.exe projects/<name>/<main file>.texこれにより、その隣に PDF が生成されます。(
tools/tectonic.exeはこのリポジトリに既にセットアップされているスタンドアロンバイナリです。ダウンロードした大きなバイナリでありソースではないため、gitignore されています。)Overleaf との同期: 無料プランの Overleaf アカウント(Git/API アクセスなし)のため、MCP サーバー(
overleaf_mcp/)が Playwright で実際にログインした Chromium セッションを操作し、プロジェクトのソースをダウンロードして、編集内容をオンラインエディタにプッシュします。ブラウザで手動で行う操作と同じです。
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/ に依存関係と Playwright の Chromium ブラウザがインストール済み、tools/tectonic.exe も使用可能)。別のマシンやクリーンチェックアウト後にやり直す場合に備えて、ここに記載しています。
仮想環境を作成し、依存関係をインストールします。
python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt playwright install chromiumTectonic を入手します。
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 existstools/tectonic.exe --versionで確認します。Overleaf に一度ログインして、MCP サーバーがセッションを再利用できるようにします。
.venv/Scripts/python.exe scripts/overleaf_login.pyブラウザウィンドウが Overleaf のログインページを開きます。メールアドレスとパスワードでログインしてください。「Google でサインイン」は使わないでください。Google は自動化されたブラウザ内でのサインインフォームをブロックするため、Google 専用アカウントは先に Overleaf でパスワードを設定する必要があります(アカウント設定)。セッションは
.auth/storage_state.jsonに保存されます(gitignore されています。コミットや共有はしないでください)。overleaf_login_statusがセッションの期限切れを報告したら、このスクリプトを再実行してください。このリポジトリの
.mcp.jsonがサーバーを Claude Code に自動登録します。Claude Code を再起動するか(または/mcpを実行)、overleaf-resumeサーバーを認識させてください。overleaf_list_projectsを呼び出してすべての Overleaf プロジェクトとその ID を確認し、作業したいプロジェクトに対して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 は常に必須です。デフォルトのプロジェクトは存在しないため、履歴書が 1 つでも複数でも同じように動作します。ID を調べる必要がある場合は overleaf_list_projects を使用してください。
ローカルコンパイルのトラブルシューティング
Overleaf はデフォルトで pdfLaTeX でコンパイルします。Tectonic は XeTeX ベースのエンジンを使用します。人気の "Jake's Resume" スタイルのテンプレートで発生した 2 つの問題を以下に示します。同じ問題に遭遇した場合の参考にしてください。
\pdfglyphtounicode/\input{glyphtounicode}/\pdfgentounicode=1は pdfTeX 専用のプリミティブです。両方のエンジンで動作するようにガードしてください。\usepackage{iftex} \ifPDFTeX \input{glyphtounicode} \fi ... \ifPDFTeX \pdfgentounicode=1 \fienumitemの\begin{itemize}...\end{itemize}のペア(このテンプレートの\resumeSubHeadingListStart/Endマクロ経由)は、コメントアウトされたセクションをまたいでもバランスが保たれている必要があります。ブロックをコメントアウトした後に残った孤立した\end{itemize}は、enumitem内部(\enit@enditemize)の奥深くで cryptic なUndefined control sequenceを生成します。これは Tectonic/Overleaf の違いではありません。エラー数を確認すれば、Overleaf 自身のコンパイラでも失敗することがわかります。
注意事項
これは、自分のログイン済みセッションで Overleaf の実際の Web UI を自動化するものです。無料プランのプロジェクトには公開 API がありません。Overleaf が UI を変更すると壊れる可能性があり、保存されたセッションは時々期限切れになります(
scripts/overleaf_login.pyを再実行してください)。最初の
tectonicコンパイルは LaTeX パッケージを取得するためにネットワークアクセスが必要です。以降のコンパイルはキャッシュされ、オフラインで動作します。.auth/storage_state.jsonには有効なセッション Cookie が含まれています。バージョン管理から除外してください。
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