mcpField
E
elempleo

elempleo

本地服务
github.com/Jucamhc商业与营销01 周前更新

关于 elempleo

elempleo 是面向哥伦比亚求职者的 MCP 服务,可搜索职位、评估匹配度、投递申请,并通过共享的主档案更新简历。投递需明确确认,简历修改前会备份。

主要功能

  1. 01搜索职位并查看详情
  2. 02按档案偏好评估匹配度
  3. 03经明确确认后投递
  4. 04比较并更新简历分区
  5. 05创建并验证主档案
  6. 06上传简历和照片

适用场景

  1. 01按条件查找哥伦比亚职位
  2. 02查看职位与薪资及工作偏好的匹配度
  3. 03使用档案资料准备求职申请
  4. 04依据主档案更新 elempleo 简历

MCP 相关

向 MCP 客户端提供 elempleo 职位搜索、申请和简历管理工具。投递需明确确认,简历修改需显式执行应用步骤。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jucamhc-mcp-elempleo": {
"command": "npx",
"args": [
"-y",
"mcp-elempleo"
],
"env": {
"PERFIL_MAESTRO": "<PERFIL_MAESTRO>",
"RAIZ_ARCHIVOS": "<RAIZ_ARCHIVOS>",
"ELEMPLEO_DATA_DIR": "<ELEMPLEO_DATA_DIR>",
"CHROME_PATH": "<CHROME_PATH>"
}
}
}
}
启动命令npx -y mcp-elempleo
需要配置的环境变量
PERFIL_MAESTRORuta del perfil maestro (JSON) compartido por los MCP de empleo
RAIZ_ARCHIVOSBase para las rutas relativas de la foto y el CV
ELEMPLEO_DATA_DIRCarpeta de la sesión, caché y respaldos (por defecto ~/.elempleo)
CHROME_PATHRuta del navegador Chromium usado para iniciar sesión

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-elempleo0.1.0

工具

19

收录的工具列表 · 更新于 1 周前

此工具无需参数。

详细介绍

mcp-elempleo

适用于 elempleo.com(哥伦比亚)的 MCP 服务。你可以用它:

  • 搜索职位、查看详情,并评估职位是否符合你的个人资料。
  • 每次申请一个职位,并在你明确确认后提交申请。
  • 根据一份包含你个人资料的文件,随时更新你的简历:主档案。

它适用于任何 elempleo 账户。代码中没有写入任何个人数据:所有数据均来自主档案或你已上传到 elempleo 的简历。

安装

要求:Node.js 20 或更高版本,以及基于 Chromium 的浏览器(Chrome、Edge、Brave 或 Chromium),浏览器仅用于登录。

在你的 MCP 客户端中注册它(例如 ~/.cursor/mcp.json 或 Claude Desktop 的配置)。npx 会从 npm 下载并保持更新:

{
  "mcpServers": {
    "elempleo": {
      "command": "npx",
      "args": ["-y", "mcp-elempleo"],
      "env": { "PERFIL_MAESTRO": "/ruta/a/mi/perfil-maestro.json" }
    }
  }
}

它是独立的:包含主档案标准(src/perfil-maestro.js、perfil-maestro.schema.json 和 PERFIL-MAESTRO.md)。其他求职 MCP 也附带相同副本,因此它们都使用同一份档案。

你也可以从源代码安装:

git clone https://github.com/Jucamhc/mcp-elempleo.git
cd mcp-elempleo
npm install

并使用 "command": "node" 和 "args": ["/ruta/a/mcp-elempleo/src/index.js"]。

环境变量(均为可选)
变量默认值用途
PERFIL_MAESTRO~/.perfil-maestro/perfil-maestro.json主档案路径(所有 MCP 共用)
RAIZ_ARCHIVOS主档案文件夹foto 和 cv_pdf 相对路径的基准目录
ELEMPLEO_DATA_DIR~/.elempleo会话(Cookie)、目录缓存、浏览器配置文件和备份
CHROME_PATH自动检测浏览器不在常用位置时,指定浏览器可执行文件的路径

