Magneto

io.github.Jucamhc由 GitHub 账号 Jucamhc 发布v0.1.0更新于 Nov 6, 2026

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

概览

AI 生成的概览

面向哥伦比亚 Magneto 的非官方 MCP 服务器:搜索职位、评估匹配度、确认后投递,并同步简历资料。

可以做什么
  • 搜索并查看职位,包括完整详情与基于个人档案的匹配度评估
  • 读取投递问卷,依据主档案起草答案并标注需用户确认的部分
  • 在明确确认码下逐个投递职位,并列出自己的投递进程
  • 创建、校验、保存和查看共享的主档案 JSON
  • 对比、更新并备份 Magneto 简历各栏目,上传照片与简历
适用场景
适合在哥伦比亚通过 Magneto 求职、希望由助手筛选职位、按偏好判断匹配度、准备问卷答案并保持简历资料一致的用户。不适用于其他国家或其他招聘平台。
运行要求
以本地进程运行,需 Node.js 20 或更高版本,以及仅用于登录的 Chromium 系浏览器(Chrome、Edge、Brave 或 Chromium)。可选环境变量:PERFIL_MAESTRO、RAIZ_ARCHIVOS、MAGNETO_DATA_DIR、CHROME_PATH。使用会话相关工具需 Magneto 求职者账号,登录需在浏览器中手动完成。
安装前请注意
非官方项目,使用 Magneto 内部接口,接口可能变更导致工具失效。投递是真实且不可撤销的,服务器要求确认内容严格为 POSTULAR ,且不会自动重试。更新简历、上传照片和简历会写入账号,且 Magneto 只保留一份简历,现有简历会被替换。会话令牌保存在数据目录中,服务器称不会显示令牌或 Cookie。照片上传尚未在真实账号上验证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Magneto,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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:

json
{  "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:

bash
git clone https://github.com/Jucamhc/mcp-magneto.gitcd mcp-magnetonpm 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).

来源:README.md,提交 4d731ec

工具

18

estado-de-sesion

Indica si hay una sesión vigente de Magneto (el token dura 24 h) y el estado de la hoja de vida. Nunca muestra tokens ni cookies.

无需输入参数。

iniciar-sesion

Abre un navegador basado en Chromium (Chrome, Edge, Brave o Chromium) en el login de Magneto para que el usuario entre a mano (código por correo, Google, Microsoft o LinkedIn). Si el navegador del MCP ya tenía la sesión, se renueva sola en segundos. Guarda el token en la carpeta de datos del MCP y cierra la ventana.

输入参数espera_max_segundos

buscar-ofertas

Busca ofertas en Magneto (magneto365.com, Colombia). Funciona sin sesión; con sesión indica si ya te postulaste. Magneto no publica la modalidad por oferta: el filtro de modalidad es del portal y en el detalle se infiere del texto.

输入参数ordenciudadpaginapalabracontratomodalidadpor_paginasalario_minimo_millones

detalle-de-oferta

Devuelve la descripción completa de una oferta: requisitos, habilidades, salario, contrato, modalidad inferida, ciudad y si tiene cuestionario de filtro.

输入参数oferta必填

evaluar-encaje

Compara la oferta con el perfil maestro y sus preferencias (modalidad, salario mínimo según tipo de contrato, tecnologías declaradas y nivel de inglés) y devuelve encaja, encaja_parcial o no_encaja con los motivos.

输入参数oferta必填

preguntas-de-postulacion

Lee cómo se postula a la oferta (requiere sesión): si ya estás postulado, si exige datos extra y las preguntas del cuestionario de filtro con sus opciones y límites. No envía nada.

输入参数oferta必填

proponer-respuestas

Propone respuestas al cuestionario de filtro a partir del perfil maestro y las clasifica (respaldada, requiere_confirmacion, sin_respaldo). Nunca inventa datos ni envía nada.

输入参数oferta必填

postular-a-oferta

Envía la postulación con las respuestas del cuestionario (si lo hay) en una sola petición. Exige la confirmación explícita del usuario para ESA oferta: confirmacion debe ser exactamente "POSTULAR <id>". Una oferta a la vez, sin reintentos automáticos.

输入参数oferta必填respuestasconfirmacion必填

mis-postulaciones

Lista tus procesos (postulaciones) en Magneto con su estado.

输入参数pagina

construir-perfil-maestro

Crea el perfil maestro (fuente única de tus datos para todos los MCP de empleo) cuando aún no existe. Sin argumentos, indica qué pedirle al usuario: la URL de su LinkedIn, o su CV en PDF y su foto. Con un PDF devuelve el texto extraído, el esquema estándar y las reglas para armar el JSON; con solo la URL de LinkedIn explica cómo exportar el perfil a PDF. No guarda nada: eso lo hace guardar-perfil-maestro tras la confirmación del usuario.

输入参数fototextocv_pdfdesde_portallinkedin_url

guardar-perfil-maestro

Valida el perfil maestro contra el esquema estándar y lo guarda (por defecto en ~/.perfil-maestro/perfil-maestro.json). Copia la foto y el CV junto al perfil. Llamar solo después de que el usuario apruebe el contenido. No sobrescribe uno existente salvo sobrescribir: true (y lo respalda).

输入参数fotocv_pdfperfil必填sobrescribir

ver-perfil-maestro

Muestra el perfil maestro, dónde está, si cumple el esquema estándar y qué queda pendiente de confirmar.

无需输入参数。

ver-mi-perfil

Lee tu hoja de vida actual en Magneto: descripción, experiencia, formación, habilidades, idiomas, disponibilidad, foto y CV.

无需输入参数。

comparar-perfil

Compara tu hoja de vida de Magneto con el perfil maestro y lista lo que falta, lo desactualizado, lo que sobra y lo que conviene corregir en la web.

无需输入参数。

actualizar-perfil

Actualiza una sección de la hoja de vida desde el perfil maestro. Sin aplicar devuelve el plan exacto (antes → después) para mostrarlo al usuario; con aplicar=true respalda en ~/.magneto/respaldos/ y guarda. Solo borra los ids indicados en eliminar_ids.

输入参数aplicarseccion必填eliminar_ids

subir-foto

Sube la foto indicada en datos_personales.foto del perfil maestro (JPG o PNG, máx. 5 MB) como foto de perfil. Sin aplicar solo muestra lo que haría.

输入参数aplicar

subir-cv

Sube el CV en PDF del perfil maestro (cv_pdf: una ruta, o un objeto con varias versiones). Magneto guarda un solo CV: reemplaza el actual. Sin aplicar solo muestra lo que haría.

输入参数aplicarversion

listar-mis-cv

Muestra el CV adjunto en Magneto.

无需输入参数。

版本历史

1
  1. v0.1.0最新Oct 23, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分