Resume Forge MCP
An MCP server for intelligent LaTeX resume generation with multiple templates, quality scoring, and job description tailoring.
README
Resume Forge MCP
An MCP (Model Context Protocol) server for intelligent LaTeX resume generation with multiple template styles, quality scoring, and job description tailoring. Works with any MCP-compatible AI assistant — Claude Desktop, Kiro, Cursor, Windsurf, etc.
Features
- 3 built-in templates: Modern (color accents), Classic (traditional), Minimal (no-frills)
- Overleaf integration: Browse and fetch 350+ templates dynamically
- Multi-format import: Import resume data from
.tex,.pdf, or.docxfiles - Quality scoring: Bullet analysis, ATS compatibility, keyword matching
- Job tailoring: Auto-select and rank content based on job descriptions
- Visual preview: Compile to PDF and preview as images directly in your AI assistant
Quick Start
1. Import my resume from resume.pdf
2. List available templates
3. Generate my resume using the modern template
4. Score my resume against keywords: Python, AWS, Kubernetes
That's it — 4 prompts to go from a PDF to a scored, template-styled resume.
Installation
uvx resume-forge-mcp
With PDF and DOCX import support:
uvx --with pymupdf --with python-docx resume-forge-mcp
Prerequisites
For PDF compilation (compile_and_preview), you need LaTeX installed:
- macOS:
brew install --cask mactex - Ubuntu:
sudo apt install texlive-latex-base texlive-latex-extra texlive-fonts-extra - Windows: Install MiKTeX
LaTeX is only needed for compiling to PDF. All other tools (import, generate .tex, score, tailor) work without it.
Configuration
Add to your AI assistant's MCP config:
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"resume-forge": {
"command": "uvx",
"args": ["resume-forge-mcp"]
}
}
}
Kiro
Add to ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"resume-forge": {
"command": "uvx",
"args": ["resume-forge-mcp"]
}
}
}
Custom directories (optional)
{
"mcpServers": {
"resume-forge": {
"command": "uvx",
"args": ["resume-forge-mcp"],
"env": {
"RESUME_DATA_DIR": "/path/to/data",
"RESUME_TEMPLATE_DIR": "/path/to/templates",
"RESUME_OUTPUT_DIR": "/path/to/output"
}
}
}
}
Environment Variables
| Variable | Default | Purpose |
|---|---|---|
RESUME_DATA_DIR |
~/.resume-forge/data |
Imported resume data (JSON) |
RESUME_TEMPLATE_DIR |
~/.resume-forge/templates |
Fetched Overleaf templates |
RESUME_OUTPUT_DIR |
~/.resume-forge/output |
Generated .tex and .pdf files |
All env vars are optional — defaults to ~/.resume-forge/ subdirectories on any OS.
Tools (11)
Templates — Pick a style or browse Overleaf
| Tool | What it does |
|---|---|
list_templates |
Shows 3 built-in templates (modern, classic, minimal) and tells you Overleaf is available for 350+ more |
browse_overleaf_templates |
Browse Overleaf's gallery by category (cv, cover-letter, etc.) — returns names and URLs |
fetch_overleaf_template |
Download a specific Overleaf template by URL, optionally save it locally |
Data — Get your resume in and edit it
| Tool | What it does |
|---|---|
import_resume |
Feed it a .tex, .pdf, or .docx file — extracts contact, experience, education, skills, publications into structured JSON |
get_resume_data |
View everything that was imported — all sections, all entries, all bullets |
update_resume_data |
Fix a company name, add a bullet, delete an old job, update your phone number — works on any section |
Generate — Create your resume
| Tool | What it does |
|---|---|
generate_resume |
Takes your data + a template (modern/classic/minimal) → renders a complete .tex file |
compile_and_preview |
Compiles .tex to PDF using pdflatex and returns a preview image you can see in chat |
generate_tailored_resume |
Paste a job description → it parses requirements, picks your most relevant experience, generates a tailored resume |
Analyze — Improve your resume
| Tool | What it does |
|---|---|
score_resume_quality |
Scores every bullet (action verb? metrics? right length?), checks ATS compatibility, matches keywords you provide |
get_config |
Shows your directories, pdflatex status, and all available tools |
Usage Examples
Import and generate
> Import my resume from /path/to/resume.pdf
> Generate my resume using the classic template
Score and improve
> Score my resume quality against keywords: Java, AWS, Kafka, microservices
> Update experience index 0 bullet 2 to add a metric
Tailor for a job
> Generate a tailored resume for this job description:
> Senior Backend Engineer - 5+ years Java, AWS, event-driven architecture...
Browse Overleaf templates
> Browse Overleaf templates for CVs
> Fetch the template at https://www.overleaf.com/latex/templates/...
How It Works
- Import — Your resume file is parsed into structured JSON (contact, experience, education, skills, publications)
- Edit — Fix any parsing issues or add new content via
update_resume_data - Template — Pick a built-in style or fetch one from Overleaf
- Generate — Your data is rendered through a Jinja2 template into a
.texfile - Compile — pdflatex compiles the
.texto a PDF (optional — requires LaTeX installed) - Tailor — Paste a job description and get a resume with auto-selected relevant content
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.