Work at a Startup

io.github.Jucamhc由 GitHub 账号 Jucamhc 发布v0.1.0更新于 Oct 29, 2026

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

概览

AI 生成的概览

在 Y Combinator 的 Work at a Startup 招聘平台上搜索职位并投递申请,使用共享的主档案和手动浏览器登录。

可以做什么
  • 按条件搜索职位,查看职位与公司的完整信息,并对照主档案评估匹配度
  • 读取申请表单,用英文起草给创始人的留言和问题回答,并一次投递一个职位
  • 查看已投递的公司、每周剩余名额以及主动联系你的创始人
  • 读取网站上的候选人档案,并与主档案比对差异
  • 根据 LinkedIn 链接或 PDF 简历创建、校验、保存和查看共享主档案
适用场景
适合正在积极申请 Y Combinator 初创公司职位的求职者,希望由助手筛选职位、判断匹配度、起草申请回答,并在明确确认后提交申请。
运行要求
通过 npx 或 Node.js 20 及以上版本在本机运行,另需一个基于 Chromium 的浏览器,仅用于登录。可选环境变量:PERFIL_MAESTRO(主档案路径)、WAAS_DATA_DIR(会话目录)、WAAS_CUPO_SEMANAL(每周名额)、CHROME_PATH(浏览器可执行文件)。投递需要 Work at a Startup 候选人账号,且网站档案需完整并已共享。
安装前请注意
投递是真实的,会消耗每周名额(默认 5 个)且无法撤销,每次都需要明确确认。登录 Cookie 保存在数据目录中。主档案包含个人资料、简历和照片。这是非官方项目,使用网站自身的请求,可能随时失效,使用者需自行遵守网站条款。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Work at a Startup,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:README.md,提交 76eaed2

工具

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.

无需输入参数。

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.

输入参数espera_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.

输入参数roltipoordenpaginaremotopalabrapor_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.

输入参数oferta必填

detalle-de-empresa

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

输入参数empresa必填

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.

输入参数oferta必填

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.

输入参数oferta必填

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.

输入参数oferta必填

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.

输入参数oferta必填mensaje必填respuestasconfirmacion必填abierto_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).

无需输入参数。

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.

无需输入参数。

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.

无需输入参数。

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.

输入参数fototextocv_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).

输入参数fotocv_pdfperfil必填sobrescribir

ver-perfil-maestro

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

无需输入参数。

版本历史

1
  1. v0.1.0最新Oct 23, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分