Skip to main content
Glama
Jucamhc

mcp-workatastartup

by Jucamhc

mcp-workatastartup

Servidor MCP para Work at a Startup, la bolsa de empleo de las startups de Y Combinator. Con él puedes:

  • Buscar ofertas con filtros, ver el detalle de la oferta y de la startup, y evaluar si encajan con tu perfil.

  • Preparar el mensaje a los fundadores y las respuestas a sus preguntas, y postular una oferta a la vez con tu confirmación explícita.

  • Ver tus postulaciones, cuántas te quedan esta semana y qué fundadores te escribieron.

  • Leer tu perfil de candidato de la web y compararlo con el perfil maestro.

Funciona con cualquier cuenta de candidato de Work at a Startup. Ningún dato personal está escrito en el código: todo sale del perfil maestro.

Proyecto no oficial. No está afiliado a Y Combinator ni a Work at a Startup ni respaldado por ellos. Usa las mismas peticiones que hace su web, que pueden cambiar sin aviso y romper alguna herramienta. Cada quien es responsable de usarlo de acuerdo con sus términos de uso. Las postulaciones son reales, gastan tu cupo semanal y no se pueden deshacer.

Instalación

Requisitos: Node.js 20 o superior y un navegador basado en Chromium (Chrome, Edge, Brave o Chromium), que solo se usa para iniciar sesión.

Regístralo en tu cliente MCP (por ejemplo ~/.cursor/mcp.json o la configuración de Claude Desktop). npx lo descarga de npm y lo mantiene actualizado:

{
  "mcpServers": {
    "workatastartup": {
      "command": "npx",
      "args": ["-y", "mcp-workatastartup"],
      "env": { "PERFIL_MAESTRO": "/ruta/a/mi/perfil-maestro.json" }
    }
  }
}

Es autónomo: incluye el estándar del perfil maestro (src/perfil-maestro.js, perfil-maestro.schema.json y PERFIL-MAESTRO.md). Los demás MCP de empleo traen la misma copia, así que todos comparten el mismo perfil.

También puedes instalarlo desde el código fuente:

git clone https://github.com/Jucamhc/mcp-workatastartup.git
cd mcp-workatastartup
npm install

y usar "command": "node" con "args": ["/ruta/a/mcp-workatastartup/src/index.js"].

Variables de entorno (todas opcionales)

Variable

Por defecto

Para qué

PERFIL_MAESTRO

~/.perfil-maestro/perfil-maestro.json

Ruta de tu perfil maestro (la misma para todos los MCP)

WAAS_DATA_DIR

~/.workatastartup

Sesión (cookies) y perfil del navegador

WAAS_CUPO_SEMANAL

5

Límite semanal de postulaciones de tu cuenta, para el cálculo del cupo

CHROME_PATH

se detecta

Ruta del ejecutable del navegador si no está en la ubicación habitual

La sesión queda en ~/.workatastartup/, fuera de carpetas sincronizadas. El MCP nunca muestra cookies ni credenciales.

Related MCP server: workatastartup-mcp

Primeros pasos

  1. iniciar-sesion: abre el navegador en el login de Y Combinator. Entras a mano (enlace por correo, contraseña o Google) y el MCP guarda la sesión. Como el navegador del MCP la conserva, volver a llamar a iniciar-sesion la renueva sola en segundos.

  2. Completa tu perfil de candidato en la web (/application): sin perfil completo y compartido, Work at a Startup no deja postular. comparar-perfil te dice qué no coincide con tu perfil maestro.

  3. Si aún no tienes perfil maestro, construir-perfil-maestro te pide una fuente (la URL de tu LinkedIn o tu CV en PDF) y guardar-perfil-maestro lo valida y lo guarda.

Flujo de postulación

  1. buscar-ofertas → detalle-de-oferta o detalle-de-empresa → evaluar-encaje.

  2. preguntas-de-postulacion: si ya te postulaste, si tu perfil de la web está incompleto o no compartido, el cupo de la semana, el mensaje obligatorio y las preguntas de la empresa. No envía nada.

  3. proponer-respuestas: borrador del mensaje (en inglés) y respuestas a partir del perfil maestro, clasificadas en respaldada, requiere_confirmacion o sin_respaldo. Nunca inventa datos.

  4. El usuario revisa, completa el porqué de la empresa y aprueba.

  5. postular-a-oferta con confirmacion: "POSTULAR <id>", el mensaje y las respuestas aprobadas. Una oferta a la vez y sin reintentos automáticos.

