Resume Forge MCP

Resume Forge MCP

An MCP server for intelligent LaTeX resume generation with multiple templates, quality scoring, and job description tailoring.

Category
Visit Server

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 .docx files
  • 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

  1. Import — Your resume file is parsed into structured JSON (contact, experience, education, skills, publications)
  2. Edit — Fix any parsing issues or add new content via update_resume_data
  3. Template — Pick a built-in style or fetch one from Overleaf
  4. Generate — Your data is rendered through a Jinja2 template into a .tex file
  5. Compile — pdflatex compiles the .tex to a PDF (optional — requires LaTeX installed)
  6. Tailor — Paste a job description and get a resume with auto-selected relevant content

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured