104.com.tw Jobs Search MCP
Por meio do MCP, permite que assistentes de IA operem diretamente o 104 Banco de Talentos, possibilitando busca, leitura de vagas e auxílio na candidatura (Hit-in-the-loop) como ferramenta de automação de procura de emprego.
Documentação
104 Job Hunter MCP
Através do MCP (Model Context Protocol), permite que a IA opere diretamente no 104 Job Bank. Automatiza busca, comparação e candidatura a vagas. 🤖 Aplicação avançada: use
AGENTS.mdpara iniciar perguntas e respostas, criando um "avatar virtual do candidato" (MY_PROFILE.md) diretamente do seu currículo existente, mirando com precisão as vagas.
[!IMPORTANT] 🤖 Princípio máximo para Agentes de IA (System Prompt for AI)
Se você é uma IA assumindo este projeto, seu próximo passo é ler imediatamente o
AGENTS.mdna raiz do projeto. Lá estão os roteiros padrão para criar o "avatar virtual", filtrar vagas e se candidatar. Antes de ler, é proibido executar qualquer ferramenta de busca.
✨ Funcionalidades principais (Features)
- 🔍 Busca por interceptação de API: intercepta diretamente a API JSON do backend do 104, contornando os mecanismos anti-bot do frontend.
- 📄 Leitura de detalhes da vaga: usa Chrome real para extrair descrição do cargo, requisitos e benefícios.
- 🛡️ Mecanismo de segurança Hit-in-the-loop: a ferramenta de candidatura apenas preenche a carta de apresentação, nunca envia por você.
- 🍪 Login persistente: cookies salvos em um perfil Chrome dedicado, sem necessidade de login repetido.
- 🤖 Regras de comportamento do agente: o
AGENTS.mdintegrado fornece roteiros automatizados de busca de emprego.
🔒 Privacidade e Segurança (Privacy & Security)
Esta ferramenta usa uma arquitetura Local-First (prioridade local) para garantir a segurança da sua conta:
- 100% execução local: o servidor MCP roda apenas no seu computador, sem enviar senhas ou dados de login.
- Sem manipulação de senha: ao fazer login, um Chrome local é aberto e você mesmo faz login na página oficial do 104.
- Isolamento seguro de cookies: armazenados criptografados localmente em
.chrome-profile/. Essa pasta está listada no.gitignoree não será enviada ao GitHub.
🚀 Instalação e Execução (Setup)
1. Clone o projeto e faça o build
git clone https://github.com/YuJunWang/104-job-hunter-mcp.git
cd 104-job-hunter-mcp
npm install
npm run build
(Pré-requisitos: Node.js 18+, Google Chrome)
2. Faça login na sua conta 104 (apenas uma vez)
npx tsx src/login.ts
Após executar, uma janela do Chrome será aberta. Faça login manualmente no 104 e feche a janela ao concluir.
3. Monte o servidor MCP
Cole a configuração abaixo no arquivo de configuração do cliente MCP (como mcp_config.json do Antigravity ou config.json do Claude Desktop):
{
"mcpServers": {
"104-job-hunter": {
"command": "node",
"args": ["/絕對路徑/104-job-hunter-mcp/build/index.js"]
}
}
}
(Usuários Windows: atenção ao escape de barras invertidas no caminho: C:\\Users\\你的帳號\\...\\build\\index.js)
Reinicie o cliente de IA e as ferramentas estarão prontas.
4. Configure o "cérebro" da IA (Regras do agente)
- Copie o
MY_PROFILE.example.mdda raiz e renomeie paraMY_PROFILE.md. - Preencha suas preferências de emprego e requisitos indispensáveis.
- Faça a IA ler o
AGENTS.md:- Antigravity: coloque o
AGENTS.mdno.agents/rules/, ou salve como Skill global (~/.gemini/config/skills/104-hunter/SKILL.md). - Cursor: cole o conteúdo de
AGENTS.mdno.cursorrules. - Claude Desktop: cole no System Prompt.
- Direto: diga "Leia o MY_PROFILE.md e o AGENTS.md do projeto e me ajude a encontrar emprego seguindo o fluxo".
- Antigravity: coloque o
🤖 Manual de Desenvolvimento e Operação para Agentes de IA
Instruções de entrega de configuração do ambiente para IA
Se você é uma IA responsável por instalar o MCP para um humano, execute os seguintes passos:
- Rode
git clone,npm installenpm run build.- Peça ao humano para rodar
npx tsx src/login.tse fazer login manualmente.- Ajude o humano a escrever o caminho absoluto do MCP no arquivo de configuração.
- Leia o
AGENTS.mdpara entender o roteiro de operação.- Com base no
AGENTS.md, oriente o humano a criar oMY_PROFILE.md.
Lista de ferramentas (MCP Tools)
job104_check_session
- Função: verifica o status do login.
- Momento: no início do fluxo de busca de emprego, garante que os cookies não expiraram.
job104_search
- Parâmetros obrigatórios:
keyword(ex.:AI 全端工程師 Python) - Parâmetros opcionais:
location(ex.:台北市),page(padrão 1) - Atenção: a IA deve comparar os resultados em segundo plano e mostrar apenas os Top 3–5 ao humano.
job104_get_details
- Parâmetros obrigatórios:
job_url - Função: obtém descrição do cargo, requisitos e benefícios. Essencial antes de redigir a carta de recomendação.
job104_get_cover_letters
- Parâmetros opcionais:
job_url - Função: lê todos os modelos de carta de apresentação (Cover Letter) salvos na conta 104, incluindo título e conteúdo completo. Pode ser usado como base para personalização e refinamento pela IA.
job104_prepare_application (Hit-in-the-loop)
- Parâmetros obrigatórios:
job_url - Parâmetros opcionais:
template_title(nome do modelo a usar),cover_letter_text(conteúdo personalizado da carta),dry_run(padrão false) - Atenção: apenas abre a página de confirmação de candidatura e preenche a carta. Após executar, a IA deve lembrar o humano: "Clique manualmente para confirmar o envio".
job104_search_companies
- Parâmetros obrigatórios:
keyword(nome da empresa) - Parâmetros opcionais:
page,pageSize
job104_get_company_detail
- Parâmetros obrigatórios:
companyInput(código ou URL) - Função: obtém benefícios da empresa, produtos e lista de vagas abertas.
job104_save_job
- Parâmetros obrigatórios:
jobInput(código ou URL) - Função: adiciona a vaga aos favoritos no 104.
job104_save_company
- Parâmetros obrigatórios:
companyInput(código ou URL) - Função: segue a empresa.
job104_reload_server
- Função: reinicia o servidor MCP de forma elegante para carregar código recém-compilado, evitando travamentos de processo ou interrupção do pipe stdio.
📁 Estrutura do projeto
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