boss-cli-mcp
boss-cli-mcp
CLI de automatización de Boss 直聘 y servicio MCP, ampliado a partir de joohw/boss-cli.
El proyecto controla el Chrome local mediante Puppeteer/CDP, reutiliza el estado de inicio de sesión local y ofrece a clientes de IA compatibles con MCP —como Claude Desktop, Cursor, Zcode, etc.— capacidades de consulta de candidatos, chat, envío de mensajes, respuestas en lote, búsqueda de recomendaciones y gestión de puestos.
Este proyecto ejecuta operaciones reales sobre cuentas de Boss 直聘. Antes de enviar mensajes, saludar candidatos, consultar currículos o realizar coincidencias en profundidad, confirme la identidad de los candidatos y los parámetros, y cumpla las reglas de la plataforma.
Funciones
Leer la lista completa de candidatos o solo los no leídos
Abrir el chat por nombre o por índice de la lista
Enviar un único mensaje
Responder a candidatos en lote de forma asíncrona
Consultar el progreso del envío en lote y el resultado individual
Solicitar currículos, añadir notas, marcar como no apto, intercambiar 微信 y otras acciones de chat
Leer candidatos recomendados y resultados de búsquedas normales
Búsqueda en profundidad y coincidencia
Previsualizar currículos en línea
Leer la lista de puestos y el detalle de cada puesto
Dos modos de invocación: CLI y stdio MCP
Related MCP server: Chrome MCP Server
Requisitos del entorno
Node.js 20 o una versión superior
Tener instalado Chrome o Chromium en el equipo
Windows, macOS o Linux
Una cuenta que pueda iniciar sesión en el entorno de empresa de Boss 直聘 en la web
Instalación
Ejecutar el MCP desde este repositorio
git clone https://github.com/bmbbms/boss-cli-mcp.git D:\boss-cli
cd D:\boss-cli
npm install
npm run buildEntrada de MCP después de compilar:
D:\boss-cli\dist\mcp\index.jsPara probar el inicio manualmente:
& "D:\nodejs\node.exe" "D:\boss-cli\dist\mcp\index.js"MCP utiliza la comunicación stdio; es normal que el terminal no muestre salida después de iniciar. Puede detener el proceso de prueba con Ctrl+C.
Instalar el CLI upstream
Si solo se necesita el CLI, puede instalar directamente el paquete npm upstream:
npm install -g @joohw/boss-cli@latest
boss helpConfigurar el cliente MCP
Zcode
{
"boss-recruiter": {
"type": "stdio",
"command": "D:\\nodejs\\node.exe",
"args": [
"D:\\boss-cli\\dist\\mcp\\index.js"
]
}
}Claude Desktop
Añada el siguiente contenido al archivo de configuración de MCP de Claude Desktop:
{
"mcpServers": {
"boss-recruiter": {
"command": "D:\\nodejs\\node.exe",
"args": [
"D:\\boss-cli\\dist\\mcp\\index.js"
]
}
}
}Nota:
En
commandsolo debe indicar la ruta del ejecutable de Node.js.La ruta completa del archivo MCP debe ser una cadena dentro del array
args; no debe dividirse por espacios.Las barras invertidas de Windows en el JSON deben escribirse como
\\.Después de modificar la configuración, reinicie o vuelva a cargar completamente el cliente MCP.
Si no está seguro de la ruta de instalación de Node.js, ejecute en PowerShell:
(Get-Command node).SourcePrimer inicio de sesión
Tras la conexión correcta del cliente MCP, invoque:
boss_loginLa herramienta abrirá el Chrome local. Después de completar el escaneo o la verificación, las operaciones posteriores reutilizarán la sesión del navegador local guardada en ~/.boss-cli/.
Herramientas MCP
Herramienta | Descripción |
| Abrir la página de inicio de sesión de Boss |
| Leer todos los candidatos o los no leídos |
| Abrir el chat por nombre |
| Abrir el chat por número de la lista de candidatos |
| Ejecutar acciones de chat: solicitar currículo, añadir nota, no apto, 微信, etc. |
| Enviar un único mensaje a la conversación actual |
| Iniciar una tarea de envío masivo asíncrono |
| Consultar el progreso y el resultado de la tarea de envío en lote |
| Leer la lista de puestos o el detalle de un puesto |
| Configurar criterios de búsqueda en profundidad o ejecutar la coincidencia |
| Realizar una búsqueda normal de candidatos |
| Leer candidatos recomendados |
| Previsualizar elcurrículum en línea |
| Saludar a un candidato en los resultados recomendados o de búsqueda |
| Establecer las credenciales de OCR de Baidu |
Respuestas en lote
Flujo recomendado
Llame a
boss_list_candidatespara obtener primero la lista de candidatos.Muestre la lista al usuario y realice la confirmación manual.
Llame a
boss_batch_send_messagespara iniciar la tarea.Guarde el
taskIddevuelto.Consulte el progreso con
boss_batch_send_statushasta que el estado seacompletedofailed.
Iniciar el envío en lote
{
"messages": [
{
"candidateName": "张三",
"text": "您好,感谢您的关注,请问方便补充一下简历吗?",
"exact": true
},
{
"candidateName": "李四",
"text": "您好,感谢您的关注,请问方便补充一下简历吗?",
"exact": true
}
],
"confirm": true
}Por defecto se inicia de forma asíncrona y devuelve el resultado inmediatamente:
{
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status": "running",
"total": 2
}Consultar el estado de la tarea
Invoque boss_batch_send_status:
{
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}Cuando la tarea finalice, se devuelve un resultado similar a:
{
"status": "completed",
"total": 2,
"sent": 1,
"failed": 1,
"results": [
{
"candidateName": "张三",
"status": "sent"
},
{
"candidateName": "李四",
"status": "failed",
"error": "未找到候选人"
}
]
}Parámetros:
candidateName: nombre del candidato; se recomienda obtenerlo de los resultados deboss_list_candidates.text: texto del mensaje que se va a enviar.exact: si el nombre debe coincidir exactamente; se recomienda mantenerlo entrue.confirm: debe establecerse explícitamente entrue; de lo contrario no se envidará.waitForCompletion: por defecto esfalse. No se recomienda cambiar atrue; de lo contrario, en la primera carga de la página podría agotarse el tiempo de espera del cliente MCP.
La herramienta de lote procesa a los candidatos de forma secuencial y registra el estado sent o failed de cada uno. El fallo de un candidato no impide que se continúe con los siguientes.
Ejemplos de prompts en clientes de IA
调用 boss_list_candidates 获取未读候选人,将列表展示给我并等待确认。
我确认后,使用 boss_batch_send_messages 逐个发送指定消息。
必须精确匹配姓名并设置 confirm=true。
取得 taskId 后,定期调用 boss_batch_send_status,最后汇总成功和失败结果。Uso rápido de CLI
# 登录
boss login
# 查看未读候选人
boss list --unread
# 打开聊天并发送消息
boss chat 张三 --strict
boss send --text "您好,请问方便发一下简历吗?"
# 查看推荐候选人
boss recommend 前端工程师
# 常规搜索
boss search "AI 产品经理"Parámetros completos de CLI:
boss helpPreguntas frecuentes
MCP devuelve Cannot find module al iniciar
Normalmente se debe a que una ruta con espacios se ha dividido en varios argumentos. Asegúrese de que la ruta completa del archivo MCP es una única cadena del array args:
"args": ["D:\\boss-cli\\dist\\mcp\\index.js"]Tiempo de espera superado en la primera llamada de MCP
La primera llamada de MCP requiere iniciar/conectar Chrome y cargar la página de Boss, lo que puede tardar bastante. El envío en lote usa tareas asíncronas por defecto, por lo que debe guardar el taskId y consultar con boss_batch_send_status en lugar de volver a iniciar la tarea.
Si una llamada sincrónica muestra tiempo de espera, la operación puede seguir ejecutándose en el navegador. Antes de reintentar el envío, revise el historial de chat para evitar mensajes duplicados.
Las herramientas MCP no se actualizan después de modificar el código
Reconstruya y reinicie el cliente MCP:
cd D:\boss-cli
npm run buildDónde se guardan los datos
Ruta | Contenido |
| Cookies, datos de usuario del navegador y estado de inicio de sesión |
| Descripciones de puesto en la caché |
Estos datos se guardan en el equipo local y no deben subirse a GitHub.
Desarrollo
npm install
npm run build
npm run mcpLa implementación principal de MCP se encuentra en:
src/mcp/index.tssrc/toolset/docs/mcp.md
Proyecto original y licencia
Este repositorio se basa en joohw/boss-cli y conserva la licencia GPL-3.0 del proyecto original.
Este repositorio añade el servicio MCP, la documentación para clientes MCP, el envío en lote y la consulta del estado de las tareas asíncronas.
Consulte LICENSE para más información.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI-driven job application automation for LinkedIn and SEEK platforms with intelligent cover letter generation, automated application submission, and application tracking management. Supports anti-detection measures and complies with platform usage policies for safe job hunting automation.
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control and automate your Chrome browser directly, leveraging existing login states and configurations for tasks like content analysis, semantic search across tabs, screenshots, network monitoring, and interactive operations.10MIT
- FlicenseNot gradedqualityCmaintenanceAutomates job searching and initial communication on the Boss Zhipin platform by parsing resumes and matching them with relevant job listings. It includes anti-bot detection features and supports automated messaging to HR representatives through various MCP clients.10
- AlicenseNot gradedqualityDmaintenanceEnables interaction with the Boss直聘 recruitment platform to search for jobs and send automated greetings to recruiters. It features automatic QR code login and security verification using Playwright for seamless session management.MIT
Related MCP Connectors
Run LinkedIn outreach from your AI chat: find leads, launch campaigns, send, and reply.
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Stealth scraping & search. Bypasses Cloudflare, DataDome & LinkedIn via Cyborg HITL approach.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bmbbms/boss-cli-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server