Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Read your own resume the way an ATS does and score it with a published, deterministic rubric.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add ats-engine -- npx -y @veriworkly/ats-engine-mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"ats-engine": {
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"ats-engine": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@veriworkly/ats-engine-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub VeriWorkly, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.15.1) llegó al registro hace 9 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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](https://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.
You need Node.js 22.12 or later. Every client below runs the server with npx -y @veriworkly/ats-engine-mcp.
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
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"] } } }
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"] } } }
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"] } } }
| 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.
.pdf, .docx, .html, .txt, .md, or a .json JSON Resume or ats-resume document. Postings: .txt, .md, .pdf, .docx, or a saved .html page; a job_path of any other type is refused, since a posting's words come back in the answer.~/ is read as your home folder; any other relative path is read from the folder the server was started in.text and job_text may be up to 200 000 characters. A posting, pasted or read from job_path, is scored on its first 20 000 characters; a longer one is cut there, and check_resume's parsingWarnings says so.\\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) is en, de, fr, hi, es or pt; en reads 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: en with a German posting reads the posting as English too.region is US, GB, DE, FR, IN, ES, BR, PT, MX, AR, CO or CL. Without it, the region is inferred from the resume.target_ats is greenhouse, lever or taleo. 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.
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.
[!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.
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"
MIT