ats-resume-writer
Optimizes resumes for Greenhouse applicant tracking system, ensuring keyword matching and ATS-safe formatting.
ATS Resume Writer — MCP Server
Let your AI agent rewrite resumes that beat applicant tracking systems.
When a user asks Claude, ChatGPT, Cursor, or any MCP-capable agent "tailor my resume to this job posting," this server does the rewrite: keyword-matched to the job description, quantified bullets, ATS-safe structure (Workday, Greenhouse, iCIMS, Taleo) — with strict truthfulness guardrails. The engine never invents dates, metrics, job titles, or seniority levels that aren't in the input resume.
Tools
Tool | What it does |
| Takes resume text + a job description, returns the ATS-optimized rewrite as plain text and/or structured JSON. Requires |
| No auth. Explains how to get an access code (pay-what-you-want, $0 works), what the engine does, and whether the server is configured. |
Related MCP server: CompleteMCP
Setup
Get an access code — pay-what-you-want at Gumroad ($0 works; the code arrives in the delivery email along with the full resume kit).
Hosted (no install) — recommended
The server is live as a remote MCP endpoint — connect any Streamable-HTTP-capable client directly:
https://ats-resume-writer-app.vercel.app/api/mcpOr via Smithery: mutamiri/ats-resume-writer. On the hosted endpoint, pass your access code as the access_code argument to rewrite_resume (no env config needed).
Claude Desktop / Claude Code
{
"mcpServers": {
"ats-resume-writer": {
"command": "npx",
"args": ["-y", "tsx", "/path/to/ats-resume-writer-mcp/src/server.ts"],
"env": { "ACCESS_CODE": "your-code-here" }
}
}
}Or after npm run build:
{
"mcpServers": {
"ats-resume-writer": {
"command": "node",
"args": ["/path/to/ats-resume-writer-mcp/dist/server.js"],
"env": { "ACCESS_CODE": "your-code-here" }
}
}
}Cursor / other MCP clients
Same shape — stdio transport, ACCESS_CODE in env.
Quick start (development)
npm install
npm run typecheck
npm run build
ACCESS_CODE=your-code npm run test:mcp # live smoke test against the hosted API
npm run stdio # run the MCP server on stdioHow it works
agent ──MCP/stdio──> this server ──HTTPS──> hosted rewrite API ──> Claude
(access code gate,
rate limiting,
truthfulness guardrails)The server is a thin client: the rewrite engine, rate limiting (10/hour), and guardrails live in the hosted API. Resume content is processed for the rewrite and not stored.
Truthfulness guardrails
The engine refuses to:
Emit any date not present verbatim in the input
Invent numbers, percentages, or dollar amounts (unambiguous arithmetic on input numbers is allowed, e.g. "5 days → 2 days" may be restated as "60% reduction")
Add seniority words ("Senior", "Lead", "Principal", "Director") to job titles the candidate didn't hold
Compute "X+ years of experience" from work-history dates
A truthful resume without a number beats a fabricated one with a fake number.
Companion kit
The same pay-what-you-want purchase includes the full kit: ATS-safe resume template, 7-step writing guide, 54-bullet quantified bullet bank across 9 roles, cover letter framework with worked examples, LinkedIn checklist, and STAR interview prompts.
License
MIT © SokoTech
Available Tools
2 toolsget_access_infoA
Get information about the ATS Resume Writer: how to obtain an access code (pay-what-you-want, $0 works), what the rewrite engine does, current configuration status, and the companion resume kit. Call this when rewrite_resume reports a missing or invalid access code.
Inputs: no named parameters.
rewrite_resumeA
Rewrite a resume to maximize its ATS match score (Workday, Greenhouse, iCIMS, Taleo) against a specific job description. Strict truthfulness guardrails: never invents dates, metrics, titles, or seniority levels not present in the input. Returns the rewritten resume as ATS-safe plain text and/or structured JSON. Requires an access code (ACCESS_CODE env) — if missing, call get_access_info for how to get one.
Inputs: resume (required), job_description (required), format.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have completely different purposes: one provides information about access and configuration, the other performs the actual resume rewriting. No ambiguity between them.
Both tools follow a consistent verb_noun snake_case pattern (get_access_info, rewrite_resume), making the naming predictable and clear.
With only two tools, the server feels scoped very narrowly. While the core functionality is present, the domain suggests potential for additional tools (e.g., list templates, validate resume), making it borderline thin.
The server covers the main rewrite and access info, but lacks tools for managing multiple resumes, checking access code validity independently, or exploring companion resources. Minor gaps exist.
Maintenance
Related MCP Connectors
Workday, Greenhouse & Lever ATS Resume Keyword Optimizer & DOCX/PDF Kit ($1 USDC).
ATS resume checker and AI resume builder: score, tailor to a job, cover letters, PDF export.
Score and tailor your CV/resume against a job posting — for AI agents and humans, no-login trial.
Build an ATS-friendly resume and check it against a job description, fully offline.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAutomates ATS resume scanning via Jobscan, enabling AI to iteratively scan, analyze gaps, optimize, and rescan resumes against job descriptions to improve match rates.3-
- FlicenseAqualityDmaintenanceEnables tailoring resumes to job descriptions by scraping JDs, applying rules, and generating optimized DOCX resumes.11-
- AlicenseAqualityCmaintenanceTailor your CV to any job posting with ATS keyword scoring and clean PDF/DOCX export.63MIT
- AlicenseNot gradedqualityDmaintenanceEnables resume review against job descriptions through a three-stage pipeline: match scoring, experience rewriting, and ATS optimization. Supports text or document uploads.5 npmMIT