Persistent master CV
Store your base résumé once as structured JSON. It survives between sessions and powers every future tailoring — no re-pasting.
A local MCP server for Claude: a persistent master résumé, a real ATS score, and clean PDF / DOCX export.
Claude already rewrites CVs. This server adds the parts chat is missing.
Store your base résumé once as structured JSON. It survives between sessions and powers every future tailoring — no re-pasting.
Deterministic keyword math — not vibes. See your match %, and the exact keywords you're missing so the rewrite is targeted.
Single-column PDF / DOCX with real, selectable text and standard fonts — the layout ATS parsers actually read correctly.
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.
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.
# 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 six tools appear under the tools menu. Full steps in the
README.
Set up your master résumé once. Tailor it for every job in one message.