ATS Scanner MCP Server

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.

Category
Visit Server

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:

  1. Scan your resume against a job description
  2. Read the gaps (missing hard skills, soft skills, keyword matches)
  3. Edit the resume to close those gaps
  4. Rescan to verify the score improved
  5. 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

  1. Clone the repo:

    git clone https://github.com/jhansy29/ats-scanner-mcp.git
    cd ats-scanner-mcp
    
  2. Install dependencies:

    npm install
    npx playwright install chromium
    
  3. Create your .env file:

    cp .env.example .env
    

    Then edit .env with your Jobscan credentials:

    JOBSCAN_EMAIL=your-email@example.com
    JOBSCAN_PASSWORD=your-password
    
  4. 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 rescan tool reuses the existing session so the JD stays loaded, making iterations fast

Tech Stack

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured