Magneto

Registre officiel Autres

Busca ofertas, postula y mantiene tu hoja de vida en Magneto (magneto365.com, Colombia).

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 »).

NPM package mcp-magneto
Claude Code
claude mcp add magneto -e 'PERFIL_MAESTRO=<PERFIL_MAESTRO>' -e 'RAIZ_ARCHIVOS=<RAIZ_ARCHIVOS>' -e 'MAGNETO_DATA_DIR=<MAGNETO_DATA_DIR>' -e 'CHROME_PATH=<CHROME_PATH>' -- npx -y mcp-magneto@0.1.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "magneto": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-magneto@0.1.0"
            ],
            "env": {
                "PERFIL_MAESTRO": "<PERFIL_MAESTRO>",
                "RAIZ_ARCHIVOS": "<RAIZ_ARCHIVOS>",
                "MAGNETO_DATA_DIR": "<MAGNETO_DATA_DIR>",
                "CHROME_PATH": "<CHROME_PATH>"
            }
        }
    }
}

Variables d'environnement

  • PERFIL_MAESTRO Ruta del perfil maestro (JSON) compartido por los MCP de empleo
  • RAIZ_ARCHIVOS Base para las rutas relativas de la foto y el CV
  • MAGNETO_DATA_DIR Carpeta de la sesión y respaldos (por defecto ~/.magneto)
  • CHROME_PATH Ruta 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
  1. mcp-magneto
  2. Instalación
  3. Primeros pasos
  4. Flujo de postulación
  5. Herramientas
  6. Perfil maestro
  7. Referencia técnica
  8. Pendiente de verificar

mcp-magneto

Servidor MCP para Magneto (magneto365.com, Colombia). Con él puedes:

  • Buscar ofertas, ver su detalle y evaluar si encajan con tu perfil.
  • Responder el cuestionario de filtro y postular, una oferta a la vez y con tu confirmación explícita.
  • Mantener tu hoja de vida al día a partir de un archivo único con tus datos: el perfil maestro.

Funciona con cualquier cuenta de candidato de Magneto. 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 Magneto.

Proyecto no oficial. No está afiliado a Magneto ni respaldado por ella. Usa la API interna que consume su web, que puede cambiar sin aviso y romper alguna herramienta. Cada quien es responsable de usarlo de acuerdo con los términos de uso de Magneto. Las postulaciones son reales 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": {
    "magneto": {
      "command": "npx",
      "args": ["-y", "mcp-magneto"],
      "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-magneto.git
cd mcp-magneto
npm install

y usar "command": "node" con "args": ["/ruta/a/mcp-magneto/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)
RAIZ_ARCHIVOScarpeta del perfil maestroBase para las rutas relativas de foto y cv_pdf
MAGNETO_DATA_DIR~/.magnetoSesión (token), perfil del navegador y respaldos
CHROME_PATHse detectaRuta del ejecutable del navegador si no está en la ubicación habitual

La sesión y los respaldos quedan en ~/.magneto/, fuera de carpetas sincronizadas. El MCP nunca muestra tokens, cookies ni credenciales.

Primeros pasos

  1. iniciar-sesion: abre el navegador en el login de Magneto. Entras a mano (código por correo, Google, Microsoft o LinkedIn) y el MCP guarda el token. El token dura 24 horas; como el navegador del MCP conserva tu sesión, volver a llamar a iniciar-sesion la renueva sola en unos segundos.
  2. Si aún no tienes perfil maestro, construir-perfil-maestro te pide una fuente: la URL de tu LinkedIn, tu CV en PDF con tu foto, o lo que ya tienes en Magneto (desde_portal: true). Cuando lo apruebes, guardar-perfil-maestro lo valida y lo guarda.
  3. comparar-perfil: muestra qué falta, qué está desactualizado y qué sobra en Magneto frente al perfil maestro.
  4. actualizar-perfil por sección: primero sin aplicar, para ver el plan antes → después; luego con aplicar: true.

Flujo de postulación

  1. buscar-ofertas → detalle-de-oferta → evaluar-encaje.
  2. preguntas-de-postulacion: indica si ya estás postulado y lista las preguntas del cuestionario de filtro (todas obligatorias).
  3. proponer-respuestas: propone respuestas con el perfil maestro y las clasifica en respaldada, requiere_confirmacion o sin_respaldo. Las dos últimas se resuelven con el usuario: nunca se inventan.
  4. postular-a-oferta con confirmacion: "POSTULAR <id>" y las respuestas aprobadas. En Magneto el cuestionario y la postulación van en la misma petición.

Estados de respuesta: submitted, already_applied, needs_review (cuestionario incompleto, datos extra exigidos o postulación que quedó como preseleccionada por perfil incompleto), expired, sesion_expirada, limite_de_peticiones y error.

Herramientas

HerramientaQué hace
estado-de-sesion, iniciar-sesionSesión
buscar-ofertas, detalle-de-ofertaBúsqueda (sin sesión; con sesión indica si ya te postulaste)
evaluar-encajeCompara la oferta con tus preferencias (modalidad, salario según contrato, tecnologías declaradas e inglés)
preguntas-de-postulacion, proponer-respuestasLee el cuestionario de filtro y propone respuestas con datos del perfil maestro
postular-a-ofertaExige confirmacion: "POSTULAR <id>". Una a la vez, sin reintentos
mis-postulacionesTus procesos en Magneto
construir-perfil-maestro, guardar-perfil-maestro, ver-perfil-maestroHerramientas estándar del perfil maestro
ver-mi-perfil, comparar-perfil, actualizar-perfilHoja de vida. Secciones: descripcion, idiomas, habilidades, experiencia, formacion, certificaciones, preferencias
subir-foto, subir-cv, listar-mis-cvFoto y CV (Magneto guarda un solo CV)

Las ofertas se identifican por id, slug (desarrollador-backend-1088350) o URL. Sin sesión, Magneto solo da el detalle con el slug.

Toda escritura respalda antes lo que había (en ~/.magneto/respaldos/) y solo borra los ids que pases en eliminar_ids. La sección preferencias cambia cargo, salario mínimo, remoto, híbrido, viajar y cambio de domicilio; el resto del formulario (sector, nivel de estudios, ciudad, jornadas) se reenvía tal como está. Datos personales, ciudad de cada experiencia y "abierto a ofertas" se editan en la web.

Perfil maestro

Campos que usa Magneto (ver perfil-maestro.ejemplo.json):

CampoUso
resumen.esDescripción del perfil (máx. 2.000 caracteres). Para fijar otra, usa portales.magneto.descripcion
experiencia[]empresa, cargo (máx. 120), inicio/fin (AAAA-MM, fin: null = actual), descripcion_empresa, logros_es[], tecnologias[]
formacion[]institucion, titulo_es, inicio, fin, graduado, nivel opcional ("Universitaria", "Tecnológica", "Técnico", "Especialización"…). Sin nivel, el tipo de estudio se deduce del título; el país sale de datos_personales.pais. Los cursos van en certificaciones y los estudios sin terminar no se suben (Magneto no tiene ese estado)
certificaciones[]nombre, emisor, fecha (AAAA-MM), url opcional
habilidades_clave.tecnicas, aptitudesHabilidades (Magneto admite 10)
idiomas[]idioma y nivel (Básico, Intermedio, Avanzado, Nativo)
anios_experienciatotal y años por área o herramienta (p. ej. "react": "3", "contabilidad": 3, "nomina": 2) para responder cuestionarios
preferenciasmodalidad ("Solo remoto", "Presencial", "Híbrido", "Remoto o híbrido"), salario_minimo_laboral_cop, salario_minimo_prestacion_cop, acepta_reubicacion, puede_viajar
portales.magneto.cargoCargo en el que buscas empleo (Preferencias de Magneto)
respuestas_frecuentesRespuestas reutilizables: se proponen cuando su clave o su texto coinciden con la pregunta
datos_personales.foto, cv_pdfFoto (JPG o PNG) y CV en PDF
Perfiles de cualquier área

El MCP no asume una profesión. Probado con perfiles de desarrollo, auxiliar contable (presencial) y ejecutivo comercial (híbrido):

  • buscar-ofertas sin modalidad usa la del perfil: "Solo remoto" filtra remoto; presencial o híbrido sin reubicación busca en tu ciudad.
  • evaluar-encaje revisa ciudad (presencial o híbrida en otra ciudad), salario según contrato, inglés y, si el perfil declara 3 o más tecnologías de software, el stack; en los demás perfiles busca tus habilidades y herramientas en la descripción.
  • proponer-respuestas responde experiencia con tu cargo y tus años (y elige la opción de rango que corresponde, p. ej. "Más de 3 años"), compara mínimos en meses en preguntas sí/no, y usa tu formación y habilidades en preguntas de título o conocimientos. Lo que el perfil no sabe (vehículo, licencia, disponibilidad de turnos…) queda sin_respaldo; agrégalo en respuestas_frecuentes con claves de dos o más palabras (p. ej. "licencia_conduccion": "Sí, B1 vigente").

Límite: solo Colombia (búsqueda en C47, salarios en COP).

Referencia técnica

Magneto no tiene API pública para candidatos; la web usa https://api.magneto365.com con un JWT en Authorization: Bearer (cookie access_token de .magneto365.com, válida 24 h). Las lecturas se reintentan una vez si hay 429; los envíos nunca.

Ofertas (/jobs)
UsoEndpoint
Búsqueda pública / con sesiónGET /jobs/v1/public/jobs/search / GET /jobs/v1/jobs/search
Detalle público (slug) / con sesión (id)GET /jobs/v1/public/jobs/<slug> / GET /jobs/v1/jobs/<id>
UbicacionesGET /jobs/v1/public/locations?term=&country_id=47 (Colombia: C47, ciudades CT…)
CuestionarioGET /jobs/v1/questionnaire/<id> y GET /jobs/v1/questionnaire/already-answered/<id>
PostularPOST /jobs/v1/jobs/apply con {jobId, suggestedByMatcher, sourceOrigins, utmPayload, questionnaires?}
Mis procesosGET /jobs/v2/my-processes?page= y /jobs/v2/my-processes/counters
Datos extra exigidosPOST /sign-up-forms/v1/schema/apply con {id} (ofertas con templateId)

Parámetros de búsqueda: paginator[page], paginator[pageSize] (20 o 30), filters[locations][0], filters[work_modality][0] (remote, hybrid, onSite), filters[contract_type_id][0] (1 fijo, 2 indefinido, 3 temporal, 4 obra o labor, 5 prestación de servicios, 6 aprendizaje), order[field] (_score o publish_date), queries[0][field]=all, queries[0][term].

Respuestas del cuestionario: questionnaires: [{id, questions: [{id, type, openAnswer} | {id, type, answer: [{id, titleAnswer}]}]}]. Tipos: 0 opción única, 1 opción múltiple, 2 texto corto (140), 3 texto largo (2.500). Si la respuesta trae applicationId, la postulación quedó enviada; si trae level y missingFields, quedó preseleccionada por perfil incompleto.

Hoja de vida (/sign-up)

Lectura: GET /sign-up/v2/candidate/profile. Escritura: PATCH /sign-up/v2/candidate con {...sección, step} y la cabecera x-schema-response: profile-v2.

SecciónstepCuerpo
Descripción15{profileDescription}
Habilidades16{skills: [{id?, name, level}]} (lista completa)
Foto19{profileImageFileName, originalFileName}
Idiomas20{languages: [{id?, languageId, name, level}]} (lista completa; catálogo en /sign-up/v1/languages)
Experiencia37 / borrar 63{experiences: [{id?, position, company, description, atPresent, startDate, endDate}]}; borrar añade clearSection: "experiences"
Preferencias47{titleOrProfession, salary, currencyPayId, salaryFrequencyId, candidateSectors, educationLevelId, workCityId, availableTo{Move,RemoteWork,Travel,HybridWork}, internshipType, candidateJourneys}; enviar disability solo si existe (con null responde 502)
Certificaciones60 / borrar 67{certifications: [{id?, name, institution, expeditionDate, credentialUrl?, attachmentUrl?}]}; borrar añade clearSection: "certifications"
Redes y enlaces / hobbies24 / 25{socialMediaLinks} / {hobbies} (no usados por el MCP)
Formación76 / borrar 77{studies: [{id?, institute, profession, title, inProgress, startDate, endDate, studyType, countryId}]}; studyType es un id de /sign-up/v1/education/levels y countryId de /sign-up/v1/countries/active. Sin ambos, Magneto deja las postulaciones como preaplicación (missingFields: studies:<id>). Borrar añade clearSection: "studies"

Niveles de idiomas y habilidades: 1 básico, 2 intermedio, 3 avanzado, 4 profesional o nativo. Fechas AAAA-MM-DD. CV: PUT /sign-up/v1/candidate/upload-cv (multipart, campo file).

Pendiente de verificar

  • La subida de foto sale del código de la web, pero aún no se ha probado contra una cuenta real (el CV y las secciones de la hoja de vida sí).
  • Ofertas con templateId (datos extra del registro), preguntas de opción múltiple y de texto largo.
  • Borrar experiencias, estudios o certificaciones (eliminar_ids).

Questions fréquentes

Qu'est-ce que Magneto ?

Busca ofertas, postula y mantiene tu hoja de vida en Magneto (magneto365.com, Colombia).

Comment installer Magneto ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add magneto -e 'PERFIL_MAESTRO=<PERFIL_MAESTRO>' -e 'RAIZ_ARCHIVOS=<RAIZ_ARCHIVOS>' -e 'MAGNETO_DATA_DIR=<MAGNETO_DATA_DIR>' -e 'CHROME_PATH=<CHROME_PATH>' -- npx -y mcp-magneto@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 Magneto ?

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.

Magneto est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Magneto ?

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.