Work at a Startup
Busca ofertas y postula en Work at a Startup, la bolsa de empleo de Y Combinator.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
mcp-workatastartupclaude mcp add work-at-a-startup -e 'PERFIL_MAESTRO=<PERFIL_MAESTRO>' -e 'WAAS_DATA_DIR=<WAAS_DATA_DIR>' -e 'WAAS_CUPO_SEMANAL=<WAAS_CUPO_SEMANAL>' -e 'CHROME_PATH=<CHROME_PATH>' -- npx -y mcp-workatastartup@0.1.0
{
"mcpServers": {
"work-at-a-startup": {
"command": "npx",
"args": [
"-y",
"mcp-workatastartup@0.1.0"
],
"env": {
"PERFIL_MAESTRO": "<PERFIL_MAESTRO>",
"WAAS_DATA_DIR": "<WAAS_DATA_DIR>",
"WAAS_CUPO_SEMANAL": "<WAAS_CUPO_SEMANAL>",
"CHROME_PATH": "<CHROME_PATH>"
}
}
}
}
Variables d'environnement
PERFIL_MAESTRORuta del perfil maestro (JSON) compartido por los MCP de empleoWAAS_DATA_DIRCarpeta de la sesión (por defecto ~/.workatastartup)WAAS_CUPO_SEMANALLímite semanal de postulaciones de tu cuenta (por defecto 5)CHROME_PATHRuta del navegador Chromium usado para iniciar sesión
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
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.
Primeros pasos
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 ainiciar-sesionla renueva sola en segundos.- Completa tu perfil de candidato en la web (
/application): sin perfil completo y compartido, Work at a Startup no deja postular.comparar-perfilte dice qué no coincide con tu perfil maestro. - Si aún no tienes perfil maestro,
construir-perfil-maestrote pide una fuente (la URL de tu LinkedIn o tu CV en PDF) yguardar-perfil-maestrolo valida y lo guarda.
Flujo de postulación
buscar-ofertas→detalle-de-ofertaodetalle-de-empresa→evaluar-encaje.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.proponer-respuestas: borrador del mensaje (en inglés) y respuestas a partir del perfil maestro, clasificadas enrespaldada,requiere_confirmacionosin_respaldo. Nunca inventa datos.- El usuario revisa, completa el porqué de la empresa y aprueba.
postular-a-ofertaconconfirmacion: "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, índicesWaaSPublicCompanyJob_productionpor relevancia yWaaSPublicCompanyJob_created_at_desc_productionpor fecha). La llave sale dewindow.AlgoliaOptsen/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: traencompany_id,company_name,locations_for_search,skills,min_experienceysearch_path. - Detalle:
GET /jobs/<id>yGET /companies/<slug>(públicos). Con sesión, la oferta añadecompanyFull.id,appliedJobIds,appliedToCompany,locationEligibleyprofile(shared,minimally_complete). - Perfil de candidato:
GET /application/experience→props.sectionAppProps; los nombres de las habilidades salen deENG_SKILLSenwindow.JOBS_GLOBALS. - Preguntas:
GET /jobs/<id>/custom_questions.json. Tipostext(250),long_text(5000),url(2000),single_choice(id de opción) ymultiple_choice(lista de ids). - Postulación:
POST /applyconX-CSRF-Tokeny{ 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 confrom_candidateycreated_at). Límite: 5 postulaciones por semana en las cuentas probadas ({ limit, reason }al superarlo);WAAS_CUPO_SEMANALlo ajusta si tu cuenta tiene otro.
Questions fréquentes
Qu'est-ce que Work at a Startup ?
Busca ofertas y postula en Work at a Startup, la bolsa de empleo de Y Combinator.
Comment installer Work at a Startup ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add work-at-a-startup -e 'PERFIL_MAESTRO=<PERFIL_MAESTRO>' -e 'WAAS_DATA_DIR=<WAAS_DATA_DIR>' -e 'WAAS_CUPO_SEMANAL=<WAAS_CUPO_SEMANAL>' -e 'CHROME_PATH=<CHROME_PATH>' -- npx -y mcp-workatastartup@0.1.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Work at a Startup ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Work at a Startup est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Work at a Startup ?
Il est publié par Jucamhc. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.