Pandapé MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pandapé MCPRevisa los candidatos de la vacante 4821 y dime cuáles cumplen 3 años de experiencia"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pandapé MCP
Servidor MCP para gestión de reclutamiento sobre la API oficial de Pandapé v2 (ATS de Grupo Redarbor). Pensado para que Claude revise candidatos contra los criterios que tú le indiques.
Estado
Servidor MCP | ✅ funciona (handshake, 11 tools, errores limpios) |
Compilación y self-check | ✅ |
Descarga de CV por cookies | ✅ probada end-to-end (incluidos los modos de fallo) |
Llamadas reales a Pandapé | ⛔ bloqueado: faltan credenciales OAuth2 |
Todo está implementado y probado salvo lo único que no se resuelve desde el código:
client_id / client_secret. Se piden al Customer Success Specialist de tu cuenta.
Related MCP server: Ashby MCP
La API (verificado)
La API oficial existe y está documentada, aunque no se anuncie públicamente. Hay tres versiones:
Spec | Rutas | Nota |
| 60 | No permite listar candidatos de una vacante |
| 68 | La que usa este proyecto |
| 6 | Nicho (análisis de entrevistas, requisiciones) |
ATS web: https://ats.pandape.com (login en login.pandape.com) · Base de API: https://api.pandape.com.br · Auth: OAuth2 client_credentials (IdentityServer), scope PandapeApi.
LATAM:
https://login.pandape.com/connect/tokenBrasil:
https://login.pandape.com.br/connect/token
Ambos aceptan el grant (responden invalid_client con credenciales falsas, no unsupported_grant_type).
Descripciones del spec en portugués.
⚠️ Host de API y región. Solo resuelve
api.pandape.com.br;api.pandape.comno existe en DNS, aunque el token LATAM sí sale delogin.pandape.com. Confirma con tu CS qué host corresponde a tu cuenta de Perú y ajustaPANDAPE_API_URL.
Detalles que cuestan una tarde si no los sabes
PATCH /v2/matches/{idMatch}/update(mover de etapa) exigemultipart/form-data, no JSON — lleva un campoPhotobinario opcional. Con JSON falla.pandape_endpointsmuestra elcontentTypede cada endpoint con cuerpo; míralo antes de usarpandape_api.La API v2 no expone el CV en PDF. Expone algo mejor para evaluar: el CV como datos estructurados.
Revisar candidatos con tus criterios
pandape_revisar_candidatos trae el pool de una vacante con el CV ya estructurado:
resumen profesional, experiencias (puesto, empresa, fechas, actividades), estudios, habilidades,
idiomas, meses de experiencia, expectativa salarial, disponibilidad, y el Affinity que calcula Pandapé.
Flujo típico en Claude:
1. "Lístame las vacantes activas" → pandape_listar_vacantes (estado 2)
2. "¿Qué etapas tiene la vacante 4821?" → pandape_etapas_vacante
3. "Revisa los candidatos nuevos de la 4821 y
clasifícalos: necesito 3+ años en nómina,
Excel avanzado y que viva en Lima" → pandape_revisar_candidatos
4. "Dame el contacto de los tres mejores" → pandape_ver_candidato
5. "Mueve esos tres a Entrevista" → pandape_mover_candidato (requiere READONLY=0)Sesgo y minimización de datos
pandape_revisar_candidatos omite deliberadamente CPF, fecha de nacimiento, sexo, identidad de
género, orientación sexual, raza, discapacidad, estado civil, hijos, dirección y contacto. No aportan
al criterio profesional y su presencia sesgaría la evaluación. El contacto sale por
pandape_ver_candidato cuando ya decidiste avanzar con alguien concreto.
El self-check verifica esa exclusión (npm run check), así que no se rompe por accidente.
Uso rápido (sin credenciales de API): tu cookie del navegador
Funciona hoy con tu sesión del ATS, sin esperar credenciales:
npm ci && npm run build
# exporta la cookie del ATS con la extensión Cookie-Editor (Export → Netscape)
npm run set-cookie -- /ruta/cookies.txt # guarda en .auth/ (600) y VERIFICA la sesiónLuego, con el MCP registrado, el flujo es:
pandape_web_candidatos { idVacante }— candidatos de una vacante (idVacante = número de la URL del proceso).pandape_web_cv { idMatch }— CV completo en texto, listo para evaluar por criterios.pandape_web_descargar_cv { idMatch }— guarda el CV imprimible (HTML → PDF desde el navegador).
La cookie caduca con tu sesión; cuando pandape_diagnostico avise, re-exporta y vuelve a correr set-cookie.
Guía completa para operarlo (incluso para otro agente) en CLAUDE.md.
Descargar el PDF del CV
La API oficial no expone el documento del CV en ninguna de las tres versiones. Verificado:
CandidateResumeModel es solo datos, y los únicos campos de descarga que existen
(RequestDetailDocument.DownloadUrl, PreCollaboratorDocumentModel.Link) son de documentos de
requisiciones y de pre-colaboradores, no del pool de postulantes.
Así que el PDF va por cookies de tu sesión del ATS (pandape_descargar_cv). Configuración de una
sola vez:
1. La URL de descarga. En el ATS abre un candidato, clic derecho en el botón de descarga del CV →
Copiar dirección del enlace. Reemplaza el id por {idMatch} (o {idCandidate}):
PANDAPE_CV_URL="https://ats.pandape.com/Candidate/DownloadCv?idMatch={idMatch}"2. Las cookies. DevTools → Application → Cookies, o una extensión tipo Cookie-Editor. Dos formas:
PANDAPE_COOKIE="ASPNET_SessionId=…; .AspNetCore.Cookies=…" # cabecera cruda
PANDAPE_COOKIE_FILE="/ruta/cookies.json" # o un archivoEl archivo acepta cabecera cruda, JSON [{name,value}] de extensiones, o un storageState de
Playwright. Caducan con tu sesión: cuando expiren, el error te lo dice y las re-exportas.
Los documentos se guardan en PANDAPE_CV_DIR (por defecto ./cv). El nombre se sanea siempre, así
que la tool no puede escribir fuera de ese directorio. Se verifica la firma binaria: si el ATS
devuelve el HTML del login en vez del PDF, falla con un mensaje claro en vez de guardar basura
con extensión .pdf.
Para clasificar candidatos por criterios no necesitas el PDF:
pandape_revisar_candidatosya trae el CV como datos estructurados. Usa la descarga cuando quieras el documento original.
Puesta en marcha
npm install
npm run spec # descarga swagger.json (v2 por defecto)
npm run build
npm run check # self-check sin redConfiguración
Variable | Default | Descripción |
| — | Requerido. Lo entrega tu CS. |
| — | Requerido. |
|
| Host de la API |
|
| LATAM por defecto |
|
| |
|
|
|
|
| Ruta del spec |
| — | Plantilla de descarga del CV, con |
| — | Cookies de sesión del ATS (cabecera cruda) |
| — | …o archivo con las cookies |
|
| Dónde se guardan los PDFs |
| spec v2 | Solo para |
Registro en Claude Code / Desktop
{
"mcpServers": {
"pandape": {
"command": "node",
"args": ["/home/jairo/Documentos/pandape-mcp/dist/index.js"],
"env": {
"PANDAPE_CLIENT_ID": "…",
"PANDAPE_CLIENT_SECRET": "…",
"PANDAPE_TOKEN_URL": "https://login.pandape.com/connect/token",
"PANDAPE_API_URL": "https://api.pandape.com.br"
}
}
}
}Tools
Tool | Qué hace |
| Verifica credenciales, token y una llamada real. Empieza por aquí. |
| Vacantes con filtro de estado ( |
| Etapas del pipeline de una vacante |
| Pool de una vacante con el CV estructurado, listo para evaluar |
| Detalle completo con contacto, para un candidato concreto |
| Killer questions de la vacante |
| Mueve de etapa (escritura, multipart) |
| Descarga el PDF del CV vía cookies de sesión |
| Documentos de un pre-colaborador (el único caso con enlaces vía API) |
| Explora las 68 rutas del spec |
| Llama cualquier ruta, validada contra el spec |
Las dos últimas cubren lo que no tiene tool propia (requisiciones, finalistas y sus evaluaciones, clientes, sedes, usuarios, plantillas de vacante, diccionarios, campos personalizados) sin escribir 68 wrappers.
Seguridad y datos personales
Solo lectura por defecto. Las escrituras exigen
PANDAPE_READONLY=0explícito.El
client_secretva en la config del cliente MCP, nunca en el repo.Datos de candidatos = datos personales (Ley 29733 en Perú). La evaluación asistida por IA de personas conviene documentarla: criterios explícitos, evidencia citada y decisión humana al final.
legacy/
Scaffold anterior que hablaba con la SPA vía Playwright, archivado sin borrar (está en el primer commit de git). Se abandonó porque:
Asumía una SPA con API JSON en
/api/v1/*. Pandapé es ASP.NET Core MVC sobre IIS con Razor yjquery.unobtrusive-ajax: devuelve HTML, y/api/da 404.Sus escrituras no enviaban
__RequestVerificationToken, así que habrían fallado con antiforgery.Existiendo API oficial que cubre el caso de uso, el scraping añade riesgo legal y fragilidad sin aportar nada.
Ya no hace falta ni para el PDF: pandape_descargar_cv cubre ese caso con cookies y sin
dependencias de navegador. Rescátalo solo si las cookies resultan demasiado incómodas de renovar y
prefieres un login automatizado (requiere npm i playwright).
Available Tools
14 toolspandape_apiA
Llama cualquier endpoint de la API de Pandapé validando la ruta contra el spec OpenAPI. Úsalo para lo que no cubren las tools con nombre (requisiciones, finalistas, sedes, clientes, plantillas de vacante, diccionarios). Descubre rutas con pandape_endpoints. Ojo: los endpoints marcados multipart/form-data necesitan 'form', no 'body'.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Cuerpo JSON | |
| form | No | Cuerpo multipart/form-data | |
| ruta | Yes | Ruta concreta, ej: /v2/requests o /v2/matches/12345 | |
| query | No | ||
| metodo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It reveals that the tool validates routes against the OpenAPI spec, acts as a fallback, and has a multipart/form-data nuance. It does not mention authentication, rate limits, or error handling, but for a generic API passthrough these are secondary. The disclosed behaviors are meaningful and not obvious from the schema alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the first states the core function, the second gives usage context and exclusions, the third warns about a critical parameter misuse. Information is front-loaded and the warning is an appropriate last note. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a generic API caller with no output schema and no annotations, the description covers the essential usage aspects: what it does, when to use it, how to discover routes, and a key parameter pitfall. It does not enumerate all possible endpoints, but that would be impractical; the reference to the OpenAPI spec and sibling discovery tool suffices. Slightly more detail on auth/errors could push it to 5, but it is complete for its intended breadth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% (only body and ruta have explicit descriptions), so the description adds value by clarifying the 'form' vs 'body' distinction and giving an example ruta ('/v2/requests'). It does not explain 'metodo' or 'query', but their meanings are largely inferable from names and enum values. Overall, the description compensates for the schema's gaps without re-stating what is already clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Llama cualquier endpoint de la API de Pandapé validando la ruta contra el spec OpenAPI' – a specific verb (calls), resource (any Pandapé API endpoint), and distinguishing scope (validates against OpenAPI). It also explicitly contrasts with named sibling tools, positioning itself as the catch-all fallback. This fully distinguishes it from the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Úsalo para lo que no cubren las tools con nombre' and lists example resource types. It also directs users to 'Descubre rutas con pandape_endpoints' for route discovery and warns about multipart/form-data requiring 'form' instead of 'body'. This gives clear decision-making context and avoids ambiguity with specialized siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_descargar_cvA
Descarga el documento del CV (PDF) de un candidato usando las cookies de tu sesión del ATS, y devuelve la ruta local para poder leerlo. La API oficial NO expone el CV como documento en ninguna versión, así que esto requiere PANDAPE_CV_URL + PANDAPE_COOKIE(_FILE). Para clasificar candidatos por criterios normalmente NO lo necesitas: pandape_revisar_candidatos ya trae el CV como datos estructurados. Usa esto cuando necesites el documento original.
| Name | Required | Description | Default |
|---|---|---|---|
| idMatch | No | ID de la candidatura | |
| idCandidato | No | ID del candidato, si tu plantilla usa {idCandidate} | |
| nombreArchivo | No | Nombre del archivo (sin ruta). Por defecto cv-<id>.pdf |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses the cookie-based session requirement (PANDAPE_CV_URL + PANDAPE_COOKIE(_FILE)), states that the official API does not expose CVs, and explains the return value (local path). This gives the agent sufficient context about authentication and operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, required environment/limitation, and use cases. No redundant wording, front-loaded with the main action. Excellent conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (custom auth, unofficial behavior, specific output), the description covers all essential aspects: what it does, prerequisites, limitations, when to use vs. alternatives, and return format. Even without an output schema, the description states the local path return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well documented in the schema. The description adds no parameter-specific detail, but it doesn't need to; the schema already explains idMatch, idCandidato, and nombreArchivo. Baseline 3 is appropriate because the description does not add semantic value beyond the structured field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Descarga el documento del CV (PDF) de un candidato' (Downloads the CV PDF document of a candidate). It clearly distinguishes itself from siblings by noting that the official API doesn't expose the CV and that pandape_revisar_candidatos provides structured CV data, while this tool gets the original document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Para clasificar candidatos por criterios normalmente NO lo necesitas' (for criteria-based screening you normally don't need it) and 'Usa esto cuando necesites el documento original' (use this when you need the original document). It also names the alternative tool pandape_revisar_candidatos.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_diagnosticoA
Verifica configuración y conectividad con la API de Pandapé: credenciales, token y una llamada real de prueba. Úsalo primero si algo falla.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses key behaviors: verifies credentials, token, and performs a real test call ('una llamada real de prueba'). While it doesn't explicitly confirm read-only behavior or describe the output format, it provides meaningful transparency about what the tool actually does beyond a generic 'check'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, action-focused sentence that immediately states the verb and purpose. It is concise, well-structured, and every part adds value: what is verified, the specific components (credentials, token, real call), and the usage priority.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter diagnostic tool with no output schema or annotations, the description is largely complete. It explains the purpose, what is checked, and when to use it. It could enhance completeness by briefly stating what the result looks like or how to interpret the diagnostic, but that is not critical for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 per the rubric. The description does not need to explain parameter meaning, and no additional parameter context is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Verifica' (verifies) and clearly identifies the resource: configuration and connectivity with the Pandapé API, including credentials, token, and a real test call. This distinguishes it from sibling tools like pandape_listar_vacantes or pandape_revisar_candidatos, which focus on data operations rather than diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'Úsalo primero si algo falla' (Use it first if something fails), clearly indicating when to invoke this tool. It lacks explicit statements about when not to use it or named alternatives, but the diagnostic context and 'primero' make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_documentos_precolaboradorA
Lista los documentos de un pre-colaborador (candidato ya en proceso de contratación) con sus enlaces de descarga. Este es el único caso donde la API oficial sí expone documentos.
| Name | Required | Description | Default |
|---|---|---|---|
| idPreColaborador | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly indicates a read operation ('Lista') and adds context about being the unique official API exposure. However, it lacks details on error handling, authentication requirements, or behavior with invalid IDs, which are not covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that convey purpose, scope, and a unique caveat without any waste. Every word contributes meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one parameter, the description covers the main behavior and result type (download links). It does not describe output structure or pagination, but given the simplicity and the explicit mention of links, it is mostly complete. A fuller description would mention error cases or empty result behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the concept of a pre-colaborador, which clarifies the meaning of idPreColaborador, but does not explicitly discuss where to find the ID or any validation rules. The description adds some context beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists documents of a pre-colaborador (candidate in hiring process) with download links. It also distinguishes from siblings by noting this is the only case where the official API exposes documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the only tool for accessing documents, which indirectly tells the agent when to use it. It could be improved by explicitly stating when not to use it or naming alternative tools, but the 'only case' phrasing provides strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_endpointsA
Explora el catálogo de endpoints de la API de Pandapé (68 rutas: vacantes, candidatos, requisiciones, finalistas, clientes, sedes, usuarios, diccionarios, campos personalizados…). Devuelve método, ruta, parámetros y content-type. Usa el resultado con pandape_api.
| Name | Required | Description | Default |
|---|---|---|---|
| buscar | No | Filtra por texto en método, ruta o descripción. Ej: 'matches', 'requests', 'dictionaries' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are supplied, the description must disclose behavior on its own. It discloses the return format (método, ruta, parámetros, content-type) and uses 'Explora' and 'Devuelve', which imply a read-only operation. However, it omits any statement about side effects, authentication, or response size limits, leaving some uncertainty for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, using two sentences to convey purpose, scope, output, and usage guidance. It front-loads the main action, includes a useful enumeration of covered categories, and ends with a clear pointer to the sibling tool. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given its simplicity (one optional filter parameter, no output schema), the description is quite complete. It explains the domain coverage (68 routes across many entity types), the returned fields, and how to apply the result with pandape_api. Missing only explicit mention of how the optional filter works (covered by the schema) and any pagination behavior, but these are not critical for a catalog listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'buscar' has a complete schema description (100% coverage) explaining its filtering behavior and providing examples. The tool description itself does not mention this parameter, but per the rubric, high schema coverage yields a baseline of 3. The description adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb and resource: 'Explora el catálogo de endpoints de la API de Pandapé'. It distinguishes itself from sibling tools like pandape_api (which executes calls) by focusing on exploration and listing the returned data (method, route, parameters, content-type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this is a discovery tool and explicitly directs the user to use its result with pandape_api ('Usa el resultado con pandape_api'). However, it does not explicitly state when not to use it or compare it to alternative sibling tools, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_etapas_vacanteA
Lista las etapas del pipeline (VacancyFolders) de una vacante: IdVacancyFolder, nombre y orden. Necesario para filtrar candidatos y para moverlos.
| Name | Required | Description | Default |
|---|---|---|---|
| idVacante | Yes | IdVacancy de pandape_listar_vacantes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sin anotaciones, la descripción asume la responsabilidad de indicar que se trata de una operación de solo lectura mediante el verbo 'Lista'. Además, detalla los campos que devuelve (IdVacancyFolder, nombre, orden), lo que proporciona transparencia sobre el resultado. No menciona permisos o errores, pero para una operación de listado simple es suficiente.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
La descripción consta de dos oraciones claras y directas. La primera presenta la acción y el objeto, y la segunda justifica su utilidad. No hay palabras redundantes ni información superflua, cumpliendo con los criterios de brevedad y estructura front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Dada la simplicidad de la herramienta (1 parámetro, sin esquema de salida), la descripción cubre adecuadamente qué hace, qué devuelve y para qué sirve. Aunque podría incluir un ejemplo o aclarar el orden de los resultados, la mención de 'orden' como campo y el contexto de uso la hacen suficiente para que un agente la seleccione y ejecute.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
El esquema ya cubre el 100% del parámetro idVacante y su descripción ('IdVacancy de pandape_listar_vacantes') es informativa y referencia a otra herramienta. La descripción del tool no añade información sustancial sobre el parámetro más allá del contexto general de la vacante. Se otorga el puntaje base de 3 por la cobertura completa del esquema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La descripción utiliza un verbo específico ('Lista') y un recurso concreto ('las etapas del pipeline (VacancyFolders) de una vacante'), además de especificar los campos devueltos (IdVacancyFolder, nombre y orden). No menciona explícitamente herramientas hermanas, pero al indicar que es necesario para filtrar y mover candidatos, se distingue claramente de herramientas como pandape_mover_candidato.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
La frase 'Necesario para filtrar candidatos y para moverlos' ofrece contexto directo sobre cuándo utilizar esta herramienta: como prerequisito para acciones de filtrado o movimiento. Aunque no enumera alternativas o excepciones, sí establece un caso de uso claro y diferenciado de las herramientas hermanas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_listar_vacantesB
Lista las vacantes de la empresa: IdVacancy, cargo, ciudad, estado y fecha de publicación.
| Name | Required | Description | Default |
|---|---|---|---|
| estado | No | Filtro por estado. 1=PendingPublication, 2=Published, 3=Deactivated, 4=Deleted, 5=Requested, 6=Assigned, 7=Expired. Omite para todas. | |
| pagina | No | ||
| idVacante | No | Para traer una sola vacante | |
| porPagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only lists returned fields and does not disclose pagination behavior, default page size, or how the estado filter works. This leaves key behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that gets straight to the point. It is well-structured and free of unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with no output schema, the description lists the return fields, which is useful. However, it omits any mention of the filtering and pagination parameters that are available, relying solely on the schema to convey this. This is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about parameters, while schema coverage is 50%. It fails to compensate for the undocumented 'pagina' and 'porPagina' parameters, and it does not even mention that filtering by estado is possible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb and resource: 'Lista las vacantes de la empresa' (lists the company's vacancies) and enumerates the returned fields. This distinguishes it from sibling tools that operate on candidates or CVs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives, no context about filtering by estado or idVacante, and no mention of exclusions. It only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_mover_candidatoA
Mueve un candidato de una etapa del pipeline a otra. ESCRITURA: confirma con el usuario antes de ejecutar, y en lote confirma la lista completa. Requiere PANDAPE_READONLY=0.
| Name | Required | Description | Default |
|---|---|---|---|
| motivo | No | Razón, obligatoria si la etapa destino es de descarte | |
| idMatch | Yes | ||
| idVacante | Yes | ||
| etapaOrigen | Yes | IdVacancyFolder donde está ahora (ver pandape_etapas_vacante) | |
| etapaDestino | Yes | IdVacancyFolder al que se mueve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It clearly flags the operation as 'ESCRITURA' (write), mandates user confirmation, and requires PANDAPE_READONLY=0. This covers the essential safety and prerequisite context, though it does not detail side effects or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, then a concise safety instruction. No redundant information, perfectly sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with no output schema, the description captures the essential purpose, the mutation nature, and a critical confirmation requirement. It doesn't explain return values or error handling, but those are less critical for a move action. It would benefit from mentioning the motivo requirement for discard stages, but the schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes 60% of parameters (motivo, etapaOrigen, etapaDestino). The description adds little about parameters beyond implying the move action. idMatch and idVacante remain undocumented, but they are reasonably self-explanatory given the context. Without high schema coverage, the description does not fully compensate, but it is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Mueve un candidato de una etapa del pipeline a otra' (moves a candidate from one pipeline stage to another). This is a specific verb+resource+target, clearly distinguishing it from sibling tools like viewing candidates or listing vacancies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use (when you need to move a candidate) but does not explicitly discuss when to use it versus alternatives or provide exclusion criteria. It does include a usage caveat about confirming with the user and the PANDAPE_READONLY=0 requirement, but these are more about execution prerequisites than alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_preguntas_eliminatoriasA
Lista las preguntas eliminatorias (killer questions) configuradas en una vacante. Útil para saber qué se filtró antes de evaluar los CVs.
| Name | Required | Description | Default |
|---|---|---|---|
| idVacante | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral burden. It conveys that the tool lists data without side effects, but it does not disclose behavior around invalid IDs, output format, or read-only guarantees. This is adequate for a simple list tool but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action ('Lista') and resource, followed by a motivational use case. No wasted words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter list tool with no output schema, the description gives enough context to understand what the tool does and why. It could mention response format or error handling, but that is not critical for such a straightforward operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines idVacante as an integer with no description. The description references 'en una vacante' (in a vacancy), which implies idVacante is the vacancy identifier. This adds meaning beyond the schema, though not with explicit parameter naming.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'lists the eliminator questions configured in a vacancy' using a specific verb and resource. It is distinct from sibling tools like pandape_etapas_vacante (stages) or pandape_revisar_candidatos (review candidates), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'useful to know what was filtered before evaluating CVs.' It implies when to use the tool but does not explicitly mention alternatives or exclusions, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_revisar_candidatosA
Trae los candidatos (Matches) de una vacante con su CV en datos estructurados —resumen profesional, experiencias con actividades y empresas, estudios, habilidades, idiomas, meses de experiencia y expectativa salarial— listos para evaluarlos contra los criterios que indique el usuario. Omite a propósito datos sensibles (CPF, edad, sexo, raza, orientación, estado civil, dirección, contacto) porque no aportan al criterio profesional y sesgarían la evaluación; el contacto está en pandape_ver_candidato. Al evaluar: cíñete a los criterios dados, cita evidencia del CV para cada juicio y di explícitamente cuándo el CV no alcanza para decidir.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | Página (por defecto 1) | |
| idEtapa | No | IdVacancyFolder para revisar solo una etapa (ej. los nuevos) | |
| idVacante | Yes | IdVacancy de la vacante a revisar | |
| porPagina | No | Candidatos por página (por defecto 25) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses not only the returned data structure but also intentional omissions (sensitive data) with rationale, and provides evaluation instructions (cite evidence, note insufficient CV). This is rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: it opens with the core purpose, lists returned data, explains omissions, and ends with evaluation guidance. Though longer than average, every sentence contributes valuable information, and the structure aids scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description enumerates the structured CV fields in detail, which substitutes for an output schema description. It also provides evaluation criteria instructions and mentions what is intentionally excluded, making it contextually complete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 4 parameters with full descriptions (100% coverage). The description does not add parameter-level details beyond the schema; it confirms that idVacante selects the vacancy, but that's implied. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches candidates (matches) for a vacancy with structured CV data, enumerating the specific fields returned. It also differentiates itself by noting contact info is in pandape_ver_candidato, distinguishing its scope from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use for evaluating candidates against criteria, and explicitly directs users to pandape_ver_candidato for contact details, which serves as an alternative. It doesn't explicitly state when not to use the tool beyond that, but enough guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_ver_candidatoA
Detalle COMPLETO y sin filtrar de una candidatura, incluido el contacto (email y teléfonos). Úsalo cuando ya decidiste avanzar con alguien concreto, no para revisar en lote.
| Name | Required | Description | Default |
|---|---|---|---|
| idMatch | Yes | ||
| incluirCuestionarios | No | Añade las respuestas a los cuestionarios de la vacante |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It adds useful context by stating the output is 'sin filtrar' (unfiltered) and includes contact information (email and phones), which signals sensitivity. However, it does not explicitly mention that the tool is read-only (though 'ver' implies it) or describe any side effects, error behavior, or handling of sensitive data. The description adds some transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every sentence delivers value. The first sentence states what it does, the second gives usage guidance. No redundant words or filler, making it highly concise and well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with 2 parameters, no output schema, and no annotations. The description covers the purpose and usage context, which is good, but it does not mention what the response contains beyond 'detalle completo' (vague) and contact info. It also omits any edge cases, such as what happens if idMatch is invalid, or the optional parameter behavior. Given the lack of output schema, the description should have provided a bit more about the return structure, but the core information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: only incluirCuestionarios has a description. The tool description does not explicitly explain idMatch, but the phrase 'de una candidatura' implies it identifies a specific application, which provides minimal context. The description adds no additional meaning for the boolean parameter, but that is already covered in the schema. Given the low description coverage and the lack of parameter details, this is a borderline case, but the implicit reference to the candidate ID keeps it at a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides 'Detalle COMPLETO y sin filtrar de una candidatura' (complete and unfiltered detail of an application), with a specific resource (candidatura). It distinguishes itself from siblings by mentioning 'sin filtrar' and 'incluido el contacto', and explicitly contrasts with batch review ('no para revisar en lote'). This makes its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit guidance: 'Úsalo cuando ya decidiste avanzar con alguien concreto, no para revisar en lote.' This tells the agent exactly when to use this tool and when not to, implying an alternative for batch review (likely pandape_revisar_candidatos). This is clear and direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_web_candidatosA
Lista los candidatos de una vacante usando tu SESIÓN WEB del ATS (cookies), sin necesidad de credenciales de API. Devuelve los idMatch para luego leer cada CV con pandape_web_cv. El idVacante es el número que aparece en la URL del proceso en el ATS (/Company/Match/Matches/).
| Name | Required | Description | Default |
|---|---|---|---|
| idVacante | Yes | IdVacancy de la URL del proceso en el ATS |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It discloses the authentication method (web session/cookies), the lack of API credential requirement, and the output purpose (returns idMatch). However, it does not describe the response structure, pagination behavior, or error conditions, leaving notable gaps for a tool without an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, tightly focused, and front-loaded with the action and resource. Every sentence adds value: purpose, authentication context, output usage, and parameter sourcing. There is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter list tool, the description covers the essential workflow: what it lists, how authentication works, how to identify the parameter, and what to do with the output. It is slightly incomplete because it does not describe the return format or list size, but given the low complexity and the direct pointer to pandape_web_cv, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the parameter with a basic description, and the main description adds meaningful detail by explaining how to find idVacante from the ATS URL (/Company/Match/Matches/<idVacante>). This goes beyond the schema's generic description and provides actionable location guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Lista los candidatos de una vacante' (lists candidates for a vacancy) using a specific scope (web session/cookies). It distinguishes itself from sibling tools by explicitly mentioning the web-session mechanism and by noting it returns idMatch values for later use with pandape_web_cv.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use when you have web session cookies and no API credentials, and use it to obtain idMatch values before reading CVs with pandape_web_cv. However, it does not explicitly state when not to use this tool compared to other sibling tools like pandape_api, so it stops short of full alternative/exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_web_cvA
Lee el CV COMPLETO de un candidato como texto, usando tu sesión web (cookies). Es la vía para revisar candidatos por criterios cuando aún no tienes credenciales de API. Al evaluar: cíñete a los criterios que indique el usuario, cita evidencia del CV y di cuándo el CV no alcanza para decidir. Recuerda que incluye datos personales; trátalos como sensibles.
| Name | Required | Description | Default |
|---|---|---|---|
| idMatch | Yes | idMatch de pandape_web_candidatos |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that it uses cookies/web session, reads the full CV as text, and that personal data is involved and should be treated as sensitive. It also specifies evaluation behavior (cite evidence, state when CV is insufficient), which adds useful context beyond a bare read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: purpose, usage context, evaluation guidance, and data-sensitivity reminder. It is front-loaded with the core action and contains no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description is quite complete: it says what is returned (CV as text), when to use it, and how to handle the content. It does not mention error cases like a missing CV, but given the simplicity, the provided context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single idMatch parameter is already described as 'idMatch de pandape_web_candidatos'. The tool description does not add further parameter meaning, so it neither helps nor hurts beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Lee el CV COMPLETO de un candidato como texto' (read the complete CV as text). It also distinguishes itself from sibling tools like pandape_web_descargar_cv by specifying web-session usage and by positioning itself as the route for reviewing candidates without API credentials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use it: 'Es la vía para revisar candidatos por criterios cuando aún no tienes credenciales de API' (it's the way to review candidates by criteria when you don't yet have API credentials). It does not name specific alternative tools, but the condition is clear and distinguishes it from API-based workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pandape_web_descargar_cvA
Guarda la vista imprimible del CV de un candidato (HTML) vía tu sesión web, y devuelve la ruta local. El ATS no ofrece el CV como PDF binario descargable: genera una página imprimible que el navegador convierte a PDF. Este HTML conserva todo el contenido del CV.
| Name | Required | Description | Default |
|---|---|---|---|
| idMatch | Yes | ||
| nombreArchivo | No | Nombre del archivo (sin ruta). Por defecto cv-<idMatch>.html |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool uses a web session, saves an HTML file locally, and returns a local path. However, it does not clarify side effects (e.g., whether the file persists, overwrites, or requires specific authentication state) beyond mentioning 'session', leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, consisting of two sentences that front-load the main action and provide necessary context about the format limitation. There is no fluff or redundancy, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential information about the return value (local path) and the format limitation, but lacks details such as file naming behavior, exact session requirements, or error handling. Given the tool's moderate complexity, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50% (idMatch is undocumented in the schema), and the description does not mention any parameters. It does not compensate for the missing idMatch documentation, leaving the agent to infer its meaning. The nomeArchivo parameter is documented in the schema, but the description adds no additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves the printable HTML view of a candidate's CV via web session and returns the local path. It specifies the verb ('Guarda'), resource ('vista imprimible del CV'), and differentiates from siblings like pandape_descargar_cv by emphasizing the HTML/PDF distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the ATS limitation (no PDF binary) and implies this tool is the web-based alternative for obtaining CV content. Though no sibling is explicitly named, the context provides clear reasoning for when to use this tool. It lacks an explicit 'when not to use' but the coverage is good.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
v2.0.0- First observed
pandape_api - First observed
pandape_descargar_cv - First observed
pandape_diagnostico - First observed
pandape_documentos_precolaborador - First observed
pandape_endpoints - First observed
pandape_etapas_vacante - First observed
pandape_listar_vacantes - First observed
pandape_mover_candidato - First observed
pandape_preguntas_eliminatorias - First observed
pandape_revisar_candidatos - First observed
pandape_ver_candidato - First observed
pandape_web_candidatos - First observed
pandape_web_cv - First observed
pandape_web_descargar_cv
TDQS
Scored across 14 tools
Several tools overlap in purpose, especially around CV retrieval and candidate listing. For example, pandape_descargar_cv and pandape_web_descargar_cv both fetch CV files via web sessions, and pandape_revisar_candidatos overlaps with pandape_web_cv for reviewing candidate CVs. The detailed descriptions help clarify when to use each, but the boundaries are not instantly obvious.
All tools share the 'pandape_' prefix, which provides a clear brand, but the remainder mixes styles: some are verb_noun (listar_vacantes, mover_candidato), others are noun-based (diagnostico, endpoints, api), and some have awkward constructions like web_descargar_cv. This inconsistency makes it harder to predict tool names.
14 tools is within the expected 3-15 range and the server appears to cover a broad ATS domain. However, the presence of multiple nearly redundant CV-related tools (descargar_cv vs web_descargar_cv) and the generic API fallback makes the set feel slightly less focused than it could be.
The set covers core read operations (list vacancies, stages, candidates, CV retrieval) and one write operation (move candidate). Missing are obvious lifecycle operations like create/update/delete vacancies, add candidates to vacancies, or update candidate info. The generic pandape_api endpoint helps fill these gaps but does not make the tool surface complete on its own.
Maintenance
Related MCP Connectors
AI resume triage for recruiters. Query your candidate pool from Claude or ChatGPT.
- Cavuno MCPOAuthcom.cavuno
Connect Claude, Cursor, Codex, and other MCP clients to manage your Cavuno job board.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Related MCP Servers
- AlicenseAqualityFmaintenanceConnects Claude to the Ashby ATS to manage the hiring pipeline through natural conversation. It enables users to browse jobs, manage candidate profiles, track applications, and coordinate interview stages.245MIT
- AlicenseNot gradedqualityDmaintenanceConnects your Ashby recruiting data to Claude, enabling natural language queries and management of candidates, applications, jobs, interviews, offers, and team information.239 npmMIT
- FlicenseAqualityDmaintenanceConnects Claude to Ascend job search data, providing read-only access to job applications, resume, dashboard stats, and analytics.5-
- FlicenseBqualityDmaintenanceEnables Claude to manage Zoho Recruit ATS operations including candidates, jobs, interviews, analytics, email, and AI-assist through natural language.20-