resume-mcp
Provides an option to compile generated LaTeX resumes to PDF using Overleaf's online LaTeX editor.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@resume-mcpGenerate a tailored resume for the job at https://example.com/job/123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
resume-mcp
MCP server for maintaining a professional profile database and generating tailored, ATS-optimized resumes for specific job postings.
Features
Profile database — SQLite store for contact info, education, work experience, projects, and skills with proficiency ratings
Job scraping — fetch and parse job postings from URLs; extract tech stack, experience level, requirements, and salary automatically
Tailored resume generation — scores every experience and project against the job, selects the most relevant ones, and produces a clean LaTeX resume
Relevance scoring — deterministic match score based on tech overlap, keyword coverage, and description similarity
ATS/keyword analysis — identifies keyword gaps, naming mismatches (
ReactvsReact.js), weak action verbs, bullets lacking metrics, and unused profile items that could strengthen the resumeNo extra API keys — all analysis is pure Python (regex + keyword matching). The calling LLM (Claude, GPT, etc.) does the creative rewriting using its own subscription
Application tracker — auto-logs every generated resume to a formatted
applications.xlsxspreadsheet with color-coded scores and status tracking
Related MCP server: resume-processor-mcp
How tailoring works
Each experience and project is scored 0–1 against the job posting:
Signal | Weight |
Tech stack tag overlap | 40% |
Keyword match against requirements | 35% |
Description keyword match | 25% |
Items are ranked by score, the top 4 experiences and top 4 projects are selected, and skills matching the JD are reordered to appear first.
Review pipeline
full_pipeline(url)— scrapes job → generates initial resume → runs deterministic analysis in one callThe analysis returns: keyword gaps, ATS issues (exact phrasing mismatches), weak verb flags, bullets missing metrics, and unused profile items from the DB
The calling LLM acts as a hiring manager and rewrites bullets, weaves in missing keywords, reorders sections
save_optimized_resume(...)— saves the LLM-rewritten LaTeX back to the DB and compiles to PDF
No API keys are consumed in step 2. The LLM you're already talking to does the creative work.
Setup
cd ~/resume-mcp
pip install -r requirements.txt
# seed_profile.py is a template — open it and replace the placeholder data
# with your own info, then run it to populate the database:
python seed_profile.pyTip: To keep your personal data out of git, copy the template to a private file:
cp seed_profile.py seed_yourname.py
echo "seed_yourname.py" >> .gitignore
python seed_yourname.pyOptional: Install pdflatex to compile resumes to PDF locally. Without it, .tex files are saved and can be compiled via Overleaf.
Claude Desktop config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"resume-builder": {
"command": "python3",
"args": ["/Users/your-username/resume-mcp/server.py"]
}
}
}Data storage
Path | Contents |
| SQLite profile database |
| Generated |
| Application tracker spreadsheet |
MCP tools
Profile
Tool | Description |
| Return full profile (contact, education, experience, projects, skills) |
| Set name, email, phone, LinkedIn, GitHub, website, location |
| Add a work experience entry with bullet points and tech tags |
| Update fields on an existing experience by ID |
| Remove an experience by ID |
| Add a project with tech stack, bullets, URL, and status |
| Update fields on an existing project by ID |
| Remove a project by ID |
| Add an education entry with GPA, coursework, honors |
| Add or update a skill with category and proficiency (1–5) |
| Remove a skill |
| Add multiple skills at once via |
Job scraping
Tool | Description |
| Fetch a job posting URL and extract structured data |
| Parse a job from pasted text when URL scraping fails |
Resume generation
Tool | Description |
| Generate a tailored resume given job details |
| One-shot: scrape URL and immediately generate resume |
| Check profile-to-job match without generating a resume |
| Retrieve full LaTeX source of a previously generated resume |
| List recent resumes with job details and match scores |
Review & optimization
Tool | Description |
| Scrape → generate → analyze in one call; returns everything the LLM needs to rewrite |
| Run deterministic analysis on a resume by ID or raw LaTeX |
| Get resume LaTeX + job info + full profile in one call for rewriting |
| Save LLM-rewritten LaTeX back to DB and compile to PDF |
Application tracker
Tool | Description |
| Manually log an application to the spreadsheet |
| Update status (Generated → Applied → Interview → Offer/Rejected) |
| Summary stats: total, by-status breakdown, average scores |
Usage examples
These are natural language commands you'd send to Claude with the MCP server connected:
Generate a resume for this job posting: [paste URL]
Scrape this job and run the full pipeline so you can optimize my resume: [URL]
Add a new experience: I worked at Acme Corp as a backend engineer from Jan 2024 to present.
Bullets: [...]
What's my match score for a job that requires React, TypeScript, and AWS experience?
Update my application status for row 3 to "Interview"
Show me my application statsThis server cannot be deployed
Maintenance
Related MCP Connectors
Generate tailored, ATS-optimized resume PDFs and cover letters from a job description, over MCP.
Resume builder with native MCP — create and edit resumes from your AI assistant.
GetJobzi MCP server for job search, application tracking, and career forecasting.
Free open-source resume builder with remote MCP tools for resumes and job applications.
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server that intelligently modifies CVs based on job descriptions using keyword extraction and strategic enhancement.33-
- AlicenseNot gradedqualityDmaintenanceMCP server for processing Markdown resumes into multiple formats (PDF, LinkedIn templates) with AI analysis and Claude integration.MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for AI-native resume optimization, providing tools to load JD, analyze match, rewrite sections, and assemble customized resumes.1-
- AlicenseAqualityCmaintenanceMCP server for AI-powered resume optimization and generation. It enables clients to optimize existing resumes or generate new ones from background info via LLM, producing formatted .docx and .pdf files.21MIT