About Work at a Startup
Work at a Startup is an MCP server for candidates using Y Combinator’s startup job board. It supports job and company research, fit assessment, application drafting, and tracking weekly application capacity and founder messages.
Key features
- 01Search jobs with filters
- 02View job and startup details
- 03Assess fit against profile
- 04Draft founder messages and answers
- 05Apply with explicit confirmation
- 06Track applications and weekly capacity
Use cases
- 01Find startup roles by role, location, or visa criteria
- 02Review a startup and its open jobs
- 03Prepare tailored application messages and answers
- 04Check remaining weekly applications and founder messages
MCP support
Exposes Work at a Startup job search, company details, candidate profile, application, and application-tracking tools to MCP clients. Submitting an application requires explicit confirmation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y mcp-workatastartupPERFIL_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ónLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
15Saved tool list · updated 1w ago
This tool takes no parameters.
Details
From the project READMEmcp-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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.