会话和备份保存在 ~/.elempleo/ 中,不会放在同步文件夹内。MCP 不会显示 Cookie 或凭据。

入门

  1. iniciar-sesion:在 elempleo 登录页面打开浏览器。你需要手动登录(该流程包含 reCAPTCHA 和两步验证),MCP 会保存会话。

  2. 如果你还没有主档案,construir-perfil-maestro 会要求你提供资料来源:

    • 你的 LinkedIn URL。 LinkedIn 不允许自动读取个人资料,因此 MCP 会说明如何通过“更多 → 保存为 PDF”导出资料。
    • 你的 PDF 简历和照片。 MCP 会提取文本,助手会根据标准整理档案,供你审核。
    • 你在 elempleo 上已有的资料(desde_portal: true)。

    审核通过后,guardar-perfil-maestro 会验证并保存档案,以及照片和简历。

  3. comparar-perfil:对比 elempleo 与主档案,显示缺少、已过时和多余的内容。

  4. 按部分使用 actualizar-perfil:先不设置 aplicar,查看更新前后的计划;然后设置 aplicar: true。

主档案

这是一个作为唯一可信数据源的 JSON,并遵循共享标准。MCP 会读取它,不会编造数据。elempleo 使用的字段(参见 perfil-maestro.ejemplo.json):

字段用途
datos_personalesciudad、pais、zona_horaria、链接(linkedin、github、portafolio……)和 foto(相对或绝对路径)
titular.es、resumen.es职业简介和给雇主留言的首行
profesion可选:elempleo 目录中的准确名称。若缺少,则使用你的最高学历头衔
experiencia[]empresa、cargo、cargo_oficial、inicio/fin(AAAA-MM,fin: null = 当前)、ubicacion、descripcion_empresa、logros_es[]、tecnologias[]
formacion[]institucion、titulo_es、inicio、fin、graduado、mostrar_en_cv
certificaciones[]nombre、emisor、fecha
aptitudes、habilidades_claveaptitudes(自由分组)和 habilidades_clave.tecnicas/blandas(elempleo 最多 20 项,每项 40 个字符)
idiomas[]idioma 和 nivel(母语、基础、中级或高级)
preferenciasmodalidad(例如“仅远程”)、salario_minimo_laboral_cop、salario_minimo_prestacion_cop、acepta_reubicacion、puede_viajar、paises、disponibilidad
seguridad_socialpension_obligatoria、cesantias、pension_voluntaria、eps、caja_compensacion(elempleo 中显示的名称)
cv_pdfPDF 路径;如果有多个版本,则使用 { "version": "ruta" } 对象
respuestas_frecuentes可重复使用的回答(例如 uso_ia)
如何从 elempleo 的目录中选择选项

elempleo 要求从其自有列表中选择对应职位、行业、城市、教育程度、课程领域和职业。MCP 会选择与你提供的数据共享词语最多的选项,并将其显示在计划中供你检查。如果想固定选项,请在 portales.elempleo 中添加目录中的准确名称(其他 MCP 会忽略此键):

  • 在 experiencia[].portales.elempleo 中:cargo_equivalente、sector 和 ciudad。
  • 在 formacion[].portales.elempleo 中:nucleo_conocimiento。教育程度和城市使用标准字段 nivel 和 ciudad。
  • 在 certificaciones[].portales.elempleo 中:area;或者在根目录的 portales.elempleo 中设置通用的 area_cursos。

工具

工具功能
estado-de-sesion、iniciar-sesion会话
buscar-ofertas、detalle-de-oferta搜索(无需会话)
evaluar-encaje根据你的偏好(工作模式、按合同类型划分的薪资、填写的技术和英语水平)比较职位
preguntas-de-postulacion、proponer-respuestas读取申请表,并使用主档案数据撰写留言
postular-a-oferta必须提供 confirmacion: "POSTULAR <id>"。一次一项,不重试。如果公司要求填写问卷,则返回包含问题的 requiere_cuestionario
responder-cuestionario提交申请后的筛选问卷。必须提供 confirmacion: "CUESTIONARIO <id>",且回答须经用户批准
mis-postulaciones申请状态
construir-perfil-maestro、guardar-perfil-maestro、ver-perfil-maestro主档案标准工具:从 LinkedIn、带照片的 PDF 简历或 elempleo 创建档案;验证并保存;查看档案
ver-mi-perfil、comparar-perfil、actualizar-perfil简历。分区:perfil_profesional、experiencia、formacion、cursos、idiomas、redes_sociales、habilidades、seguridad_social
subir-foto、subir-cv、listar-mis-cv照片和文件

