AIアシスタントが決定論的なルーブリックを用いて履歴書を分析・スコアリングし、採用管理システム(ATS)による読み取りをシミュレートします。
別名 VeriWorkly/ats-engine, ats-engine, @veriworkly/ats-engine-mcp
- スター
- 3
- ツール
- 5
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.15.1
- 最終コミット
- 2026年10月28日
- ライセンス
- MIT
ATS Engine MCPとは
ATS EngineはMCPサーバーです。 AIアシスタントが決定論的なルーブリックを用いて履歴書を分析・スコアリングし、採用管理システム(ATS)による読み取りをシミュレートします。. 5個のツールを提供しており、check_resume, match_job, explain_ruleなどがあります。
プロジェクトのREADMEから生成された概要
ATS Engine MCP server について
求職者は、Claude、Cursor、VS Code Copilot、またはClaude Desktopを通じて、採用管理システム(ATS)がどのようにドキュメントを処理するかをシミュレートすることで、自身の履歴書を評価できます。check_resumeおよびmatch_jobツールを使用することで、AIモデルの主観的な意見ではなく、決定論的なルーブリックに基づいた準備状況スコアを受け取ることができます。これにより、同じファイルに対して常に同じスコアが付与されることが保証され、フォーマットエラーやキーワードの不足を一貫した方法で特定できます。
このサーバーは、npxを使用してNode.js 22.12以降でローカルマシン上で動作します。PDF、DOCX、Markdownを含むさまざまなファイル形式を処理でき、Greenhouse、Lever、Taleoといった特定のベンダーの挙動をシミュレートすることも可能です。サーバーはstdioを介して動作し、ネットワークリクエストを行わないため、ファイルはコンピュータ内に保持されます。抽出されたテキストのみがAIアシスタントのモデルプロバイダーに送信されます。
できること
- 1履歴書の解析精度の検証レイアウトの問題を見つけるために、ATSが履歴書をどのように1行ずつ読み取るかをアシスタントに示させます。
- 2履歴書と職務記述書の比較現在の履歴書が特定の求人票にどの程度適合しているかを判断し、不足しているハードスキルやソフトスキルを特定します。
- 3スコアリング失敗のデバッグ履歴書の特定の箇所がなぜチェックに失敗したのか、その正確な理由と修正方法を確認します。
- 4地域によるスコアリングの違いの把握国によって、写真などの履歴書の特定の要素がどのように評価されるかを確認します。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
ATS Engine MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにATS Engine MCPをインストール
$ claude mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcpCursorにATS Engine MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}VS CodeにATS Engine MCPをインストール
.vscode/mcp.json
{
"servers": {
"ats-engine": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}VS Code CLIにATS Engine MCPをインストール
$ code --add-mcp '{"name":"ats-engine","type":"stdio","command":"npx","args":["-y","@veriworkly/ats-engine-mcp"]}'Claude DesktopにATS Engine MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}CodexにATS Engine MCPをインストール
$ codex mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcpCodex config.tomlにATS Engine MCPをインストール
~/.codex/config.toml
[mcp_servers.ats-engine] command = "npx" args = ["-y", "@veriworkly/ats-engine-mcp"]
Gemini CLIにATS Engine MCPをインストール
$ gemini mcp add -s user ats-engine npx -- -y @veriworkly/ats-engine-mcpGemini settings.jsonにATS Engine MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}ATS Engine MCPツール 5
READMEから検出check_resumematch_jobexplain_ruleextract_textlanguage
| check_resume | — | |
| match_job | — | |
| explain_rule | — | |
| extract_text | — | |
| language | — |
自動チェック
実行日 2026年11月13日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能合格
- オープンソースライセンス (OSI)合格
- 過去1年以内にコミットまたはリリースあり合格
- パッケージ名が有名なパッケージに酷似していない合格
- リモートエンドポイントがHTTPSを使用未チェック
- 破壊的なツールがラベル付けされている合格
- モデルへの隠れた指示がない合格
- パッケージおよびその依存関係に重大な勧告なし合格
README
GitHubで見るATS 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のよくある質問
ATS Engine MCPをClaude Codeに追加するには
ターミナルでclaude mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
ATS Engine MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
ATS Engine MCPが提供するツールは
5個のツールを提供しており、check_resume, match_job, explain_rule, extract_text, languageなどがあります。
データはクラウドに送信されますか?
いいえ、サーバーはstdioを介してローカル環境で動作し、ネットワークリクエストは行いません。ツールの実行結果のみがアシスタントのモデルプロバイダーに送信されます。