Resultados de postular-a-oferta: enviada, ya_postulado, perfil_incompleto, perfil_no_compartido, limite_semanal, revisar_respuesta (la empresa rechazó una respuesta), faltan_respuestas, bloqueado (403), sesion_expirada, revisar o error.

Herramientas

Herramienta

Sesión

Qué hace

estado-de-sesion

—

Si hay sesión y el cupo semanal

iniciar-sesion

—

Login manual en el navegador

buscar-ofertas

opcional

Con sesión, todas las ofertas con filtros; sin sesión, solo las ~30 más recientes

detalle-de-oferta

opcional

Oferta completa

detalle-de-empresa

opcional

Startup y sus ofertas abiertas

evaluar-encaje

opcional

encaja, encaja_parcial o no_encaja, con motivos y avisos

preguntas-de-postulacion

sí

Formulario de la oferta

proponer-respuestas

sí

Borrador del mensaje y respuestas

postular-a-oferta

sí

Envía la postulación

mis-postulaciones

sí

Empresas a las que te postulaste, cupo semanal y fundadores que te escribieron primero

ver-mi-perfil

sí

Tu perfil de candidato en la web

comparar-perfil

sí

Diferencias entre la web y el perfil maestro (no modifica nada)

construir-perfil-maestro, guardar-perfil-maestro, ver-perfil-maestro

—

Estándar compartido del perfil maestro

Filtros de búsqueda

palabra (en inglés), rol (eng, design, product…), especialidad (fs full stack, fe, be, android, ios, ai, ml, devops, qa…), remoto (remoto, solo_remoto, presencial, todas), tipo (fulltime, contract, intern), sin_visa_eeuu, experiencia_max, con_salario, orden (relevancia o recientes; por defecto relevancia si hay palabra), pagina, por_pagina.

Por defecto, remoto sale de preferencias.modalidad y sin_visa_eeuu es true si datos_personales.pais no es EE. UU.

Perfil maestro

Usa los mismos campos que los demás MCP. Para esta plataforma conviene declarar, en preferencias, campos opcionales que el esquema admite:

  • salario_minimo_usd_anual: mínimo anual en USD para evaluar el salario de las ofertas.

  • tarifa_minima_usd_hora: tarifa por hora en USD para contratos.

Sin ellos, evaluar-encaje muestra el salario sin juzgarlo y proponer-respuestas deja las preguntas de salario como sin_respaldo.

Qué tiene en cuenta el encaje

  • Ubicación: casi todas las ofertas son en EE. UU. "Remote (US)" significa remoto solo desde EE. UU.; si vives en otro país, la oferta queda no_encaja.

  • Visa: "US citizen/visa only" descarta la oferta si no vives en EE. UU.; "US citizenship/visa not required" no.

  • Ubicación de la cuenta: si la web marca la oferta fuera de tus preferencias de ubicación (locationEligible), lo avisa.

  • Experiencia mínima frente a anios_experiencia.desarrollo_total, tipo (pasantía, cofundador), tecnologías e inglés: los procesos son en inglés.

Referencia técnica

  • Las páginas son Rails + Inertia: los datos vienen como JSON en el atributo data-page.

  • Búsqueda: Algolia (app 45BWZJ1SGC, índices WaaSPublicCompanyJob_production por relevancia y WaaSPublicCompanyJob_created_at_desc_production por fecha). La llave sale de window.AlgoliaOpts en /jobs; la anónima no devuelve ofertas, la de la sesión sí. Filtros: role, eng_type, remote (yes, only, no), job_type, us_visa_required (none, possible, yes), min_experience, has_salary. Los resultados no traen salario ni texto de ubicación: traen company_id, company_name, locations_for_search, skills, min_experience y search_path.

  • Detalle: GET /jobs/<id> y GET /companies/<slug> (públicos). Con sesión, la oferta añade companyFull.id, appliedJobIds, appliedToCompany, locationEligible y profile (shared, minimally_complete).

  • Perfil de candidato: GET /application/experience → props.sectionAppProps; los nombres de las habilidades salen de ENG_SKILLS en window.JOBS_GLOBALS.

  • Preguntas: GET /jobs/<id>/custom_questions.json. Tipos text (250), long_text (5000), url (2000), single_choice (id de opción) y multiple_choice (lista de ids).

  • Postulación: POST /apply con X-CSRF-Token y { company_id, job_id, message, custom_question_answers, open_to_relocation }. El mensaje es obligatorio (mínimo 50 caracteres). Respuestas: { job_ids, company_id }, { success: false, question_id, error } o { limit, reason }.

  • Postulaciones: GET /api/conversations (has_applied, referenced_job_ids, mensajes con from_candidate y created_at). Límite: 5 postulaciones por semana en las cuentas probadas ({ limit, reason } al superarlo); WAAS_CUPO_SEMANAL lo ajusta si tu cuenta tiene otro.

