Ermöglicht es einem KI-Assistenten, Lebensläufe mithilfe einer deterministischen Rubrik zu analysieren und zu bewerten, um zu simulieren, wie Applicant Tracking Systems diese lesen.
Auch bekannt als VeriWorkly/ats-engine, ats-engine, @veriworkly/ats-engine-mcp
- Stars
- 3
- Tools
- 5
- Downloads, 30 Tage
- —
- Neueste Version
- 0.15.1
- Letzter Commit
- 28. Okt. 2026
- Lizenz
- MIT
Was ist ATS Engine MCP?
ATS Engine ist ein MCP server. Ermöglicht es einem KI-Assistenten, Lebensläufe mithilfe einer deterministischen Rubrik zu analysieren und zu bewerten, um zu simulieren, wie Applicant Tracking Systems diese lesen. Er stellt 5 Tools bereit, etwa check_resume, match_job, explain_rule.
Zusammenfassung generiert aus dem README des Projekts
Über ATS Engine MCP server
Jobsuchende können ihre Lebensläufe bewerten, indem sie simulieren, wie Applicant Tracking Systems Dokumente verarbeiten – und zwar über Claude, Cursor, VS Code Copilot oder Claude Desktop. Durch die Nutzung der Tools check_resume und match_job erhalten Nutzer einen Readiness-Score basierend auf einer deterministischen Rubrik statt auf der bloßen Meinung eines KI-Modells. Das stellt sicher, dass dieselbe Datei immer denselben Score erhält, was eine konsistente Methode bietet, um Formatierungsfehler oder fehlende Keywords zu identifizieren.
Der Server läuft lokal auf deiner Maschine über Node.js 22.12 oder neuer via npx. Er verarbeitet verschiedene Dateitypen wie PDF, DOCX und Markdown und kann sogar das Verhalten spezifischer Anbieter wie Greenhouse, Lever oder Taleo simulieren. Da der Server über stdio arbeitet und keine Netzwerkverbindungen aufbaut, bleiben deine Dateien auf deinem Computer; lediglich der extrahierte Text wird an den Model Provider deines KI-Assistenten gesendet.
Was du damit machen kannst
- 1Genauigkeit des Resume-Parsings prüfenLass dir von deinem Assistenten genau zeigen, wie ein ATS deinen Lebenslauf Zeile für Zeile liest, um Layout-Probleme zu finden.
- 2Lebenslauf mit Stellenbeschreibungen vergleichenFinde heraus, wie gut dein aktueller CV zu einer spezifischen Stellenausschreibung passt, und identifiziere fehlende Hard oder Soft Skills.
- 3Fehler bei der Bewertung debuggenErfahre genau, warum ein bestimmter Teil deines Lebenslaufs eine Prüfung nicht bestanden hat und wie du ihn korrigierst.
- 4Regionale Unterschiede in der Bewertung verstehenLerne, wie verschiedene Länder spezifische Elemente im Lebenslauf, wie zum Beispiel Fotos, gewichten.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du ATS Engine MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenATS Engine MCP in Claude Code installieren
$ claude mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcpATS Engine MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}ATS Engine MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"ats-engine": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}ATS Engine MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"ats-engine","type":"stdio","command":"npx","args":["-y","@veriworkly/ats-engine-mcp"]}'ATS Engine MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}ATS Engine MCP in Codex installieren
$ codex mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcpATS Engine MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.ats-engine] command = "npx" args = ["-y", "@veriworkly/ats-engine-mcp"]
ATS Engine MCP in Gemini CLI installieren
$ gemini mcp add -s user ats-engine npx -- -y @veriworkly/ats-engine-mcpATS Engine MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}ATS Engine MCP tools 5
Erkannt aus dem READMEcheck_resumematch_jobexplain_ruleextract_textlanguage
| check_resume | — | |
| match_job | — | |
| explain_rule | — | |
| extract_text | — | |
| language | — |
Automatisierte Checks
Geluften am 13. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarBestanden
- Open Source Lizenz (OSI)Bestanden
- Commit oder Release im letzten JahrBestanden
- Package-Name ähnelt keinem populären PackageBestanden
- Remote Endpoint nutzt HTTPSNicht geprüft
- Destruktive Tools sind markiertBestanden
- Keine versteckten Anweisungen an das ModellBestanden
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenBestanden
README
Auf GitHub ansehenATS Engine MCP server
An MCP server that lets an AI assistant (Claude, Cursor, VS
Code Copilot and others) read your own resume the way an applicant tracking system (ATS)
does, and score it with @veriworkly/ats-engine's published, deterministic
rubric.
Setup for each client, every tool and its inputs, and example prompts: docs.veriworkly.com/ats-engine/tools/mcp.
Ask your assistant things like "check my resume at ~/Documents/cv.pdf", "how well does it match this job posting?", "why did it fail the date check?" or "show me how an ATS reads my resume".
The score comes from the rubric (RUBRIC.md), not from a model. The same file always gets the same score. The assistant explains the result and helps you fix what failed.
Install
You need Node.js 22.12 or later. Every client below runs the server with
npx -y @veriworkly/ats-engine-mcp.
Claude Code
claude mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcp
On native Windows (not WSL), wrap npx in cmd /c:
claude mcp add ats-engine -- cmd /c npx -y @veriworkly/ats-engine-mcp
Claude Desktop
Open Settings → Developer → Edit Config, add the server to claude_desktop_config.json, and
restart Claude Desktop:
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": ["-y", "@veriworkly/ats-engine-mcp"]
}
}
}
Cursor
Add it to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": ["-y", "@veriworkly/ats-engine-mcp"]
}
}
}
VS Code
Add it to .vscode/mcp.json in your workspace, or run MCP: Add Server from the Command
Palette:
{
"servers": {
"ats-engine": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@veriworkly/ats-engine-mcp"]
}
}
}
Tools
| Tool | Input | Returns |
|---|---|---|
check_resume |
path or text; optional job_path or job_text; optional region; optional target_ats |
Readiness score (0–100), verdict, category scores (writing style included), every failed check with its evidence and fix, and the fields an ATS stores (name, contact, roles, education, skills; the structured parsed also holds certifications and spoken languages with their CEFR level). With a posting: job match, requirements and keywords too. Then advice, which is not scored. |
match_job |
path or text; job_path or job_text (required); optional region |
Job match score, each requirement judged met / partial / missing / unverifiable with evidence, and the missing keywords, hard skills and soft skills apart (soft skills weigh less). |
explain_rule |
rule_id; optional region |
One rubric rule: category, severity, what it checks, points, how to fix it. With a region, as that country weighs it (a photo is worth 6 points in the US and is not scored in Germany). An unknown id lists the valid ones. |
extract_text |
path or text; optional region |
The text in the order an ATS reads it, line by line, plus what the layout measured (columns, tables, hidden text). For "why did it read my resume like this?" |
Every tool returns readable text for the assistant and its result as structured JSON
(structuredContent, described by each tool's outputSchema).
The resource rubric://default is the whole rubric as JSON.
Inputs.
- Resume files:
.pdf,.docx,.html,.txt,.md, or a.jsonJSON Resume or ats-resume document. Postings:.txt,.md,.pdf,.docx, or a saved.htmlpage; ajob_pathof any other type is refused, since a posting's words come back in the answer. - Give absolute paths.
~/is read as your home folder; any other relative path is read from the folder the server was started in. - Pasted
textandjob_textmay be up to 200 000 characters. A posting, pasted or read fromjob_path, is scored on its first 20 000 characters; a longer one is cut there, andcheck_resume'sparsingWarningssays so. - Files over 20 MB are refused, and so are folders, pipes, devices and network paths
(
\\host\share\…; on Windows also//host/share/…). So is a PDF with no text layer: an ATS cannot read a scan either. language(check_resume,match_job) isen,de,fr,hi,esorpt;enreads English only. Without it, the language is detected from the resume and from the posting. It sets the language of both, so give it only when the resume was read in the wrong one:enwith a German posting reads the posting as English too.regionisUS,GB,DE,FR,IN,ES,BR,PT,MX,AR,COorCL. Without it, the region is inferred from the resume.target_atsisgreenhouse,leverortaleo. It adds what that vendor documents publicly, each note with a link to the vendor's page. It never changes the score.
Advice. check_resume ends with advice, a list that is never scored. For a file (not
pasted text) it covers the name (Resume_final_v3 (2).pdf reads as a draft; a Firstname-Lastname-Resume.pdf name is
suggested), a size over 2 MB, a password, and tracked changes or comments left in a Word
document. For a US resume it also covers details that can invite age bias. With target_ats it
adds the vendor's notes.
Privacy
The server runs on your computer, over stdio. It makes no network requests and calls no AI model. It reads only the files you name in a request, a PDF, DOCX or HTML file in a separate process that is stopped after 60 seconds or when the request is cancelled, as many at once as your computer has CPU cores, and nothing leaves your machine except what your assistant itself sends to its model provider: the tool results it reads, which include text from your resume.
Intended use
[!IMPORTANT] This is a tool for candidates to check their own resume. Do not use it to screen, rank or reject other people. Using it that way may make it an automated employment decision tool under laws such as New York City Local Law 144 and the EU AI Act, which carry duties this package does not meet for you. See Intended use.
A score measures how well a resume parses and reads. It says nothing about the person.
From source
git clone https://github.com/VeriWorkly/ats-engine.git
cd ats-engine
npm ci
npm run build
claude mcp add ats-engine -- node "$PWD/packages/mcp/dist/index.js"
License
MIT
ATS Engine MCP Fragen
Wie füge ich ATS Engine MCP zu Claude Code hinzu?
Führe claude mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcp in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich ATS Engine MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Welche Tools bietet ATS Engine MCP?
Er stellt 5 Tools bereit, darunter check_resume, match_job, explain_rule, extract_text, language.
Werden meine Daten in die Cloud gesendet?
Nein, der Server läuft lokal auf deinem Computer via stdio und stellt keine Netzwerkverbindungen her; nur die Tool-Ergebnisse werden an den Model Provider deines Assistenten gesendet.