Work at a Startup

io.github.JucamhcPublished by GitHub account Jucamhcv0.1.0Updated Oct 29, 2026

Busca ofertas y postula en Work at a Startup, la bolsa de empleo de Y Combinator.

Overview

AI-generated overview

Searches and applies to jobs on Work at a Startup, Y Combinator's startup job board, using a shared master profile and a manual browser login.

What you can do
  • Search job listings with filters, read full job and company details, and score fit against the master profile
  • Read the application form, draft the founder message and answers in English, and submit one application at a time
  • Track applications, weekly quota and founders who wrote first
  • Read the candidate profile on the site and compare it with the master profile
  • Build, validate, save and view the shared master profile from a LinkedIn URL or a PDF CV
When to use it
Useful for candidates actively applying to Y Combinator startups who want an assistant to filter listings, judge fit, draft application answers and submit applications with explicit confirmation.
Requirements
Local process via npx or Node.js 20 or higher, plus a Chromium-based browser used only for login. Optional environment variables: PERFIL_MAESTRO (master profile path), WAAS_DATA_DIR (session folder), WAAS_CUPO_SEMANAL (weekly quota), CHROME_PATH (browser executable). A Work at a Startup candidate account with a complete, shared profile is needed to apply.
Before you install
Applications are real, consume one of the weekly quota (5 by default) and cannot be undone; each requires explicit confirmation. Login cookies are stored in the data folder. The master profile holds personal data, CV and photo. It is an unofficial project using the site's own requests, which may break without notice, and users are responsible for complying with the site's terms.

Installation

In SourceWeft

  1. Open Work at a Startup in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

json
{  "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:

bash
git clone https://github.com/Jucamhc/mcp-workatastartup.gitcd mcp-workatastartupnpm install

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

Variables de entorno (todas opcionales)

VariablePor defectoPara qué
PERFIL_MAESTRO~/.perfil-maestro/perfil-maestro.jsonRuta de tu perfil maestro (la misma para todos los MCP)
WAAS_DATA_DIR~/.workatastartupSesión (cookies) y perfil del navegador
WAAS_CUPO_SEMANAL5Límite semanal de postulaciones de tu cuenta, para el cálculo del cupo
CHROME_PATHse detectaRuta 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.

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

HerramientaSesiónQué hace
estado-de-sesion—Si hay sesión y el cupo semanal
iniciar-sesion—Login manual en el navegador
buscar-ofertasopcionalCon sesión, todas las ofertas con filtros; sin sesión, solo las ~30 más recientes
detalle-de-ofertaopcionalOferta completa
detalle-de-empresaopcionalStartup y sus ofertas abiertas
evaluar-encajeopcionalencaja, encaja_parcial o no_encaja, con motivos y avisos
preguntas-de-postulacionsíFormulario de la oferta
proponer-respuestassíBorrador del mensaje y respuestas
postular-a-ofertasíEnvía la postulación
mis-postulacionessíEmpresas a las que te postulaste, cupo semanal y fundadores que te escribieron primero
ver-mi-perfilsíTu perfil de candidato en la web
comparar-perfilsí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.

Source: README.md at commit 76eaed2

Tools

15

estado-de-sesion

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

Takes no parameters.

iniciar-sesion

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.

Parametersespera_max_segundos

buscar-ofertas

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.

Parametersroltipoordenpaginaremotopalabrapor_paginacon_salarioespecialidadsin_visa_eeuuexperiencia_max

detalle-de-oferta

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.

Parametersofertarequired

detalle-de-empresa

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

Parametersempresarequired

evaluar-encaje

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.

Parametersofertarequired

preguntas-de-postulacion

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.

Parametersofertarequired

proponer-respuestas

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.

Parametersofertarequired

postular-a-oferta

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 <id>". Una oferta a la vez, sin reintentos automáticos.

Parametersofertarequiredmensajerequiredrespuestasconfirmacionrequiredabierto_a_reubicacion

mis-postulaciones

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).

Takes no parameters.

ver-mi-perfil

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.

Takes no parameters.

comparar-perfil

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.

Takes no parameters.

construir-perfil-maestro

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.

Parametersfototextocv_pdflinkedin_url

guardar-perfil-maestro

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).

Parametersfotocv_pdfperfilrequiredsobrescribir

ver-perfil-maestro

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

Takes no parameters.

Version history

1
  1. v0.1.0LatestOct 23, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts