Persistent master CV
Save your resume once. The server remembers it between chats, so every job you tailor for starts from your real CV, with no re-pasting.
A local MCP server for Claude: a persistent master resume, a real ATS score, and clean PDF / DOCX export.
Claude already rewrites CVs. This server adds the parts chat is missing.
Save your resume once. The server remembers it between chats, so every job you tailor for starts from your real CV, with no re-pasting.
The server scores your CV against the job's keywords with real math, not guesswork. You see a match % and the exact terms you're missing, so the rewrite fixes what counts.
The server exports the finished CV as a single-column PDF or DOCX with real, selectable text and standard fonts, so ATS software reads it correctly instead of garbling the layout.
An auto-playing walkthrough of a real tailoring session.
The server does the deterministic parts. Claude does the writing.
load_master_resume pulls your stored CV.
fetch_job_posting → extract_keywords.
Claude rewrites to surface real, matching skills.
ats_gap_check confirms the score jumped.
export_resume → a clean PDF or DOCX.
export_cover_letter → a matching cover letter.
save_master_resumeStore / update the base CV.
load_master_resumeReturn the stored master CV.
fetch_job_postingJob URL → clean text (paste fallback).
extract_keywordsRanked ATS keywords, deterministically.
ats_gap_checkMatch % + the exact missing terms.
export_resumeClean PDF / DOCX, ATS-safe.
export_cover_letterMatching cover letter → PDF / DOCX.
# clone & set up
git clone git@github.com:NmaaAlhawary/MCP-Resume-Tailor.git
cd MCP-Resume-Tailor
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# run the MCP server
python server.py
Then add it to claude_desktop_config.json and restart Claude Desktop —
the seven tools appear under the tools menu. Full steps in the
README.
Set up your master resume once. Tailor it for every job in one message.