每次写入之前都会备份现有内容(位于 ~/.elempleo/respaldos/),并且只会删除你在 eliminar_ids 中传入的 ID。

技术参考

elempleo 没有公共 API;网站使用的是内部 API(采用防伪令牌的 ASP.NET MVC)。

搜索(无会话)
  1. GET /co/ofertas-empleo/?Trabajo=<palabra> 获取 Cookie 和 <span class="js-search-api-token"> 中的令牌。

  2. 使用 __RequestVerificationToken 请求头和以下请求体,向 /co/api/joboffers/findbyfilter 发送 POST 请求:

    {"query":"desarrollador","salaryInfo":[],"contractType":0,"workModality":101,
     "cities":[],"publishDate":0,"pageIndex":1,"pageSize":20,"sortExpression":"PublishDate_Desc"}
    
筛选条件值
workModality0 全部,100 现场,102 混合,101 远程
contractType0 全部,1 无固定期限,2 固定期限,3 服务提供,4 学徒,5 工程或劳动,6 其他
salaryInfo(百万 COP)2 少于 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 超过 21
publishDate1 今天和昨天,2 一周内,3 两周内,4 一个月内,6 超过一个月

详情:GET /co/api/joboffers/getjoboffer?jobOfferId=<id>。

申请职位(有会话)
  • 快速申请:使用 Attachments.SelectedIds,向 /co/JobOffers/JobOfferDetail/SaveQuickApplication?JobOfferId=&CurrentAttachmentCVId= 发送 POST 请求。
  • 普通申请:使用 ApplicationNote(可选,最多 2,000 个字符),向 /co/JobOffers/JobOfferDetail/Save?jobOfferId= 发送 POST 请求。
  • Response:1 已提交,2 在公司网站申请,3 简历不完整,4 已申请,5 重定向到额外步骤(待验证)。
  • 我的申请:使用 .js-application-api-token 中的令牌,向 /co/api/jobOffersAplication/filters 发送 POST 请求。
简历

页面 /co/hoja-de-vida。目录数据来自 .js-conf 的 data-* 属性(城市、职位、行业、机构、专业、课程领域、技能、国家)。

部分端点
照片/co/Persons/PersonalInformation/LoadAsyncPhoto(multipart,字段 Image;使用表单 LoadSyncPhoto 的令牌)
职业档案/co/Persons/ProfessionalProfile/Save
工作经验/co/Persons/LaboralExperience/Save(删除:/Delete)
正规教育/co/Persons/FormalEducation/Save(删除:/Delete)
课程和文凭/co/Persons/NonFormalEducation/Save(删除:/Delete)
语言/co/Persons/LanguageKnowledge/Save;可用语言:/GetAvaibleLanguages
社交网络使用 model[i][Id]、model[i][Url],发送至 /co/Persons/SocialNetwork/Save
技能使用 Skills[i][id]、Skills[i][name],发送至 /co/Persons/Skills/Save(id 为 0 表示自由文本;目录仅包含软技能)
社会保障使用养老金、遣散费、EPS 和补偿基金的 SelectedIds 以及 ContributeToVoluntaryPensionFund,发送至 /co/Persons/SocialSecurity/Save
文件(简历)/co/Persons/Attachment/SaveAttachment(multipart,字段 File;删除:/Delete)

日期格式为 dd/mm/aaaa;表单使用 x-www-form-urlencoded,格式类似 jQuery.param。

待验证

  • 申请时响应代码 5 会返回什么(可能是筛选问题或测试)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。