Available Tools

15 tools
buscar-ofertasA

Busca ofertas en Work at a Startup (startups de Y Combinator; casi todas en inglés y en EE. UU.). Con sesión busca en todas con filtros e indica si ya te postulaste; sin sesión solo ve las ~30 más recientes. Por defecto, remoto y visa salen del perfil maestro: si buscas remoto filtra ofertas con remoto, y si no vives en EE. UU. excluye las que exigen ciudadanía o visa de EE. UU.

NameRequiredDescriptionDefault
rolNoÁrea. eng = ingeniería.
tipoNo
ordenNoPor defecto: relevancia si hay palabra; si no, recientes.
paginaNo
remotoNoremoto = acepta remoto; solo_remoto = 100 % remoto. Por defecto sale de preferencias.modalidad.
palabraNoPalabra clave en inglés, p. ej. "react", "full stack", "laravel".
por_paginaNo
con_salarioNoSolo ofertas que publican rango salarial.
especialidadNoEspecialidad de ingeniería: fs full stack, fe frontend, be backend, android, ios, ai, ml, data_sci, devops, qa, eng_mgmt, embedded, robotics, hw.
sin_visa_eeuuNotrue = excluye ofertas que exigen ciudadanía o visa de EE. UU. Por defecto true si datos_personales.pais no es EE. UU.
experiencia_maxNoDeja solo ofertas que piden como máximo estos años de experiencia.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full load and does most of it: it discloses session-dependent result breadth (~30 most recent unauthenticated), that filters default from the master profile, and that results carry an applied/already-applied indicator. Pagination behavior and result shape are left unstated, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences ordered by importance: what/where, then session behavior, then default-filter semantics. Every clause carries information an agent needs and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 optional parameters, no annotations and no output schema, the description covers the risky parts well: auth state changes results, defaults are inherited from the master profile, and results flag existing applications. It stops short of describing what a returned offer record looks like or how pagination interacts with the ~30-item unauthenticated cap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 73% and the description mainly restates what the schema already says about remoto and sin_visa_eeuu (defaults from preferencias.modalidad and datos_personales.pais). It clarifies the effective filtering consequence of those defaults, which is mild added value, but says nothing about orden, pagina, por_pagina, tipo or con_salario beyond their schema entries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Busca ofertas") plus the exact source and scope: Work at a Startup, Y Combinator companies, mostly English and US-based. That scope immediately separates it from detalle-de-oferta (needs an id) and mis-postulaciones (already-applied list), so an agent can pick it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two operating modes clearly: with a session it searches all offers with filters and flags prior applications; without a session it only returns the ~30 most recent. It does not name a sibling to use instead (e.g. detalle-de-oferta for a single posting, evaluar-encaje for fit scoring), so routing is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comparar-perfilA

Compara tu perfil de candidato de Work at a Startup con el perfil maestro y lista lo que conviene corregir en la web (años, ciudad, remoto, reubicación, enlaces, fechas de experiencia y estudios, habilidades no declaradas). No modifica nada.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does the key thing: it declares read-only behavior explicitly ('No modifica nada') and enumerates the comparison dimensions. It stops short of stating permissions or output/return structure, but the safety profile is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb and scoped in a single informative sentence plus a short read-only disclaimer. The parenthetical field list is dense but every item earns its place as a comparison dimension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param, no-output-schema tool, the description conveys what it compares and that it returns a list of corrections. It is nearly complete; only the exact return shape and any auth/data-freshness expectations are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the schema baseline applies (4). The description does not need to document parameter meaning and correctly stays focused on behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'compara' with two clear resources (candidate profile vs master profile) and an enumerated set of fields (años, ciudad, remoto, enlaces, fechas, habilidades). An agent can tell this is a diff/audit tool distinct from siblings like ver-mi-perfil or construir-perfil-maestro, though it doesn't explicitly name the siblings it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'lista lo que conviene corregir' implies the use case (find discrepancies to fix), but there is no explicit when-to-use clause, no exclusions, and no named alternative such as ver-perfil-maestro or construir-perfil-maestro.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

