Metadata-Version: 2.4
Name: resume-forge-mcp
Version: 0.3.4
Summary: 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-URL: Homepage, https://github.com/jitendrasinghsankhwar/resume-forge-mcp
Project-URL: Repository, https://github.com/jitendrasinghsankhwar/resume-forge-mcp
Project-URL: Issues, https://github.com/jitendrasinghsankhwar/resume-forge-mcp/issues
Author: Jitendra Singh Sankhwar, Danny Liu
License-Expression: MIT
License-File: LICENSE
Keywords: ai,claude,cv,latex,mcp,overleaf,pdf,resume
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: jinja2>=3.1.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: preview
Requires-Dist: pymupdf>=1.24.0; extra == 'preview'
Description-Content-Type: text/markdown

# 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)

```bash
uvx latex-resume-mcp
```

### Using pip

```bash
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

```json
{
  "mcpServers": {
    "latex-resume": {
      "command": "uvx",
      "args": ["latex-resume-mcp"]
    }
  }
}
```

### Using pip installation

```json
{
  "mcpServers": {
    "latex-resume": {
      "command": "latex-resume-mcp"
    }
  }
}
```

### Custom directories (optional)

```json
{
  "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:**
```bash
brew install --cask mactex
# or for a smaller installation:
brew install --cask basictex
```

**Ubuntu/Debian:**
```bash
sudo apt install texlive-latex-base texlive-latex-extra texlive-fonts-extra
```

**Windows:**
Download and install [MiKTeX](https://miktex.org/)

## 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
