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 分