construir-perfil-maestroA

Crea el perfil maestro (fuente única de tus datos para todos los MCP de empleo) cuando aún no existe. Sin argumentos, indica qué pedirle al usuario: la URL de su LinkedIn, o su CV en PDF y su foto. Con un PDF devuelve el texto extraído, el esquema estándar y las reglas para armar el JSON; con solo la URL de LinkedIn explica cómo exportar el perfil a PDF. No guarda nada: eso lo hace guardar-perfil-maestro tras la confirmación del usuario.

NameRequiredDescriptionDefault
fotoNoRuta de la foto de perfil (JPG, PNG, GIF o WEBP).
textoNoContenido del perfil ya obtenido por otra herramienta (p. ej. un MCP de LinkedIn).
cv_pdfNoRuta (o rutas) de CV en PDF, incluido el PDF exportado de LinkedIn.
linkedin_urlNoURL del perfil de LinkedIn (https://www.linkedin.com/in/usuario/).

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the load and does well: it discloses the crucial non-side-effect ('No guarda nada') and the persistence path via a sibling. It explains return behavior per input mode. Minor gap: no mention of permissions or failure modes (e.g., unreadable PDF).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the core purpose and the no-save caveat come early, and the per-mode details follow logically. Slightly packed into one paragraph, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description describes what is returned for each invocation mode, and it clarifies the persistence boundary relative to a sibling. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds value by explaining the effect of each input type—a PDF yields extracted text plus schema and JSON rules, while a LinkedIn URL only triggers export instructions. This meaningfully augments the schema prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (creates) and resource (master profile), with inline definition of what that profile is ('fuente única de tus datos'). It explicitly distinguishes itself from guardar-perfil-maestro by noting that this tool does not persist anything.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly scopes usage to 'when it doesn't yet exist' and clearly routes the follow-up action to guardar-perfil-maestro after confirmation. It also spells out three invocation modes (no args, PDF, LinkedIn URL) so the agent knows what each input yields.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detalle-de-empresaA

Devuelve la startup: batch de YC, descripción, tamaño, fundadores, stack, cómo contrata y todas sus ofertas abiertas.

NameRequiredDescriptionDefault
empresaYesSlug de la empresa (p. ej. givecampus) o su URL /companies/<slug>.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. "Devuelve" plus a detailed field list implies a read-only, comprehensive fetch, but it says nothing about auth requirements, what happens with an unknown slug, or whether the offer list is truncated/paginated — real gaps for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence that earns its length, since the field enumeration is what tells the agent whether this tool covers its information need. No filler or repetition of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description usefully enumerates the returned payload, which is the key missing structured information. A brief note on failure behavior for bad slugs would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter with 100% schema description coverage, where the schema already explains the slug format and the /companies/<slug> URL alternative. Baseline would be 3, and the description corroborates that the identifier resolves to one startup, so no meaning is lost.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific Spanish verb ("Devuelve") plus the exact resource, then enumerates the returned fields (YC batch, description, size, founders, stack, hiring, open offers). This clearly separates it from detalle-de-oferta, which covers a single offer rather than the whole company. It stops short of naming any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer it should be called when company-level context is needed, but there is no statement of when to prefer buscar-ofertas or detalle-de-oferta, and no prerequisite (e.g. requiring a valid slug or session) is mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detalle-de-ofertaA

Devuelve la oferta completa: descripción, ubicación y modalidad (incluido si el remoto se limita a un país), salario, equity, experiencia mínima, visa, habilidades, proceso de entrevista y si tiene preguntas de postulación.

NameRequiredDescriptionDefault
ofertaYesId numérico de la oferta o su URL (https://www.workatastartup.com/jobs/<id>).

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden, and it does well by disclosing the full contents of the response (salary, equity, visa, interview process, application questions). It omits error behavior for an invalid id and any auth/session requirement, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence led by the verb, with the payload enumerated compactly. The field list is long but each item conveys what the caller gets back, which is needed since no output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, enumerating the returned fields in the description is exactly the right compensation and it is done thoroughly. Missing only failure modes (invalid id, access restrictions) to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter already documents that it accepts a numeric id or a full URL. The description adds nothing about the parameter, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Devuelve') and resource ('la oferta completa') and enumerates the returned fields, which makes it distinguishable from buscar-ofertas and detalle-de-empresa. It stops short of explicitly naming those siblings as alternatives, so a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent can infer this is the single-offer detail lookup to use after a search. There is no explicit 'use this when...' guidance, no exclusion of buscar-ofertas, and no note about prerequisites such as being logged in.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estado-de-sesionA

Indica si hay una sesión vigente de Work at a Startup y cuántas postulaciones quedan esta semana. Nunca muestra cookies ni credenciales.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that cookies and credentials are never shown, which is meaningful privacy behavior, but it does not explicitly state read-only/no-side-effect behavior, auth prerequisites, or what happens when no session exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two efficient sentences: the primary status/count purpose is front-loaded, followed by a relevant privacy note. There is no wasted material.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-parameter tool with no output schema, the description covers the core return concepts: session validity and weekly application count, plus a privacy guarantee. It could say more about the exact return shape or behavior when no session is active, but it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics for the description to clarify. The baseline for a zero-parameter tool applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource set: it indicates whether a Work at a Startup session is active and how many applications remain this week. This clearly distinguishes it from iniciar-sesion, which would initiate a session rather than report status and quota.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but does not say when to use it versus iniciar-sesion or other siblings, nor when not to use it. The agent must infer its role as a pre-check from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluar-encajeA

Compara la oferta con el perfil maestro: modalidad y país permitido para el remoto, visa de EE. UU., tipo de empleo, experiencia mínima, salario en USD (si el perfil declara preferencias.salario_minimo_usd_anual), tecnologías e inglés. Devuelve encaja, encaja_parcial o no_encaja con los motivos.

NameRequiredDescriptionDefault
ofertaYesId numérico de la oferta o su URL (https://www.workatastartup.com/jobs/<id>).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does real work: it discloses the full rule set evaluated, the conditional salary check, and the categorical output including motivos. What it omits is the operational side — whether it is read-only, what happens if no master profile exists (error vs partial evaluation), and whether the evaluation is deterministic. Those gaps matter for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the criteria enumeration is front-loaded and the return contract closes it. Every listed criterion earns its place because it tells the agent what the verdict will be based on, though the run-on enumeration is dense rather than scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by naming the three verdict values and mentioning motivos, which is what the agent needs to interpret the result. For a one-parameter tool this is nearly complete; the missing prerequisite (an existing master profile) is the one real hole.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'oferta' parameter already documents that it accepts a numeric id or a workatastartup.com job URL. The description adds nothing about that parameter. Baseline 3 applies when the schema carries the full burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (compara la oferta con el perfil maestro) and enumerates the exact criteria checked — modalidad, país, visa, tipo de empleo, experiencia, salario, tecnologías, inglés — plus the three possible verdicts. It is clearly distinct in substance from detalle-de-oferta (raw offer data) and comparar-perfil, though it never names a sibling to route against.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the pre-application screening step, and the description does flag one conditional rule (salary is only checked if preferencias.salario_minimo_usd_anual is declared). But there is no explicit 'use when' / 'use instead of', and no statement that a master profile must already exist (construir-perfil-maestro / guardar-perfil-maestro are siblings that would matter).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guardar-perfil-maestroA

Valida el perfil maestro contra el esquema estándar y lo guarda (por defecto en ~/.perfil-maestro/perfil-maestro.json). Copia la foto y el CV junto al perfil. Llamar solo después de que el usuario apruebe el contenido. No sobrescribe uno existente salvo sobrescribir: true (y lo respalda).

NameRequiredDescriptionDefault
fotoNoRuta de la foto a copiar junto al perfil.
cv_pdfNoRuta del CV en PDF a copiar junto al perfil.
perfilYesPerfil maestro completo según el esquema.
sobrescribirNotrue solo si el usuario confirmó reemplazar el perfil existente.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full load and does so well: it discloses the default write path, copies of foto/CV as side effects, the no-overwrite default, the sobrescribir:true escape hatch, and the backup taken on overwrite. That is exactly the destructive-behavior context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with the primary action front-loaded and no filler; the parenthetical default path slightly interrupts flow but is not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers side effects, overwrite policy, and the approval gate for a mutation tool with no output schema. The remaining gap is that it references an 'esquema estándar' without saying how the agent should obtain or verify that schema before building the nested perfil object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds real meaning beyond the schema by explaining the overwrite-with-backup semantics of sobrescribir and the default location of perfil. It does not clarify the shape of the nested perfil object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (validate + save) on a specific resource (perfil maestro) and names the default destination file. This is clearly the persistence step, distinguishable from construir-perfil-maestro and ver-perfil-maestro in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition: 'Llamar solo después de que el usuario apruebe el contenido', which effectively tells the agent when not to call it. No sibling alternatives are named, so it falls short of the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

iniciar-sesionA

Abre un navegador basado en Chromium en el login de Y Combinator para que el usuario entre a mano con su cuenta (enlace por correo, contraseña o Google). Si el navegador del MCP ya tenía la sesión, se guarda sola en segundos. Guarda las cookies en la carpeta de datos del MCP y cierra la ventana.

NameRequiredDescriptionDefault
espera_max_segundosNoTiempo máximo de espera (por defecto 300 s).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses useful behavior: it opens a visible Chromium browser, supports manual login via email link, password, or Google, auto-saves if an existing session is present, stores cookies in the MCP data folder, and closes the window. It does not cover what happens if the user fails to log in within the timeout, but overall it is transparent about the key side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main action, then covers session auto-save and cookie/cleanup behavior in three tight sentences. Every sentence contributes useful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a browser-based interactive login tool with no output schema and only one optional parameter, the description gives enough context to invoke it correctly: what browser opens, what the user does, how sessions are persisted, and that the window closes. It could be more complete by describing timeout failure behavior or expected return, but it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional parameter 'espera_max_segundos' has complete schema description coverage (100%), so the schema already documents its meaning, range, and default. The description adds no additional parameter semantics, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: opening a Chromium-based browser at the Y Combinator login so the user can authenticate manually. It is clear what the tool does, but it does not explicitly differentiate itself from the sibling tool 'estado-de-sesion' or other session-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when the user needs to log in manually, and it notes that an existing MCP browser session will save automatically. However, it does not explicitly state when to use this tool versus alternatives such as checking session status with 'estado-de-sesion', nor does it give exclusions or preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mis-postulacionesA

Lista las empresas a las que te postulaste en Work at a Startup, con fecha, ofertas, respuestas recibidas y el cupo semanal, y los fundadores que te escribieron primero (y si les respondiste).

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden; 'Lista' plus the enumerated fields make clear this is a read-only, user-scoped retrieval of application data. It does not disclose authentication requirements, ordering, pagination/limits, or what happens when the user has no applications, which are the remaining behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence that names the resource first and then the returned content; every clause adds substance rather than restating the name. Slightly dense with parentheticals ('y si les respondiste'), but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, no annotations and no output schema, the description's enumeration of returned fields effectively substitutes for an output schema and tells the agent exactly what it will get. Nothing needed to invoke it correctly (it takes no arguments) is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly implies a single, argument-free call covering the whole application history.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lista') and a clearly bounded resource ('las empresas a las que te postulaste en Work at a Startup'), then enumerates what the listing contains (fecha, ofertas, respuestas, cupo semanal, fundadores que escribieron primero). This is inherently distinguishable from sibling read tools like buscar-ofertas (search available offers) or detalle-de-empresa (single company), since the scope is the user's own application history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies usage (review your application status and inbound founder outreach), but the description never says when to pick this over buscar-ofertas or detalle-de-oferta, nor states preconditions such as being logged in. Usage is inferable rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postular-a-ofertaA

Envía la postulación: el mensaje a la empresa y las respuestas a sus preguntas, en una sola petición. Gasta 1 de las 5 postulaciones semanales y no se puede deshacer. Exige la confirmación explícita del usuario para ESA oferta: confirmacion debe ser exactamente "POSTULAR ". Una oferta a la vez, sin reintentos automáticos.

NameRequiredDescriptionDefault
ofertaYesId numérico de la oferta o su URL (https://www.workatastartup.com/jobs/<id>).
mensajeYesMensaje a los fundadores aprobado por el usuario (mínimo 50 caracteres, en inglés).
respuestasNoRespuestas aprobadas por el usuario para las preguntas de preguntas-de-postulacion.
confirmacionYesExactamente "POSTULAR <id numérico>", solo después de que el usuario aprobó la oferta, el mensaje y las respuestas.
abierto_a_reubicacionNoSolo si el usuario lo confirmó: marca que acepta reubicarse cuando la oferta está fuera de sus preferencias de ubicación.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses irreversibility, quota consumption, and the confirmation gate. It does not say what the call returns on success (application id, status) or what happens on failure, which leaves a gap for a destructive, quota-limited mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then cost/irreversibility, then the confirmation rule, then the one-at-a-time constraint. Every sentence carries decision-relevant information, though the description is dense enough to read as a block rather than a scannable structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the side effects an agent needs before a destructive, quota-limited write: cost, irreversibility, confirmation requirement, and batching of message plus answers. Missing only the return/outcome behavior, which matters more here because there is no output schema to fall back on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all five parameters are already documented, including the exact `confirmacion` format and the meaning of `abierto_a_reubicacion`. The description restates the confirmation format and the required user approval for message/answers but adds no syntax or edge-case detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (envía) and resource (la postulación), and spells out what it submits: the message plus answers in a single request. It is clearly distinct from siblings like proponer-respuestas or preguntas-de-postulacion, which prepare the pieces this tool consumes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the preconditions (explicit user confirmation for that specific offer, exact format "POSTULAR <id>") and the constraints (one offer at a time, no automatic retries). It also gives the cost trade-off (1 of 5 weekly applications), which lets an agent judge whether to call it now.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preguntas-de-postulacionA

Lee cómo se postula (requiere sesión): si ya te postulaste, el cupo semanal (5 postulaciones por semana), el mensaje obligatorio a los fundadores y las preguntas de la empresa con sus opciones y límites. No envía nada.

NameRequiredDescriptionDefault
ofertaYesId numérico de la oferta o su URL (https://www.workatastartup.com/jobs/<id>).

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it declares the session requirement and explicitly marks the tool as non-mutating ("No envía nada"), and it discloses the concrete return payload including the 5-applications-per-week limit. It doesn't cover error behavior for an invalid offer id, but the read-only and auth profile is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence with a parenthetical, front-loaded with the core verb and ending with the key read-only guarantee. Every clause carries distinct information (session, quota, message, questions), though the enumeration is packed tightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema and no annotations, the description covers the essential ground: auth requirement, return content, quota, and non-mutating status. Only edge-case behavior (invalid or nonexistent offer) is left unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single "oferta" parameter is already documented as a numeric id or workatastartup.com job URL. The description adds nothing about the parameter, so the baseline 3 applies since the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair ("Lee cómo se postula") and enumerates exactly what is returned: application status, the 5-per-week quota, the mandatory founder message, and the company's questions with their options and limits. This goes well beyond the name "preguntas-de-postulacion," which only mentions questions. The closing "No envía nada" implicitly separates it from the apply sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

A precondition is stated ("requiere sesión"), which correctly routes an unauthenticated agent toward iniciar-sesion. The phrase "No envía nada" implies that actually submitting belongs to postular-a-oferta, but that alternative is never named and no explicit when-not condition is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

proponer-respuestasA

Propone, en inglés y a partir del perfil maestro, un borrador del mensaje a los fundadores y las respuestas a las preguntas, y las clasifica (respaldada, requiere_confirmacion, sin_respaldo). Nunca inventa datos ni envía nada.

NameRequiredDescriptionDefault
ofertaYesId numérico de la oferta o su URL (https://www.workatastartup.com/jobs/<id>).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well: it discloses that the tool never invents data and never sends anything, which tells the agent this is a safe, non-mutating draft generator. It also surfaces the classification outcome categories (respaldada, requiere_confirmacion, sin_respaldo). It does not say whether drafts are persisted or what the response shape is, so it is not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense but well-ordered sentence: action and outputs first, constraint sentence second. Every clause (language, source, classification) carries information; nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no annotations and no output schema, the description covers purpose, inputs source, output categories, and safety constraints. Minor gaps remain around prerequisites (must the master profile pre-exist?) and whether results are stored for postular-a-oferta to use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter (oferta, numeric id or workatastartup URL) is fully documented in the schema. The description adds no parameter-level detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs and outputs: drafts a message to founders and answers to application questions, in English, from the master profile, and classifies each answer. This is clearly distinguishable from siblings like preguntas-de-postulacion or evaluar-encaje, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'a partir del perfil maestro' (i.e., use it after the master profile exists), but there is no explicit when-to-use/when-not guidance and no alternative tool is named for related tasks like fetching questions or submitting the application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ver-mi-perfilA

Lee tu perfil de candidato en Work at a Startup: visibilidad, frase corta, qué buscas, rol, años de experiencia, ubicación, remoto y reubicación, autorización en EE. UU., habilidades, experiencia, formación y CV.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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 implies a read-only, self-scoped operation by listing returned fields, but it doesn't state behavior when no profile exists, whether authentication is required, or that no mutation occurs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the verb and scope first, followed by the field enumeration. The long list of fields earns its place as a stand-in for an output schema, though it is dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description's enumeration of returned profile sections is exactly the missing information an agent needs. It stops short of noting edge cases like an empty or unset profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to clarify. It correctly avoids inventing input semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lee') and a scoped resource ('tu perfil de candidato en Work at a Startup'), then enumerates the exact profile sections covered. It clearly separates the candidate profile from other resources, though it doesn't explicitly distinguish itself from the sibling ver-perfil-maestro (master profile).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The framing 'tu perfil' implies this is for reading the caller's own profile, but there is no explicit when-to-use, when-not-to-use, or reference to the alternative (ver-perfil-maestro, comparar-perfil). Usage is left to inference from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ver-perfil-maestroB

Muestra el perfil maestro, dónde está, si cumple el esquema estándar y qué queda pendiente de confirmar.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden; "Muestra" signals a read-only operation and it discloses that the response is diagnostic (ubicación, cumplimiento de esquema, pendientes). It does not say what happens when no master profile has been built yet, nor whether anything is mutated or cached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, listing the three outputs compactly. Slightly under-specified rather than verbose, which is the correct failure mode here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no params and no output schema, the description must convey the return shape, and it names three components (ubicación, cumplimiento del esquema estándar, pendientes). Missing only edge-case behavior (no profile present) and the form of the report.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to explain; baseline for a no-param tool applies. Schema coverage is 100% and trivially complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ("Muestra") plus resource ("perfil maestro") and it enumerates the three things returned: location, standard-schema compliance, and pending confirmations. It does not differentiate itself from near-siblings like ver-mi-perfil or comparar-perfil, so an agent must guess which viewer to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives such as construir-perfil-maestro (when none exists) or actualizar-perfil (when something is pending). The read-only intent is only implied by "Muestra".

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.

  1. 15 tool updatesv0.1.0
    • First observedbuscar-ofertas
    • First observedcomparar-perfil
    • First observedconstruir-perfil-maestro
    • First observeddetalle-de-empresa
    • First observeddetalle-de-oferta
    • First observedestado-de-sesion
    • First observedevaluar-encaje
    • First observedguardar-perfil-maestro
    • First observediniciar-sesion
    • First observedmis-postulaciones
    • First observedpostular-a-oferta
    • First observedpreguntas-de-postulacion
    • First observedproponer-respuestas
    • First observedver-mi-perfil
    • First observedver-perfil-maestro

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation4/5

Each tool covers a distinct step of the workflow (search → detail → evaluate → questions → draft → apply) and the names/descriptions make the pipeline clear. The only real overlap is the profile cluster (ver-mi-perfil vs. ver-perfil-maestro vs. comparar-perfil), which an agent must read carefully to pick correctly.

Naming Consistency4/5

All names are Spanish kebab-case, which is consistent across the whole set. However, the convention mixes verb-first actions (buscar-ofertas, guardar-perfil-maestro) with noun-phrase getters (detalle-de-oferta, estado-de-sesion, mis-postulaciones), so retrieval-style tools are not uniformly prefixed with ver-/obtener-.

Tool Count4/5

15 tools are at the top of the comfortable range but each maps to a concrete step, with no filler tools. It is slightly heavy because profile management alone consumes five tools (ver-mi-perfil, comparar-perfil, construir/guardar/ver-perfil-maestro), which could be consolidated.

Completeness3/5

The read/search/evaluate/apply lifecycle and master-profile creation are well covered, including confirmation-gated submission. But the surface is read-only toward the Work at a Startup profile (compare only, no update), and there is no tool to reply to founders or handle received responses, even though mis-postulaciones surfaces them as pending actions.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    Enables AI assistants to query Y Combinator startup jobs and companies via the Work at a Startup platform, including advanced filters for skills, salary, equity, and visa sponsorship, plus tools to fetch detailed company and job information.
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching Y Combinator startups and jobs via APIs, enriching listings, and applying with per-startup customized cover messages and human-in-loop email approval before submission.
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables searching YC Work at a Startup jobs, reading job and company details, inspecting application requirements, and submitting applications with dry-run safety while tracking weekly quotas and login status.
    15
    MIT