MCP Computrabajo
Servidor MCP que permite a asistentes de IA buscar ofertas laborales, consultar el detalle completo de cada publicación, leer el CV del propio usuario y postular en Computrabajo, la bolsa de empleo más grande de Latinoamérica.
Desde agosto de 2026 corre como servidor remoto en Cloudflare Workers.
Conectar
En Claude Desktop o claude.ai, Configuración → Conectores → Agregar conector personalizado:
https://mcp-computrabajo.georgegiosue.dev/mcp
En Claude Code:
claude mcp add --transport http computrabajo https://mcp-computrabajo.georgegiosue.dev/mcp
Herramientas
| Herramienta | Qué hace | Necesita sesión |
|---|---|---|
search-jobs |
Busca ofertas por palabra clave y ubicación | No |
get-job-detail |
Publicación completa: descripción, sueldo, beneficios, empresa | No |
get-profile |
Tu CV: resumen, experiencia, estudios, idiomas, habilidades | Sí |
list-attached-cvs |
Tus CVs en Word/PDF y cuál es el predeterminado | Sí |
apply-to-job |
Envía tu CV a una oferta | Sí |
Soporte multi-país: Perú, Colombia, México, Argentina, Chile y Ecuador.
El problema de la autenticación
Postular requiere la cookie de sesión de Computrabajo, que es personal. En un servidor público eso plantea un problema real: guardar una única cookie compartida significaría que cualquiera que encuentre la URL postula suplantando al dueño de esa cookie.
La solución fue convertir el Worker en su propio servidor OAuth 2.1. Al conectar, el usuario llega a una página de consentimiento alojada en el mismo Worker, donde pega su cookie. El proveedor la cifra dentro del grant y la devuelve en cada request; nunca viaja en la URL ni se comparte entre usuarios, y se descarta al desconectar el conector.
Buscar y leer ofertas no necesita cookie, así que la página ofrece un botón para conectarse sin ella y usar solo esas dos herramientas.
Arquitectura
Una sola fábrica createServer() alimenta las dos entradas: serveStdio() para el paquete de npm y createMcpHandler() para el Worker. El repositorio HTTP recibe su configuración por constructor, de modo que la misma clase sirve a un proceso stdio con configuración fija y a un Worker donde la cookie cambia en cada request.
El núcleo quedó libre de APIs de Node: la lectura de variables de entorno y del archivo de cookies vive aislada en un módulo que solo importa la entrada de stdio. El bundle del Worker no arrastra ningún import node:.
Detalles que solo aparecen al usarlo
Tres cosas que no se ven hasta que el servidor está en producción:
- La palabra clave decide la calidad de los resultados. Computrabajo compara contra el título del puesto, y en Latinoamérica «ingeniero de …» se lee como ingeniería civil, mecánica o minera. Medido sobre búsquedas reales en Lima,
ingeniero-de-softwaredevuelve 3 de 20 resultados útiles;desarrollador-de-software, 18 de 20. Las instrucciones del servidor ahora traducen esa intención en lugar de transliterar la frase del usuario. - Un HTTP 200 no significa que la postulación entró. El sitio responde con un código propio,
OfferAppliedOk, y devuelve 200 igual cuando rechaza la oferta. Reportar éxito por el código de estado era mentir en el peor momento posible. - Una cookie inválida no produce un 401, sino una página de 200 sin CV. Devolver un perfil vacío se leería como «tu CV está en blanco», así que ahora eso se trata como el fallo de autenticación que realmente es.
Tecnologías
TypeScript, Bun, Model Context Protocol SDK v2, Cloudflare Workers, Workers OAuth Provider, KV, Zod, Cheerio.
Capturas
Búsqueda de empleos

Postulación a un empleo

Confirmación en Computrabajo

Motivación
Facilitar la búsqueda y postulación de empleo en Latinoamérica mediante agentes de IA, eliminando la fricción de navegación manual en portales de trabajo. Con get-profile, el asistente puede cruzar las ofertas contra la experiencia real del usuario en vez de adivinarla.