Metadata-Version: 2.4
Name: resume-markdown-mcp
Version: 1.0.2
Summary: MCP server for AI-assisted Markdown resume writing and PDF export
Project-URL: Homepage, https://github.com/ailenshen/resume-markdown-mcp
Project-URL: Repository, https://github.com/ailenshen/resume-markdown-mcp
Project-URL: Issues, https://github.com/ailenshen/resume-markdown-mcp/issues
Author-email: Elon Shen <ailenshen@gmail.com>
License: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Text Processing :: Markup :: Markdown
Requires-Python: >=3.12
Requires-Dist: markdown>=3.0
Requires-Dist: mcp>=1.27.0
Description-Content-Type: text/markdown

# resume-markdown-mcp

Write your resume in Markdown, export to PDF — powered by AI via MCP.

![Resume preview](https://raw.githubusercontent.com/ailenshen/resume-markdown-mcp/main/example/resume.png)

Let Claude write, edit, and format your resume. The MCP server handles Markdown-to-PDF conversion with a built-in stylesheet — no CSS knowledge required.

Requires: Python ≥ 3.12, Google Chrome or Chromium (for PDF export)

## Setup

```bash
claude mcp add resume-markdown -- uvx resume-markdown-mcp@latest@latest
```

## What Can It Do?

| Type | Name | Description |
|------|------|-------------|
| Tool | `export_resume_pdf` | Convert a Markdown resume to PDF. Accepts a file path or raw Markdown text. CSS is applied automatically. |
| Resource | `resume://template` | The built-in Markdown resume template. AI reads this to understand the required format. |
| Resource | `resume://style` | The built-in CSS stylesheet. AI reads this when you want to customise the appearance. |

## Example Prompts

- "Help me write a resume for a software engineer role and export it as a PDF to my Desktop"
- "Here's my resume at ~/resume.md — export it to PDF"
- "My resume.md doesn't follow the right format, fix it and export to /tmp/resume.pdf"
- "Make the font size smaller and re-export my resume"

## Resume Markdown Format

The PDF renderer depends on these Markdown conventions:

```markdown
# Full Name

- email@example.com
- Phone number
- City, Country

One-line summary (optional)

## Experience

### <span>Job Title, Company</span> <span>2022 – 2025</span>

- Achievement one
- Achievement two

## Education

### <span>Degree, University</span> <span>2018 – 2022</span>

## Skills

- Skill category: item, item, item
```

The `<span>` tags inside `###` headings are required — they enable the left/right flexbox layout for title and date. AI handles this automatically when writing from scratch; if your existing file lacks them, ask Claude to reformat it before exporting.

## How It Works

1. AI calls `export_resume_pdf` with Markdown content or a file path
2. The server converts Markdown to HTML using [python-markdown](https://python-markdown.github.io/), with the built-in CSS inlined
3. Headless Chrome renders the HTML and prints it to PDF
4. Chrome exits as soon as the PDF is written; the tool returns the output path

## CLI Usage

The package also ships a standalone CLI:

```bash
# Create template files in the current directory
uvx resume-markdown-mcp@latest init

# Build HTML and PDF from resume.md
uvx resume-markdown-mcp@latest build

# Options
uvx resume-markdown-mcp@latest build --no-pdf          # HTML only
uvx resume-markdown-mcp@latest build --no-html         # PDF only
uvx resume-markdown-mcp@latest build myresume.md       # Custom input file
uvx resume-markdown-mcp@latest build --chrome-path=... # Specify Chrome path
```

The CLI picks up a `resume.css` file alongside the input if present; otherwise the built-in stylesheet is used.

## License

MIT
