mcp-overleaf-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LATEX_ENGINE | No | LaTeX engine to use (default: latexmk) | |
| CV_MASTER_PATH | No | Path to the master CV markdown file (default: ./cv.md) | |
| CAREER_OUTPUT_DIR | No | Output directory for PDFs and application log (default: ./output) | |
| OVERLEAF_PROJECT_URL | No | Overleaf project URL (optional, only for Overleaf sync) | |
| OL_GIT_AUTHENTICATION_TOKEN | No | Overleaf git authentication token (optional, only for Overleaf sync) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| overleaf_syncA | Optional. Clone (or pull) your Overleaf project via its git repo and list the .tex files. Overleaf git access is a premium feature — if it isn't available this returns a normal 'unavailable' result (NOT an error) and you should simply continue with the local templates. The failure is cached so later runs skip the network call entirely. |
| get_master_cvA | Return the parsed master CV (cv.md) with the stable ids used for tailoring. |
| prepare_tailoringB | Return everything YOU (the host model) need to tailor the resume/CV to a job description: the master CV with ids, deterministic JD keyword signals, the strict anti-fabrication rules, and the exact output schema. After reasoning, call render_and_compile with the TailoredContent JSON. |
| render_and_compileA | Inject TailoredContent into the LaTeX template, verify every bullet traces to the master CV (anti-fabrication), compile to PDF, and save as _.pdf in the output dir. ALWAYS pass |
| render_cover_letterA | Compile a one-page cover letter styled to match the résumé, saved as __CoverLetter.pdf. Write 3-4 tight paragraphs drawn only from the master CV: why this company/role, the most relevant proof from your experience, and a close. Never invent employers, projects, or figures — quantitative claims not found in cv.md are flagged. |
| batch_planA | Plan up to 10 jobs at once. Deterministically clusters jobs by keyword similarity and checks a cross-session cache, then tells you EXACTLY which jobs need fresh TailoredContent. Similar roles share one reasoning pass — write content only for the listed indices, then call batch_render once. Call this BEFORE writing any content for a multi-job request. |
| batch_renderA | Render, compile, auto-log, and cache every job in one call — no per-job round trip. Supply |
| ats_reportB | Score how well a resume covers a job description's keywords, and split the gap into truthfully addable (already in your CV) vs. absent. Provide resumeText or a texPath. |
| update_trackerA | Add or update a row in the application tracker sheet (output/applications.csv). Upserts on company+position so regenerating doesn't duplicate. |
| list_applicationsA | Return all rows from the application tracker sheet. |
| overleaf_commit_pushA | Commit changes in the synced Overleaf repo, optionally to a branch, and push back to Overleaf. Pushing publishes to your Overleaf project — set push=true only when you intend that. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| tailor_resume | One command: tailor your résumé/CV (your local main.tex, or an Overleaf project) to a pasted job description — truthfully, from cv.md — compile the PDF, and log it in the tracker. |
| tailor_multiple_jobs | Batch mode: tailor up to 10 jobs in one go. Clusters similar roles and reuses cached work so you only reason once per role family instead of once per job. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have distinct purposes, but the presence of both `render_and_compile` (which can produce a cover letter) and a separate `render_cover_letter` creates some ambiguity. Agents may be uncertain which to use for cover letter generation. Otherwise, tools like `batch_plan` and `batch_render` are clearly paired, and the rest are well-separated.
The majority of tools follow a verb_noun pattern (e.g., `list_applications`, `render_and_compile`), but there are inconsistencies: `overleaf_sync` reverses the order (noun_verb), and `overleaf_commit_push` uses two verbs. The naming is still readable, but the mixed conventions detract from predictability.
With 11 tools, the server covers the full workflow from CV retrieval to compilation, batch processing, ATS analysis, and application tracking. Each tool earns its place, and the count is well within the ideal 3-15 range for a focused domain.
The toolset covers the essential lifecycle: fetching master CV, tailoring, rendering, batch handling, ATS scoring, and tracking applications. Minor gaps exist, such as no tool for directly editing the master CV or deleting tracker entries, but these are peripheral to the core functionality.