Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Busca ofertas, postula y mantiene tu hoja de vida en elempleo.com (Colombia).
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
PERFIL_MAESTRO, RAIZ_ARCHIVOS, ELEMPLEO_DATA_DIR, CHROME_PATHNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"elempleo": {
"command": "npx",
"args": [
"-y",
"mcp-elempleo"
],
"env": {
"PERFIL_MAESTRO": "your-value",
"RAIZ_ARCHIVOS": "your-value",
"ELEMPLEO_DATA_DIR": "your-value",
"CHROME_PATH": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add elempleo --env PERFIL_MAESTRO=your-value --env RAIZ_ARCHIVOS=your-value --env ELEMPLEO_DATA_DIR=your-value --env CHROME_PATH=your-value -- npx -y mcp-elempleoCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"elempleo": {
"command": "npx",
"args": [
"-y",
"mcp-elempleo"
],
"env": {
"PERFIL_MAESTRO": "your-value",
"RAIZ_ARCHIVOS": "your-value",
"ELEMPLEO_DATA_DIR": "your-value",
"CHROME_PATH": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"elempleo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-elempleo"
],
"env": {
"PERFIL_MAESTRO": "your-value",
"RAIZ_ARCHIVOS": "your-value",
"ELEMPLEO_DATA_DIR": "your-value",
"CHROME_PATH": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
PERFIL_MAESTRO envRAIZ_ARCHIVOS envELEMPLEO_DATA_DIR envCHROME_PATH envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub Jucamhc, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.0) llegó al registro hace 14 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, SuperCollider
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Servidor MCP para elempleo.com (Colombia). Con él puedes:
Funciona con cualquier cuenta de elempleo. Ningún dato personal está escrito en el código: todo sale del perfil maestro o de la hoja de vida que ya tengas en elempleo.
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": { "elempleo": { "command": "npx", "args": ["-y", "mcp-elempleo"], "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-elempleo.git
cd mcp-elempleo npm install
y usar "command": "node" con "args": ["/ruta/a/mcp-elempleo/src/index.js"].
| Variable | Por defecto | Para qué |
|---|---|---|
PERFIL_MAESTRO | ~/.perfil-maestro/perfil-maestro.json | Ruta de tu perfil maestro (la misma para todos los MCP) |
RAIZ_ARCHIVOS | carpeta del perfil maestro | Base para las rutas relativas de foto y cv_pdf |
ELEMPLEO_DATA_DIR | ~/.elempleo | Sesión (cookies), caché de catálogos, perfil del navegador y respaldos |
CHROME_PATH | se detecta | Ruta del ejecutable del navegador si no está en la ubicación habitual |
La sesión y los respaldos quedan en ~/.elempleo/, fuera de carpetas sincronizadas. El MCP nunca muestra cookies ni credenciales.
iniciar-sesion: abre el navegador en el login de elempleo. Entras a mano (hay reCAPTCHA y verificación en dos pasos) y el MCP guarda la sesión.construir-perfil-maestro te pide una fuente:desde_portal: true).Cuando lo apruebes, guardar-perfil-maestro lo valida y lo guarda con la foto y el CV.
comparar-perfil: muestra qué falta, qué está desactualizado y qué sobra en elempleo frente al perfil maestro.actualizar-perfil por sección: primero sin aplicar, para ver el plan antes → después; luego con aplicar: true.Es un JSON que sirve como única fuente de verdad y sigue el estándar compartido. El MCP lo lee y nunca inventa datos. Campos que usa elempleo (ver perfil-maestro.ejemplo.json):
| Campo | Uso |
|---|---|
datos_personales | ciudad, pais, zona_horaria, enlaces (linkedin, github, portafolio…) y foto (ruta relativa o absoluta) |
titular.es, resumen.es | Perfil profesional y primera línea de la nota al empleador |
profesion | Opcional: nombre exacto en el catálogo de elempleo. Si falta, se usa tu título más alto |
experiencia[] | empresa, cargo, cargo_oficial, inicio/fin (AAAA-MM, fin: null = actual), ubicacion, descripcion_empresa, logros_es[], tecnologias[] |
formacion[] | institucion, titulo_es, inicio, fin, graduado, mostrar_en_cv |
certificaciones[] | nombre, emisor, fecha |
aptitudes, habilidades_clave | aptitudes (grupos libres) y habilidades_clave.tecnicas/blandas (máx. 20 en elempleo, 40 caracteres cada una) |
idiomas[] | idioma y nivel (Nativo, Básico, Intermedio o Avanzado) |
preferencias | modalidad (p. ej. "Solo remoto"), salario_minimo_laboral_cop, salario_minimo_prestacion_cop, acepta_reubicacion, puede_viajar, paises, disponibilidad |
seguridad_social | pension_obligatoria, cesantias, pension_voluntaria, eps, caja_compensacion (nombres como aparecen en elempleo) |
cv_pdf | Ruta del PDF, o un objeto { "version": "ruta" } si tienes varias |
respuestas_frecuentes | Respuestas reutilizables (p. ej. uso_ia) |
elempleo pide elegir cargo equivalente, sector, ciudad, nivel educativo, área de cursos y profesión de sus propias listas. El MCP elige la opción que más palabras comparte con tu dato y la muestra en el plan para que la revises. Si quieres fijarla, agrega el nombre exacto del catálogo en portales.elempleo (los demás MCP ignoran esa clave):
experiencia[].portales.elempleo: cargo_equivalente, sector y ciudad.formacion[].portales.elempleo: nucleo_conocimiento. El nivel y la ciudad usan los campos estándar nivel y ciudad.certificaciones[].portales.elempleo: area; o un area_cursos general en portales.elempleo de la raíz.| Herramienta | Qué hace |
|---|---|
estado-de-sesion, iniciar-sesion | Sesión |
buscar-ofertas, detalle-de-oferta | Búsqueda (sin sesión) |
evaluar-encaje | Compara la oferta con tus preferencias (modalidad, salario según contrato, tecnologías declaradas e inglés) |
preguntas-de-postulacion, proponer-respuestas | Lee el formulario de postulación y redacta la nota con datos del perfil maestro |
postular-a-oferta | Exige confirmacion: "POSTULAR ". Una a la vez, sin reintentos. Si la empresa pide cuestionario devuelve requiere_cuestionario con las preguntas |
responder-cuestionario | Envía el cuestionario de filtro posterior a la postulación. Exige confirmacion: "CUESTIONARIO " y respuestas aprobadas por el usuario |
mis-postulaciones | Estado de tus postulaciones |
construir-perfil-maestro, guardar-perfil-maestro, ver-perfil-maestro | Herramientas estándar del perfil maestro: crearlo desde LinkedIn, un CV en PDF con foto o elempleo; validarlo y guardarlo; revisarlo |
ver-mi-perfil, comparar-perfil, actualizar-perfil | Hoja de vida. Secciones: perfil_profesional, experiencia, formacion, cursos, idiomas, redes_sociales, habilidades, seguridad_social |
subir-foto, subir-cv, listar-mis-cv | Foto y archivos |
Toda escritura respalda antes lo que había (en ~/.elempleo/respaldos/) y solo borra los ids que pases en eliminar_ids.
elempleo no tiene API pública; la web usa una API interna (ASP.NET MVC con tokens anti-falsificación).
GET /co/ofertas-empleo/?Trabajo= da las cookies y el token de .POST /co/api/joboffers/findbyfilter con la cabecera __RequestVerificationToken y el cuerpo: {"query":"desarrollador","salaryInfo":[],"contractType":0,"workModality":101,
"cities":[],"publishDate":0,"pageIndex":1,"pageSize":20,"sortExpression":"PublishDate_Desc"}
| Filtro | Valores |
|---|---|
workModality | 0 todos, 100 presencial, 102 híbrido, 101 remoto |
contractType | 0 todos, 1 indefinido, 2 definido, 3 prestación de servicios, 4 aprendizaje, 5 obra o labor, 6 otro |
salaryInfo (millones COP) | 2 menos de 1 · 3 1–1,5 · … · 10 4,5–5,5 · 23 5,5–6 · 27 6–8 · 28 8–10 · 29 10–12,5 · 30 12,5–15 · 31 15–18 · 32 18–21 · 33 más de 21 |
publishDate | 1 hoy y ayer, 2 una semana, 3 dos semanas, 4 un mes, 6 más de un mes |
Detalle: GET /co/api/joboffers/getjoboffer?jobOfferId= .
POST /co/JobOffers/JobOfferDetail/SaveQuickApplication?JobOfferId=&CurrentAttachmentCVId= con Attachments.SelectedIds.POST /co/JobOffers/JobOfferDetail/Save?jobOfferId= con ApplicationNote (opcional, máx. 2.000 caracteres).Response: 1 enviada, 2 se postula en la web de la empresa, 3 hoja de vida incompleta, 4 ya postulado, 5 redirige a un paso adicional (por verificar).POST /co/api/jobOffersAplication/filters con el token de .js-application-api-token.Página /co/hoja-de-vida. Los catálogos vienen en atributos data-* de .js-conf (ciudades, cargos, sectores, instituciones, profesiones, áreas de cursos, habilidades, países).
| Sección | Endpoint |
|---|---|
| Foto | /co/Persons/PersonalInformation/LoadAsyncPhoto (multipart, campo Image; token del formulario LoadSyncPhoto) |
| Perfil profesional | /co/Persons/ProfessionalProfile/Save |
| Experiencia laboral | /co/Persons/LaboralExperience/Save (borrar: /Delete) |
| Educación formal | /co/Persons/FormalEducation/Save (borrar: /Delete) |
| Cursos y diplomados | /co/Persons/NonFormalEducation/Save (borrar: /Delete) |
| Idiomas | /co/Persons/LanguageKnowledge/Save; idiomas disponibles: /GetAvaibleLanguages |
| Redes sociales | /co/Persons/SocialNetwork/Save con modeli, modeli |
| Habilidades | /co/Persons/Skills/Save con Skillsi, Skillsi (id 0 = texto libre; el catálogo solo trae habilidades blandas) |
| Seguridad social | /co/Persons/SocialSecurity/Save con los SelectedIds de pensión, cesantías, EPS y caja, y ContributeToVoluntaryPensionFund |
| Archivos (CV) | /co/Persons/Attachment/SaveAttachment (multipart, campo File; borrar: /Delete) |
Fechas en dd/mm/aaaa; formularios en x-www-form-urlencoded al estilo jQuery.param.
5 al postular (posibles preguntas de filtro o pruebas).