Skip to main content
Glama
abhi-ramtel

mcp-overleaf-server

by abhi-ramtel

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LATEX_ENGINENoLaTeX engine to use (default: latexmk)
CV_MASTER_PATHNoPath to the master CV markdown file (default: ./cv.md)
CAREER_OUTPUT_DIRNoOutput directory for PDFs and application log (default: ./output)
OVERLEAF_PROJECT_URLNoOverleaf project URL (optional, only for Overleaf sync)
OL_GIT_AUTHENTICATION_TOKENNoOverleaf 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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 coverLetter too unless the user opted out — it produces the matching one-page letter in the same call. The application is auto-logged to the tracker. Returns provenance warnings and, if jobDescription is given, an ATS coverage report.

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 content only for jobs batch_plan marked GENERATE; for the rest pass reuseFrom (the batch index or cache key from the plan) and the server resolves the content itself. Every job is automatically written to the application tracker.

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

NameDescription
tailor_resumeOne 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_jobsBatch 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

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues