Popular servers: Spreadsheet · Server for Invoices — Generate Invoices from Claude · Expense Tracker — Log Expenses from Claude · Recurring Invoices · Word Document Server — Create .docx from Claude · Server for Bill of Sale — Draft and Sign from Claude · Zip · Job Card
Most resumes are rejected by software before a person reads them. An applicant tracking system parses your file into fields, matches it against the job posting's keywords, and ranks it. If the parser mangles your two-column layout or your title says "Software Engineer II" while the posting says "Backend Developer", you lose. The fix is mechanical: parse the same way the ATS does, compare against the posting, close the gaps. MCP Resume does that inside Claude Code or Cursor, where you are already working.
Drop your resume and the job posting into the folder and say: "check my resume against this posting - missing keywords, formatting risks, and a match score". The server reads the document directly (no upload, nothing leaves your machine), extracts the sections the way a parser would, and reports what the posting asks for that your resume does not say. You get the keyword gaps, the titles to align, and the sections that will not survive a strict parser.
Then iterate in the same chat: "rewrite the experience section for this posting, keep it truthful". The server produces a clean single-column output in docx or PDF - the two formats parsers handle reliably. When the resume is set, "write a cover letter for this posting, half a page, reference the retail-dashboards project" generates a letter grounded in your actual resume content, not generic filler.
One click, with no JSON. Download resume.mcpb from the
latest release and open it in Claude Desktop. It runs on the
Node runtime Claude Desktop ships with, so your own PATH and node version never come into it.
Or a URL, with nothing installed. /mcp/connect mints a free anonymous token and prints the ready line:
claude mcp add --transport http resume https://mcp.zovo.one/mcp/resume/t/<token>
Or from a clone, for a client with no bundle installer. Build once, then point the client at the built file:
git clone https://github.com/theluckystrike/mcp-servers.git
cd mcp-servers && npm install
npm run build -w packages/mcp-license -w servers/resume
claude mcp add --scope user resume -- node /absolute/path/to/mcp-servers/servers/resume/dist/index.js
Claude Desktop, Cursor, Windsurf and Cline take the same two strings as JSON, in
claude_desktop_config.json or the client's own MCP config file:
{
"mcpServers": {
"resume": {
"command": "node",
"args": ["/absolute/path/to/mcp-servers/servers/resume/dist/index.js"]
}
}
}
The npm packages are not published yet, so the npx form below returns a 404 today. It is
kept because it is what that config becomes the day the publish lands, with nothing else changed;
installing these servers when npx does not work yet
has the whole picture.
claude mcp add resume -- npx -y @theluckystrike/mcp-resume
Free tier covers the core loop. Pro is a one-time payment per server, or included in the bundle. Everything runs locally over stdio - your resume never touches a server.
Web checkers give you a score and upsell a rewrite. Here the model that checked the resume is the model that rewrites it, against the specific posting, and the output is a real file you send. For the companion templates and the CV variant, see resume and cover letter from chat.
No. The server runs locally over stdio and reads files from your machine. Nothing is sent to an external service.
The common ones - PDF and docx in, and clean docx or PDF out, which are the formats applicant tracking systems parse most reliably.
Yes. It generates a letter grounded in your resume content and the specific posting, in the same chat.
All MCP servers and prices · All guides · Buy the bundle $39
Servers used in this guide: MCP Resume and Cover Letter