ATS Scanner MCP Server
Automates ATS resume scanning via Jobscan, enabling AI to iteratively scan, analyze gaps, optimize, and rescan resumes against job descriptions to improve match rates.
README
ATS Scanner MCP Server
An MCP (Model Context Protocol) server that automates ATS resume scanning through Jobscan. Connect it to Claude (or any MCP-compatible AI assistant) and let it scan, analyze gaps, optimize, and rescan your resume against any job description automatically.
What It Does
Instead of manually copying your resume and job description into an ATS scanner, reading the gaps, editing, and rescanning over and over, this server lets Claude do the entire loop:
- Scan your resume against a job description
- Read the gaps (missing hard skills, soft skills, keyword matches)
- Edit the resume to close those gaps
- Rescan to verify the score improved
- Repeat until the match rate hits your target (e.g., 90%+)
All in one conversation. No tab switching. No manual copy-paste.
Tools Exposed
| Tool | Description |
|---|---|
jobscan_login |
Authenticate with Jobscan. Auto-runs on first scan if not called explicitly. |
jobscan_scan |
Scan a resume against a job description. Returns match rate, found/missing skills. |
jobscan_rescan |
Rescan with an updated resume (JD already loaded from previous scan). Faster than a full scan. |
jobscan_get_gaps |
Get a focused list of missing keywords from the most recent scan. |
jobscan_raw_results |
Get the full raw scan results as JSON for detailed analysis. |
Prerequisites
- Node.js 18+
- A Jobscan account (free or paid)
- Chrome/Chromium installed (Playwright uses it in headed mode for Cloudflare bypass)
Setup
-
Clone the repo:
git clone https://github.com/jhansy29/ats-scanner-mcp.git cd ats-scanner-mcp -
Install dependencies:
npm install npx playwright install chromium -
Create your
.envfile:cp .env.example .envThen edit
.envwith your Jobscan credentials:JOBSCAN_EMAIL=your-email@example.com JOBSCAN_PASSWORD=your-password -
Build:
npm run build
Connect to Claude
Add this to your Claude MCP config (e.g., claude_desktop_config.json or .claude/settings.json):
{
"mcpServers": {
"ats-scanner": {
"command": "node",
"args": ["path/to/ats-scanner-mcp/dist/index.js"]
}
}
}
Usage
Once connected, just tell Claude:
"Here's my resume and the job description. Scan it, find the gaps, update the resume, and rescan until it's above 90%."
Claude will call the MCP tools in sequence to handle the full optimization loop.
Important: Build a Knowledge Base First
This works best when the AI has access to a knowledge base of your real experiences, projects, and bullet variants. Without it, the AI is guessing when it edits. With it, every optimization is grounded in work you actually did. No fabrication, just better keyword alignment.
How It Works
- Uses Playwright to automate a real Chrome browser session with your Jobscan credentials
- Launches Chrome in headed mode to handle Cloudflare verification
- Parses scan results (match rate, hard/soft skill gaps, searchability, recruiter tips) and returns structured data to the AI
- The
rescantool reuses the existing session so the JD stays loaded, making iterations fast
Tech Stack
- TypeScript
- Model Context Protocol SDK
- Playwright
- Zod for input validation
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.