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 分