MCP server for intelligent LaTeX resume generation — browse 350+ Overleaf templates, auto-compile with pdflatex/xelatex/lualatex, tailor to job descriptions, ATS scoring, and visual preview.
Project description
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
Installation
Using uvx (recommended)
uvx latex-resume-mcp
Using pip
pip install latex-resume-mcp
Configuration
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 basictex
Ubuntu/Debian:
sudo apt install texlive-latex-base texlive-latex-extra texlive-fonts-extra
Windows: Download and install MiKTeX
Available Tools (15)
Data Management
| Tool | Description |
|---|---|
import_from_latex_file |
Parse existing .tex file into structured JSON data |
get_resume_data |
Get the master resume data pool |
update_resume_data |
Add, edit, or remove entries (experience, projects, etc.) |
list_variants |
List all saved resume variants |
get_variant |
Get details of a specific variant |
save_variant |
Create or update a variant configuration |
Generation & Compilation
| Tool | Description |
|---|---|
generate_resume |
Generate .tex file from data (optionally using a variant) |
compile_resume_tex |
Compile .tex to PDF using pdflatex |
compile_and_preview |
Compile and return preview images |
preview_resume |
Preview an existing PDF as images |
Intelligence
| Tool | Description |
|---|---|
score_resume_quality |
Score bullets, check ATS compatibility, match keywords |
parse_job_description_text |
Extract keywords and requirements from job description |
generate_tailored_resume |
Auto-select content based on JD, compile, and preview |
Utility
| Tool | Description |
|---|---|
assess_quality |
Run programmatic checks (page count, encoding, overflow) |
get_config |
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 page
Quality 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 terms
Job 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, compiles
Variant 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 ordering
Data 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file resume_forge_mcp-0.3.6.tar.gz.
File metadata
- Download URL: resume_forge_mcp-0.3.6.tar.gz
- Upload date:
- Size: 41.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5355fed4deece5974af8508aed2143fe2e1178962e213593ee188ca4a120f1bd
|
|
| MD5 |
1cc3990434f34f87f589a888a1474c64
|
|
| BLAKE2b-256 |
af9bd2d59825e92ef89fa54994d7936a63ddf79177cb6b95649ff944cc0f09bd
|
File details
Details for the file resume_forge_mcp-0.3.6-py3-none-any.whl.
File metadata
- Download URL: resume_forge_mcp-0.3.6-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67f7bdc51728c60f3d07af8635613aeed8f3f3163c130f7ae2cd3bc8ec969153
|
|
| MD5 |
1ef078b6ead2d2bf18a311c46f05d28e
|
|
| BLAKE2b-256 |
41d34daa7218bd8f3b1472663f8857d59b0817df6325339ad6f547c9fbe1fc2d
|