104.com.tw Jobs Search MCP
A través de MCP, permite que el asistente de IA opere directamente 104人力銀行, logrando una herramienta de automatización de búsqueda de empleo que incluye búsqueda, lectura de vacantes y asistencia en la postulación (Hit-in-the-loop).
Documentación
104 Job Hunter MCP
A través de MCP (Model Context Protocol), permite que la IA opere directamente en 104 Job Bank. Automatiza la búsqueda, comparación y postulación. 🤖 Aplicación avanzada: usa
AGENTS.mdpara iniciar el diálogo y crea un "avatar virtual del candidato" (MY_PROFILE.md) directamente desde tu currículum existente, para apuntar con precisión a las vacantes.
[!IMPORTANT] 🤖 Principio rector supremo para agentes de IA (System Prompt for AI)
Si eres una IA que toma este proyecto, tu siguiente paso es leer inmediatamente el
AGENTS.mden la raíz del proyecto. Allí encontrarás el guion estándar para crear el "avatar virtual", filtrar vacantes y postularte. No ejecutes ninguna herramienta de búsqueda hasta haberlo leído.
✨ Funciones principales (Features)
- 🔍 Búsqueda por intercepción de API: intercepta directamente la API JSON del backend de 104, evitando los mecanismos anti-scraping del frontend.
- 📄 Lectura de detalles de vacantes: usa Chrome real para extraer descripciones del puesto, requisitos y beneficios.
- 🛡️ Mecanismo de seguridad Hit-in-the-loop: la herramienta de postulación solo rellena la carta de presentación, nunca presiona enviar por ti.
- 🍪 Sesión persistente: las cookies se guardan en un perfil de Chrome dedicado, sin necesidad de iniciar sesión repetidamente.
- 🤖 Normas de comportamiento del agente: incluye
AGENTS.mdcon guiones de búsqueda de empleo automatizados.
🔒 Privacidad y seguridad (Privacy & Security)
Esta herramienta usa una arquitectura Local-First (prioridad local) para garantizar la seguridad de tu cuenta:
- 100% ejecución local: el servidor MCP solo se ejecuta en tu computadora y no envía contraseñas.
- Sin manejo de contraseñas: al iniciar sesión se abre Chrome local y tú mismo inicias sesión en la página oficial de 104.
- Aislamiento seguro de cookies: se almacenan cifradas en la carpeta local
.chrome-profile/. Esa carpeta está incluida en.gitignorey no se sube a GitHub.
🚀 Instalación y ejecución (Setup)
1. Clonar el proyecto y compilar
git clone https://github.com/YuJunWang/104-job-hunter-mcp.git
cd 104-job-hunter-mcp
npm install
npm run build
(Requisitos del sistema: Node.js 18+, Google Chrome)
2. Iniciar sesión en tu cuenta de 104 (solo una vez)
npx tsx src/login.ts
Al ejecutarlo se abrirá una ventana de Chrome; inicia sesión manualmente en 104 y cierra la ventana al terminar.
3. Montar el servidor MCP
Pega la siguiente configuración en el archivo de configuración del cliente MCP (como mcp_config.json de Antigravity o config.json de Claude Desktop):
{
"mcpServers": {
"104-job-hunter": {
"command": "node",
"args": ["/絕對路徑/104-job-hunter-mcp/build/index.js"]
}
}
}
(Usuarios de Windows: presten atención al escape de barras invertidas en las rutas: C:\\Users\\你的帳號\\...\\build\\index.js)
Reinicia el cliente de IA y las herramientas estarán listas.
4. Configurar el "cerebro" de la IA (normas del agente)
- Copia
MY_PROFILE.example.mdde la raíz y renómbralo comoMY_PROFILE.md. - Completa tus preferencias laborales y puntos no negociables.
- Haz que la IA lea
AGENTS.md:- Antigravity: coloca
AGENTS.mden.agents/rules/, o guárdalo como Skill global (~/.gemini/config/skills/104-hunter/SKILL.md). - Cursor: pega el contenido de
AGENTS.mden.cursorrules. - Claude Desktop: pégalo en el System Prompt.
- Díselo directamente: "Lee MY_PROFILE.md y AGENTS.md del proyecto y ayúdame a buscar trabajo según el flujo".
- Antigravity: coloca
🤖 Manual de desarrollo y operación para agentes de IA
Instrucciones de traspaso de configuración del entorno para la IA
Si eres una IA encargada de instalar el MCP para un humano, ejecuta los siguientes pasos:
- Ejecuta
git clone,npm installynpm run build.- Pide al humano que ejecute
npx tsx src/login.tse inicie sesión manualmente.- Ayuda al humano a escribir la ruta absoluta del MCP en el archivo de configuración.
- Lee
AGENTS.mdpara entender el guion de operación.- Según
AGENTS.md, guía al humano para crearMY_PROFILE.md.
Lista de herramientas (MCP Tools)
job104_check_session
- Función: verifica el estado de la sesión.
- Momento: al inicio del flujo de búsqueda de empleo, para asegurar que las cookies no hayan expirado.
job104_search
- Parámetros obligatorios:
keyword(ej.:AI 全端工程師 Python) - Parámetros opcionales:
location(ej.:台北市),page(por defecto 1) - Nota: la IA debe comparar los resultados en segundo plano y mostrar solo los 3 a 5 mejores al humano.
job104_get_details
- Parámetros obligatorios:
job_url - Función: obtiene la descripción del puesto, requisitos y beneficios. Imprescindible antes de redactar una carta de recomendación.
job104_get_cover_letters
- Parámetros opcionales:
job_url - Función: lee todas las plantillas de cartas de presentación (Cover Letter) guardadas en la cuenta de 104, incluidos títulos y contenido completo. Sirve como base para que la IA personalice y refine.
job104_prepare_application (Hit-in-the-loop)
- Parámetros obligatorios:
job_url - Parámetros opcionales:
template_title(especifica el nombre de la plantilla a usar),cover_letter_text(contenido personalizado de la carta),dry_run(por defecto false) - Nota: solo abre la página de confirmación de postulación y rellena la carta. Tras ejecutarla, la IA debe recordar al humano: "Haz clic manualmente para confirmar el envío".
job104_search_companies
- Parámetros obligatorios:
keyword(nombre de la empresa) - Parámetros opcionales:
page,pageSize
job104_get_company_detail
- Parámetros obligatorios:
companyInput(código o URL) - Función: obtiene los beneficios de la empresa, sus productos y la lista de vacantes abiertas.
job104_save_job
- Parámetros obligatorios:
jobInput(código o URL) - Función: guarda la vacante en favoritos de 104.
job104_save_company
- Parámetros obligatorios:
companyInput(código o URL) - Función: sigue a la empresa.
job104_reload_server
- Función: reinicia elegantemente el servidor MCP para cargar el código recién compilado, evitando bloqueos del proceso o interrupciones del canal stdio.
📁 Estructura del proyecto
104-job-hunter-mcp/
├── src/
│ ├── index.ts # MCP 主程式,工具註冊入口
│ ├── browser.ts # Playwright 瀏覽器單例管理 (含 Stealth Plugin)
│ ├── login.ts # 登入輔助腳本
│ ├── utils/
│ │ └── url.ts # 職缺/公司 URL 與代碼解析模組
│ ├── __tests__/
│ │ └── url.test.ts # URL 單元測試
│ └── tools/
│ ├── search.ts # job104_search
│ ├── details.ts # job104_get_details
│ ├── letters.ts # job104_get_cover_letters
│ ├── apply.ts # job104_prepare_application
│ ├── company.ts # job104_search_companies, job104_get_company_detail
│ ├── save.ts # job104_save_job, job104_save_company
│ └── session.ts # job104_check_session
├── examples/
│ └── client.ts # 本地測試客戶端範例
├── build/ # npm run build 輸出 (不進 git)
├── .chrome-profile/ # Cookie 儲存目錄 (不進 git)
├── AGENTS.md # AI 操作劇本
├── MY_PROFILE.example.md # 虛擬分身範本
├── package.json
└── tsconfig.json