LaTeX Resume MCP
The LaTeX Resume MCP server enables creation, management, editing, and compilation of professional LaTeX resumes directly through Claude.
Resume Management: Create new resumes from templates (modern, classic, minimal) or custom LaTeX content, list all resumes with metadata (filename, last modified, file size), read resume source code, edit via full replacement or find-and-replace, and delete unwanted files.
Content Enhancement: Add structured work experience entries (company, title, dates, location, bullet points) and education entries (institution, degree, dates, location, details) designed for the modern template.
PDF Compilation: Compile LaTeX resumes to PDF using pdflatex (requires LaTeX installation).
Observability & Verification: Analyze LaTeX code for syntax errors, inspect compiled PDFs for content verification, check compilation logs for warnings/errors, and run combined compile-and-verify checks.
Templates & Configuration: List and retrieve template content for reference or customization, view current server configuration including directories and pdflatex status, and support custom storage locations via environment variables.
Allows creation, editing, and compilation of LaTeX resume documents using built-in templates (modern, classic, minimal), with tools for managing resume files, adding experience/education entries, and compiling to PDF using pdflatex.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LaTeX Resume MCP create a new resume called software_engineer using the modern template"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LaTeX Resume MCP
An MCP (Model Context Protocol) server for intelligent LaTeX resume generation with visual verification, quality scoring, and job description tailoring.
Features
Data-driven resumes: Store resume content in JSON, generate LaTeX on demand
Visual verification: Preview rendered PDFs as images directly in Claude
Quality scoring: Bullet analysis, ATS compatibility checks, keyword matching
Job tailoring: Auto-select and prioritize content based on job descriptions
Variant management: Create multiple resume versions for different roles
LaTeX compilation: Generate publication-quality PDFs using pdflatex
Related MCP server: Cover Letter MCP Server
Installation
Using uvx (recommended)
uvx latex-resume-mcpUsing pip
pip install latex-resume-mcpConfiguration
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using uvx
{
"mcpServers": {
"latex-resume": {
"command": "uvx",
"args": ["latex-resume-mcp"]
}
}
}Using pip installation
{
"mcpServers": {
"latex-resume": {
"command": "latex-resume-mcp"
}
}
}Custom directories (optional)
{
"mcpServers": {
"latex-resume": {
"command": "uvx",
"args": ["latex-resume-mcp"],
"env": {
"LATEX_RESUME_DATA_DIR": "/path/to/data",
"LATEX_RESUME_OUTPUT_DIR": "/path/to/output"
}
}
}
}Prerequisites
LaTeX Installation
To compile resumes to PDF, you need LaTeX installed:
macOS:
brew install --cask mactex
# or for a smaller installation:
brew install --cask basictexUbuntu/Debian:
sudo apt install texlive-latex-base texlive-latex-extra texlive-fonts-extraWindows: Download and install MiKTeX
Available Tools (15)
Data Management
Tool | Description |
| Parse existing .tex file into structured JSON data |
| Get the master resume data pool |
| Add, edit, or remove entries (experience, projects, etc.) |
| List all saved resume variants |
| Get details of a specific variant |
| Create or update a variant configuration |
Generation & Compilation
Tool | Description |
| Generate .tex file from data (optionally using a variant) |
| Compile .tex to PDF using pdflatex |
| Compile and return preview images |
| Preview an existing PDF as images |
Intelligence
Tool | Description |
| Score bullets, check ATS compatibility, match keywords |
| Extract keywords and requirements from job description |
| Auto-select content based on JD, compile, and preview |
Utility
Tool | Description |
| Run programmatic checks (page count, encoding, overflow) |
| Show current configuration and available tools |
Usage Examples
Basic Workflow
> Get my resume data
Shows all stored experience, projects, education, skills
> Generate my resume and compile it
Creates .tex file and compiles to PDF
> Preview my resume
Returns rendered images of each pageQuality Improvement
> Score my resume quality
Returns bullet scores, ATS report, improvement suggestions
> Score my resume against keywords: Python, AWS, Kubernetes
Shows keyword match percentage and missing termsJob Tailoring
> Parse this job description: [paste JD text]
Extracts title, required skills, preferred skills, keywords
> Generate a tailored resume for this job description
Auto-selects most relevant experience/projects, reorders skills, compilesVariant Management
> List my resume variants
Shows: swe, ml_engineer, backend, etc.
> Save a new variant called "startup" with experiences 0,1,3
Creates variant configuration
> Generate my resume using the startup variant
Uses variant's content selection and orderingData Model
Resume data is stored as JSON with these sections:
contact: Name, email, phone, LinkedIn, GitHub
education: Degrees with GPA, dates, coursework
publications: Academic publications
experience: Work history with bullets and tags
projects: Personal/open-source projects with tags
skills: Categorized skill lists
Each experience and project can have tags (e.g., ["swe", "ml", "cloud"]) for intelligent content selection.
Default Directories
Data:
~/.latex-resumes/data/(resume JSON and variants)Output:
~/.latex-resumes/output/(generated .tex and .pdf files)
License
MIT
Available Tools
11 toolsadd_educationB
Add a new education entry to a resume (works with modern template).
Args:
filename: Name of the resume file
institution: School/University name
degree: Degree and major
dates: Dates attended (e.g., 'Sep 2016 -- May 2020')
location: Location - optional
details: Additional details (GPA, honors, coursework) - optional
Inputs: filename (required), institution (required), degree (required), dates (required), +2 more. Returns: result
add_experienceA
Add a new work experience entry to a resume (works with modern template).
Args:
filename: Name of the resume file
company: Company name
title: Job title
dates: Employment dates (e.g., 'Jan 2020 -- Present')
bullets: List of bullet points describing responsibilities/achievements
location: Location (city, state/country) - optional
Inputs: filename (required), company (required), title (required), dates (required), +2 more. Returns: result
compile_resumeA
Compile a LaTeX resume to PDF using pdflatex.
Args:
filename: Name of the resume file to compile
output_dir: Output directory for the PDF (default: same as resumes directory)
Returns the path to the generated PDF or compilation errors.
Inputs: filename (required), output_dir. Returns: result
create_resumeA
Create a new LaTeX resume file.
Args:
filename: Name for the new resume file (with or without .tex extension)
content: Full LaTeX content for the resume. If not provided, uses a template.
template: Template to use if content not provided. Options: 'modern', 'classic', 'minimal'
Returns confirmation of file creation.
Inputs: filename (required), content, template. Returns: result
delete_resumeB
Delete a LaTeX resume file.
Args:
filename: Name of the resume file to delete
Inputs: filename (required). Returns: result
edit_resumeA
Edit an existing LaTeX resume file.
Args:
filename: Name of the resume file to edit
content: New complete content for the resume (replaces everything)
find: Text to find for targeted replacement (use with 'replace')
replace: Text to replace the found text with
Either provide 'content' for full replacement, or 'find' and 'replace' for targeted edit.
Inputs: filename (required), content, find, replace. Returns: result
get_configB
Get current configuration including directories and pdflatex status.
Inputs: no named parameters. Returns: result
get_templateB
Get the content of a resume template.
Args:
template_name: Name of the template (modern, classic, minimal)
Returns the full LaTeX template content.
Inputs: template_name (required). Returns: result
list_resumesA
List all LaTeX resume files in the resumes directory. Returns filename, last modified date, and file size for each resume.
Inputs: no named parameters. Returns: result
list_templatesA
List available resume templates. Returns the names and descriptions of built-in LaTeX resume templates.
Inputs: no named parameters. Returns: result
read_resumeA
Read the contents of a LaTeX resume file.
Args:
filename: Name of the resume file (with or without .tex extension)
Returns the full LaTeX content of the resume.
Inputs: filename (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose with no ambiguity: add_education and add_experience handle specific resume sections, create_resume/edit_resume/delete_resume manage file lifecycle, compile_resume handles PDF generation, and list_resumes/read_resume/get_template/list_templates provide information access. The tools are well-differentiated by their specific functions.
All tools follow a consistent verb_noun naming pattern throughout (e.g., add_education, create_resume, list_templates). The naming convention is perfectly uniform with clear, descriptive names that use snake_case consistently across all 11 tools.
With 11 tools, this server is well-scoped for managing LaTeX resumes. Each tool earns its place by covering distinct aspects of resume creation, editing, compilation, and management. The count is appropriate for the domain without being overwhelming or insufficient.
The tool surface provides complete coverage for LaTeX resume management: create/edit/delete for file lifecycle, add_education/add_experience for content building, compile_resume for PDF generation, and multiple tools for information access (list_resumes, read_resume, get_template, list_templates, get_config). There are no obvious gaps in the workflow.
Maintenance
Related MCP Connectors
Persistent AI LaTeX workspace: edit and compile multi-file projects, export publication-ready PDFs.
Build, version and render resumes as PDFs from Claude or any MCP client.
Turn your resume into a polished PDF and web page: import, build, check, and publish from chat.
Resume builder with native MCP — create and edit resumes from your AI assistant.
Related MCP Servers
- AlicenseAqualityDmaintenanceGenerates 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
- FlicenseNot gradedqualityDmaintenanceGenerates professional PDF cover letters using LaTeX with advanced folder management capabilities. Integrates with Claude Desktop to create beautifully formatted cover letters with customizable organization by company, role, or industry.1-
- AlicenseNot gradedqualityCmaintenanceEnables 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.128 npm41MIT
- AlicenseBqualityBmaintenanceConnects Claude to your Overleaf account to manage LaTeX projects, edit files, compile, and retrieve PDFs.6195MIT