Servidor MCP de LinkedIn Recruiter para su ATS
Su agente de código lee las rutas de Recruiter del Servidor MCP de Unipile y construye la búsqueda de candidatos, los proyectos de contratación e InMail en su ATS.
Prueba gratis de 7 días, sin tarjeta.
Su agente de código
Unipile MCP conectado
Añade la búsqueda de candidatos de Recruiter a la página de sourcing de mi ATS.
Leer endpointPOST /v2/{account_id}/linkedin/recruiter/search/peopleesquema cargado
Se ha añadido searchCandidates() en el backend. Comprueba primero el contrato: 40 candidatos en la primera página.
Describa la próxima función…
La respuesta corta
¿Existe un servidor MCP oficial de LinkedIn Recruiter?
No. LinkedIn no publica ningún servidor Model Context Protocol, ni para Recruiter ni para nada más. El servidor MCP de Unipile es un servidor alojado de terceros generado a partir de la API de Unipile, y expone las rutas de la API de LinkedIn Recruiter: búsqueda de candidatos, proyectos de contratación, pipelines, bolsa de talento, postulantes, ofertas de empleo y Recruiter InMail. Su agente de código lee esos endpoints y escribe la integración en su producto, donde cada reclutador conecta su propia cuenta de LinkedIn mediante Hosted Auth y su código actúa en nombre de ese usuario autenticado, con el contrato de Recruiter que tiene.
La URL del servidor
https://developer.unipile.com/mcp?branch=v2.0
AuthCabecera
X-API-KEY con una clave Account API con scope, sobre HTTP streamable. La misma URL sirve LinkedIn Classic, Sales Navigator, Recruiter y otros ocho canales.CuentasUna cuenta de LinkedIn de prueba con un contrato de Recruiter en su aplicación de Development mientras construye; en producción, la cuenta que cada reclutador conectó mediante Hosted Auth.
Recruiter25 rutas bajo
/v2/{account_id}/linkedin/recruiter, más Recruiter InMail en POST /v2/{account_id}/chats/send.ClientesCodex, Cursor, Claude Code, Gemini CLI, Windsurf o cualquier cliente MCP sobre streamable HTTP.
Cómo un prompt se convierte en código en su ATS
1
Usted describe la funciónAñade la búsqueda de candidatos de Recruiter a la página de sourcing, filtrada por aptitudes, ubicación y años de experiencia.
2
El agente lee los endpoints de Recruiter
Leer endpointPOST /v2/{account_id}/linkedin/recruiter/search/peopleesquema cargado
3
Escribe el código y lo prueba en su aplicación de DevelopmentSe han añadido searchCandidates() y un formulario de filtros alimentado por la ruta de parámetros de búsqueda de Recruiter, conectados a la página de sourcing. Ejecutado en la app de Development: 25 candidatos, perfil abierto con la variante Recruiter.
Prompts, no código de pegamento
Lo que su agente de código construye con el LinkedIn Recruiter MCP
Elija una función de reclutamiento. Cada transcripción muestra el prompt que da al agente, los endpoints de la API de LinkedIn Recruiter que lee y ejecuta a través del servidor MCP de Unipile y lo que llega a su ATS. Las rutas están completas, sobre la URL base de la API
https://api.unipile.com, con una clave con scope en la cabecera X-API-KEY .Añade la búsqueda de candidatos de LinkedIn Recruiter a la página de sourcing: aptitudes, cargo, nivel de experiencia, un código postal con radio, años de experiencia.
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/search/parametersID resueltos
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/search/people40 candidatos
Se ha añadido
recruiter-search.ts: el formulario de filtros resuelve aptitudes, cargos y ubicaciones en ID con la ruta de parámetros de búsqueda y luego llama a la búsqueda de personas con skills, title, seniority, postal_code_radius y years_of_experience. Página de resultados con lo que devuelve la API. Probado en la app de Development: 40 candidatos en la primera página.Búsqueda de candidatos de Recruiter, con los propios filtros de Recruiter
La ruta de búsqueda de personas admite el conjunto de filtros de Recruiter: aptitudes, cargos, nivel de experiencia, empresas, centros educativos, ubicaciones, idiomas y señales de Recruiter como
recently_joined, is_past_applicant o hide_previously_viewed. Los resultados son lo que el reclutador conectado puede ver con su propio contrato.Endpoints que usa el agente
POST/v2/{account_id}/linkedin/recruiter/search/parametersPOST/v2/{account_id}/linkedin/recruiter/search/peopleGET/v2/{account_id}/users/{user_id}
Error frecuente: Enviar una ubicación o una aptitud como texto libre. Los filtros que apuntan a una entidad de LinkedIn admiten ID: resuélvalos primero con
Guía de la API de búsqueda en Recruiter
POST /v2/{account_id}/linkedin/recruiter/search/parameters. Es un POST, a diferencia de la ruta GET de parámetros de Sales Navigator.Permite a los reclutadores pegar una URL de búsqueda de LinkedIn Recruiter, o elegir una de sus búsquedas guardadas, e importar los candidatos al ATS.
Leer endpointPOST /v2/{account_id}/linkedin/recruiter/searchesquema cargado
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/search/people25 candidatos
Se ha añadido un diálogo "Importar desde Recruiter". Una URL pegada va a la ruta de búsqueda desde URL; una búsqueda guardada pasa por la búsqueda de personas con
load_saved_search. Los candidatos se guardan por su ID de LinkedIn, así que una segunda importación no los duplica.Reutilizar las búsquedas que los reclutadores ya crearon en Recruiter
Los reclutadores dedican tiempo a afinar una búsqueda. La ruta de búsqueda desde URL ejecuta una URL de búsqueda de Recruiter tal cual, y la búsqueda de personas puede cargar una búsqueda guardada o un filtro personalizado guardado (
load_saved_search, load_custom_filter) o guardar uno nuevo (save_search, save_custom_filter).Endpoints que usa el agente
POST/v2/{account_id}/linkedin/recruiter/searchPOST/v2/{account_id}/linkedin/recruiter/search/peoplePOST/v2/{account_id}/linkedin/recruiter/search/parameters
Error frecuente: Enviar una URL de Classic o de Sales Navigator a la ruta de Recruiter. Cada producto tiene su propia ruta de búsqueda desde URL; elija la ruta según el origen de la URL.
API de LinkedIn para software de reclutamiento
Cuando un reclutador abra un candidato, muestra el perfil como lo muestra LinkedIn Recruiter, con la sección de actividad de reclutamiento.
Leer endpointGET /v2/{account_id}/users/{user_id}esquema cargado
Ejecutar peticiónGET /v2/{account_id}/users/{user_id}?variant=linkedin_recruiter&with_sections=linkedin_recruiting_activity200 OK
Se ha añadido
getRecruiterProfile(id) con variant=linkedin_recruiter y la sección linkedin_recruiting_activity , y una pestaña "Actividad de reclutamiento" en la ficha del candidato. La llamada solo se ejecuta cuando el reclutador abre el perfil.El perfil del candidato tal como lo muestra Recruiter
La ruta de perfil tiene tres variantes de LinkedIn:
linkedin_classic, linkedin_sales_navigator y linkedin_recruiter. Con la variante Recruiter, el agente puede pedir la sección de actividad de reclutamiento, que solo existe en Recruiter, junto a secciones como experiencia, formación, aptitudes e idiomas.Endpoints que usa el agente
GET/v2/{account_id}/users/{user_id}POST/v2/{account_id}/linkedin/recruiter/search/peopleGET/v2/{account_id}/linkedin/contracts
Error frecuente: Omitir
Servidor MCP de LinkedIn: perfiles Classic y mensajería
variant=linkedin_recruiter y esperar datos de Recruiter. La sección linkedin_recruiting_activity es exclusiva de Recruiter; pídala con la variante Recruiter.Refleja cada vacante del ATS como un proyecto de contratación de LinkedIn Recruiter: créalo cuando el reclutador abra la vacante y actualízalo cuando cambie.
Ejecutar peticiónGET /v2/{account_id}/linkedin/recruiter/projects12 proyectos
Leer endpointPOST /v2/{account_id}/linkedin/recruiter/projectsesquema cargado
Se ha añadido
recruiter-projects.ts: la primera sincronización vincula los proyectos existentes con las vacantes, "Crear en Recruiter" crea un proyecto desde la página de la vacante y las modificaciones pasan por PATCH sobre el proyecto. El ID del proyecto se guarda en la vacante.Proyectos de contratación sincronizados con sus vacantes
Liste, cree, lea y edite proyectos de contratación de Recruiter desde su ATS. Después, el ID del proyecto acota todo lo demás: pipeline, búsqueda en la bolsa de talento, postulantes y ofertas de empleo.
Endpoints que usa el agente
GET/v2/{account_id}/linkedin/recruiter/projectsPOST/v2/{account_id}/linkedin/recruiter/projectsPATCH/v2/{account_id}/linkedin/recruiter/projects/{project_id}
Error frecuente: Reintentar la creación de un proyecto tras un timeout. Liste primero los proyectos para comprobar si se creó y luego decida; un reintento a ciegas puede dejar dos proyectos.
Funciones para software de reclutamiento
Muestra el pipeline de cada proyecto de Recruiter en la página de la vacante, añade una búsqueda en la bolsa de talento y permite a los reclutadores guardar un candidato en el pipeline.
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline34 candidatos
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/search18 resultados
Se han añadido la vista de pipeline (candidatos guardados en la vacante), un cuadro de búsqueda en la bolsa de talento del proyecto y un botón "Guardar en el pipeline" conectado a la ruta de guardado de candidatos. Cada guardado se ejecuta con el clic del reclutador, un candidato cada vez.
Pipelines y bolsas de talento, dentro de la vacante
La ruta de pipeline lista los candidatos de un proyecto y la ruta de guardado añade uno. La búsqueda en la bolsa de talento ejecuta una búsqueda de personas en la bolsa de talento del proyecto, de modo que la página de la vacante muestra los mismos candidatos con los que el reclutador trabaja en Recruiter.
Endpoints que usa el agente
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipelinePOST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline/candidate/savePOST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/search
Error frecuente: Llamar a las rutas de listado con GET. Listar los candidatos del pipeline y buscar en la bolsa de talento son rutas POST que llevan un body.
Funciones de mensajería y de workflow para ATS
Importa los postulantes de la oferta de LinkedIn de cada proyecto a la lista de candidatos del ATS, con sus currículums.
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants52 postulantes
Ejecutar peticiónGET /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_profile_id}/resumecurrículum
Se han añadido la importación de postulantes por proyecto (lista y luego detalle con la ruta de postulante) y la obtención de currículums, guardados en la ficha del candidato. Los currículums se obtienen cuando el reclutador abre un postulante, no para toda la lista.
Postulantes de ofertas y sus currículums, en el ATS
Para un proyecto con oferta de empleo, la ruta de postulantes lista quién se postuló, la ruta de postulante devuelve una candidatura y la ruta de currículum devuelve el currículum de ese postulante. Su ATS obtiene los postulantes de LinkedIn junto a los de su propio portal de empleo.
Endpoints que usa el agente
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicantsGET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_id}GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_profile_id}/resume
Error frecuente: Suponer que la ruta de currículum usa el mismo ID que la ruta de postulante. Su parámetro de ruta es
API de ofertas de empleo de LinkedIn
applicant_profile_id, no applicant_id; el agente lee ambos esquemas antes de conectarlas.Permite a los reclutadores enviar un Recruiter InMail desde la ficha del candidato, con asunto y su firma, visible para el equipo del proyecto.
Leer endpointPOST /v2/{account_id}/chats/sendspecifics cargados
Ejecutar peticiónGET /v2/{account_id}/linkedin/inmail-creditscréditos
Se ha añadido
sendRecruiterInmail() en la ruta de inicio de chat con specifics.linkedin.recruiter: subject, signature, visibility: PROJECT, intent: HIRE_FOR_OWN_COMPANY, send_as: INMAIL. El editor muestra los créditos InMail, y un envío fallido se comunica al reclutador, nunca se reintenta.Recruiter InMail desde la ficha del candidato
Los mensajes de Recruiter pasan por la ruta de inicio de chat con
specifics.linkedin.recruiter: asunto, firma, visibilidad (PUBLIC, PRIVATE o PROJECT), intención (HIRE_FOR_CLIENT o HIRE_FOR_OWN_COMPANY), send_as (INMAIL, o EMAIL con los datos del perfil), un channel_type de la bolsa de talento del proyecto, y follow_up para programar un mensaje de seguimiento en los contratos Recruiter Pro.Endpoints que usa el agente
POST/v2/{account_id}/chats/sendGET/v2/{account_id}/linkedin/inmail-creditsGET/v2/{account_id}/chats/{chat_id}/messages
Error frecuente: Mantener los valores por defecto sin revisarlos.
Enviar mensajes en nombre de los reclutadores
intent pasa por defecto a HIRE_FOR_CLIENT y visibility a PRIVATE: un equipo interno suele querer HIRE_FOR_OWN_COMPANY, y un proyecto compartido puede preferir PROJECT.Publica las vacantes del ATS en LinkedIn desde la página de la vacante: crea el borrador, comprueba los créditos de job slots, publica y cierra la oferta cuando se cubra el puesto.
Ejecutar peticiónGET /v2/{account_id}/linkedin/recruiter/job-slots-creditscréditos
Ejecutar peticiónPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/publishpublicada
Se ha añadido el flujo de publicación de ofertas: un borrador en el proyecto de la vacante (o en un proyecto nuevo), modificaciones con
PATCH, el presupuesto de la oferta, una comprobación de créditos de job slots antes de activar el botón Publicar y Cerrar cuando se cubre la vacante. Cada paso es un clic del reclutador.Ofertas de empleo desde la vacante, con los créditos comprobados antes
Cree un borrador en un proyecto existente o en uno nuevo, edítelo, publíquelo, ciérrelo. Liste las ofertas, lea una, consulte el presupuesto de una oferta y los créditos de job slots del contrato antes de publicar.
Endpoints que usa el agente
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobsGET/v2/{account_id}/linkedin/recruiter/job-slots-creditsPOST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/publish
Error frecuente: Publicar sin leer los créditos. Llame primero a
API de ofertas de empleo de LinkedIn
GET /v2/{account_id}/linkedin/recruiter/job-slots-credits y muestre el resultado al reclutador; publicar sigue siendo decisión suya.Rutas reales, paths completos
Todas las rutas de la API de LinkedIn Recruiter que expone el servidor MCP
El servidor expone la propia API de Unipile, así que lo que su agente de código puede construir sobre Recruiter es lo que hace la API. Abajo están las 25 rutas de Recruiter, agrupadas por función, y las rutas compartidas de LinkedIn que también usa una integración de Recruiter. Las rutas están completas, sobre la URL base de la API
https://api.unipile.com, con la clave con scope en la cabecera X-API-KEY .25rutas de Recruiter bajo /linkedin/recruiter, con el contrato que conectó el usuario
3formas de buscar: filtros, una URL de Recruiter, la bolsa de talento de un proyecto
1ruta de envío para Recruiter InMail, con specifics.linkedin.recruiter
0endpoints que adivinar: el agente lee el esquema exacto antes de escribir código
3 rutas
Búsqueda de candidatos
Búsqueda de personas de Recruiter con todos los filtros, búsqueda a partir de una URL de Recruiter y la ruta de parámetros que resuelve los valores de filtro en ID.
POST/v2/{account_id}/linkedin/recruiter/search/people
POST/v2/{account_id}/linkedin/recruiter/search
POST/v2/{account_id}/linkedin/recruiter/search/parameters
4 rutas
Proyectos de contratación
Listar, crear, leer y editar los proyectos de contratación del contrato de Recruiter. El ID del proyecto acota pipeline, bolsa de talento, postulantes y ofertas.
GET/v2/{account_id}/linkedin/recruiter/projects
POST/v2/{account_id}/linkedin/recruiter/projects
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}
PATCH/v2/{account_id}/linkedin/recruiter/projects/{project_id}
3 rutas
Pipeline y bolsa de talento
Listar los candidatos del pipeline de un proyecto, guardar un candidato en él, buscar en la bolsa de talento del proyecto.
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline/candidate/save
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/search
3 rutas
Postulantes y currículums
Listar los postulantes de la oferta de un proyecto, leer una candidatura, obtener el currículum del postulante.
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_id}
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_profile_id}/resume
8 rutas
Ofertas de empleo
Crear un borrador en un proyecto nuevo o existente, editarlo, publicarlo y cerrarlo, listar las ofertas y leer una.
POST/v2/{account_id}/linkedin/recruiter/jobs
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs
GET/v2/{account_id}/linkedin/recruiter/jobs
GET/v2/{account_id}/linkedin/recruiter/jobs/{job_id}
PATCH/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/publish
POST/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/close
2 rutas
Presupuesto y job slots
Leer el presupuesto de una oferta y los créditos de job slots del contrato antes de que su interfaz ofrezca publicar.
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/budget
GET/v2/{account_id}/linkedin/recruiter/job-slots-credits
2 rutas
Verificación de miembro de la empresa
Verificar la identidad de un miembro de la empresa: solicitar el email de verificación y enviar después el código de un solo uso que recibe el usuario.
POST/v2/{account_id}/linkedin/recruiter/company/{company_id}/member/verify-email
POST/v2/{account_id}/linkedin/recruiter/company/{company_id}/member/submit-otp
8 compartidas
Rutas de LinkedIn compartidas
Recruiter InMail, la variante de perfil Recruiter, créditos InMail, contratos y la conexión de la cuenta mediante Hosted Auth.
POST/v2/{account_id}/chats/send
POST/v2/{account_id}/inboxes/{inbox_id}/chats/send
GET/v2/{account_id}/users/{user_id}
GET/v2/{account_id}/linkedin/inmail-credits
GET/v2/{account_id}/linkedin/contracts
POST/v2/{account_id}/linkedin/contracts/{contract_id}/select
POST/v2/auth/link
GET/v2/accounts/
Una petición completa, tal como la ejecuta el agente
El servidor sigue cada versión de la API de Unipile, así que una nueva ruta de Recruiter llega a su agente el mismo día de su lanzamiento. En producción, su producto llama a las mismas rutas sobre la cuenta que cada reclutador conectó mediante Hosted Auth, como acciones del usuario en su interfaz. Las mismas rutas que la API de LinkedIn de Unipile, en el código que escribe el agente o a través de los SDK oficiales.·Referencia de la API
Filtros de búsqueda del LinkedIn Recruiter MCP: todo el conjunto de Recruiter
La búsqueda de personas de Recruiter es donde empiezan la mayoría de las funciones de ATS y de sourcing. La ruta
POST /v2/{account_id}/linkedin/recruiter/search/people documenta 56 campos de body; el agente los lee en el esquema y construye el formulario de filtros que esperan sus reclutadores. Estos son los principales, agrupados como piensa un reclutador.Aptitudes y experiencia12 campos
Los filtros que los reclutadores usan primero: qué hace el candidato, a qué nivel y desde hace cuánto.
Campos de body de la búsqueda de personas
Aptitudes, cargos y funciónskills, title, job_title, job_function
Nivel y antigüedadseniority, years_of_experience, years_in_current_company, years_in_current_position
Palabras clave y nombreskeywords, first_name, last_name, occupation
Empresas y formación9 campos
Dónde trabaja o trabajó el candidato, el tipo de empresa y dónde estudió.
Campos de body de la búsqueda de personas
Empresascompany, current_company, past_company
Sector y tamaño de empresaindustry, company_size
Formaciónschool, degree, field_of_study, graduation_year
Ubicación, modalidad de trabajo e idiomas8 campos
Dónde está el candidato, cómo quiere trabajar y qué idiomas habla.
Campos de body de la búsqueda de personas
Ubicación y radiolocation, postal_code, postal_code_radius
Modalidad y tipo de empleoworkplace_type, employment_type
Idiomasspoken_language, proficiency, profile_language
Señales de Recruiter y el trabajo de su equipo16 campos
Filtros que solo tienen sentido en Recruiter: señales de actividad, los proyectos del equipo, etiquetas y notas, y búsquedas guardadas.
Campos de body de la búsqueda de personas
Señalesrecently_joined, hide_previously_viewed, new_results_only, is_past_applicant, recruiting_activity, spotlights, is_military_veteran, network_distance
Proyectos, etiquetas y notasproject, project_id, tags, notes
Búsquedas guardadas y filtros personalizadosload_saved_search, save_search, load_custom_filter, save_custom_filter
Los filtros que apuntan a una entidad de LinkedIn (una ubicación, una aptitud, una empresa, un centro educativo) admiten ID. El agente los resuelve con
POST /v2/{account_id}/linkedin/recruiter/search/parameters antes de llamar a la búsqueda y luego pasa los ID. El esquema también documenta exclude, group, id, include, max, min, name, preferences, priority, timespan y type; el agente lee su forma exacta antes de escribir el formulario. Cada filtro se ejecuta con el contrato de Recruiter de la cuenta conectada.Inicio rápido
Añada el LinkedIn Recruiter MCP a su agente de código en una línea
No hay un servidor de Recruiter aparte que instalar: el servidor MCP alojado de Unipile cubre LinkedIn Recruiter con la misma URL que LinkedIn Classic, Sales Navigator y todos los demás canales. Apunte su agente de código a él con una clave de API con scope, y leerá los endpoints de Recruiter y ejecutará peticiones contra su aplicación de Development. Los fragmentos de abajo son los de la documentación oficial.
Cursor~/.cursor/mcp.json
Claude Codeclaude mcp add --transport http …
CLI de Codex y extensión del IDE~/.codex/config.toml
Gemini CLI~/.gemini/settings.json
Windsurf~/.codeium/windsurf/mcp_config.json
# Registre el servidor MCP alojado de Unipile en Claude Code
claude mcp add --transport http --scope user \
unipile "https://developer.unipile.com/mcp?branch=v2.0" \
--header "X-API-KEY: your-scoped-api-key"
# Verifique la conexión, o escriba /mcp dentro de una sesión
claude mcp list
{
"mcpServers": {
"unipile": {
"url": "https://developer.unipile.com/mcp?branch=v2.0",
"headers": {
"X-API-KEY": "your-scoped-api-key"
}
}
}
}
{
"mcpServers": {
"unipile": {
"url": "https://developer.unipile.com/mcp?branch=v2.0",
"headers": {
"X-API-KEY": "your-scoped-api-key"
}
}
}
}
# La CLI de Codex y la extensión del IDE de Codex comparten este archivo
[mcp_servers.unipile]
url = "https://developer.unipile.com/mcp?branch=v2.0"
http_headers = { X-API-KEY = "your-scoped-api-key" }
# Verifique: codex mcp list
{
"mcpServers": {
"unipile": {
"httpUrl": "https://developer.unipile.com/mcp?branch=v2.0",
"headers": {
"X-API-KEY": "your-scoped-api-key"
}
}
}
}
# Verifique: /mcp dentro de Gemini CLI
Servidor conectado. Pruebe: «Añade la búsqueda de candidatos de LinkedIn Recruiter a la página de sourcing y abre el perfil seleccionado con la variante Recruiter.»
1
Empiece con una aplicación de DevelopmentEn el dashboard de Unipile, trabaje en su aplicación de Development: conecte mediante Hosted Auth una cuenta de LinkedIn de prueba que tenga un contrato de Recruiter, cree un Scope con ella y una clave Account API con scope para ese Scope. Production queda intacta, y un cliente MCP nunca recibe una clave global ni de Service.
2
Añada el servidor a su agente de códigoPegue la configuración de su cliente, con la clave con scope en la cabecera X-API-KEY. Reinicie el cliente si no la detecta de inmediato.
3
Describa la función, revise el códigoDescriba la función de Recruiter que necesita. El agente lee los endpoints, escribe el código en su proyecto y ejecuta peticiones en la app de Development. Cambie la clave a Production cuando el flujo funcione.
En nombre del reclutador
¿Con qué contrato de Recruiter actúa su integración?
Mientras construye, con la cuenta de prueba de su aplicación de Development. En producción, con la cuenta de LinkedIn que cada reclutador conectó mediante Hosted Auth y el contrato de Recruiter de esa cuenta, dentro de flujos que ese reclutador inicia y controla.
1 · Su agente de código
Codex, Cursor, Claude Code
Lee los esquemas de Recruiter, escribe el código
2 · Servidor MCP de Unipile
Alojado, clave de API con scope
Ejecuta peticiones de prueba en su app de Development
3 · API de Unipile
Las rutas de Recruiter
Acota la acción a un único ID de cuenta
4 · LinkedIn Recruiter
El contrato seleccionado
Reglas de LinkedIn, créditos InMail y de job slots
5 · La cuenta del reclutador
Conectada mediante Hosted Auth
Sus proyectos, su pipeline, sus créditos
Sarah MitchellLinkedIn · contrato de Recruiter · vinculado por el usuario mediante Hosted Auth
ID de cuenta
acc_7f3…c91, el único identificador que guarda su códigoContratoSe lista con
GET …/linkedin/contracts, se selecciona con POST …/contracts/{contract_id}/selectSesiónEn manos de Unipile, nunca expuesta a su app
EstadoConectada · los cambios de estado llegan por webhook
ReconectarDesconectar
Límites honestos
Qué límites de LinkedIn Recruiter siguen aplicándose
El servidor no elimina las reglas de LinkedIn ni añade créditos a un contrato. La API da a su ATS las señales reales de la cuenta para que la función que lance funcione dentro de ellas, como lo haría el reclutador.
Lo que imponen LinkedIn y el contrato
Un contrato de Recruiter en la cuenta conectadaTodas las rutas bajo
/linkedin/recruiter lo necesitan. Sin él, la cuenta sigue funcionando con las rutas de LinkedIn Classic, pero sus funciones de Recruiter quedan ocultas.Créditos InMailRecruiter InMail consume los créditos del contrato. Léalos con
GET /v2/{account_id}/linkedin/inmail-credits y muéstrelos antes de que el reclutador envíe.Créditos de job slots y presupuesto de la ofertaPublicar una oferta consume lo que tiene el contrato. Lea
GET /v2/{account_id}/linkedin/recruiter/job-slots-credits y el presupuesto de la oferta antes de ofrecer Publicar.Paginación de búsquedaLas búsquedas de Recruiter devuelven páginas. Su código pagina con lo que devuelve la API, dentro de lo que el contrato permite ver al reclutador.
Checkpoints y verificaciones de identidadLinkedIn puede pedir un código al titular de la cuenta al vincularla, y la verificación de identidad de un miembro de la empresa usa un email y un código de un solo uso. El usuario introduce el código; su código nunca ve una contraseña.
Qué integrar en su ATS
Las escrituras son acciones del reclutadorEnviar un InMail, guardar un candidato, crear un proyecto, publicar o cerrar una oferta: cada acción la desencadena el reclutador en su interfaz, nunca un bucle en segundo plano.
Compruebe antes de reintentar una escrituraTras un fallo ambiguo, liste los proyectos, el pipeline o las ofertas para ver qué pasó. Un reintento a ciegas puede crear un segundo proyecto o enviar un segundo InMail.
Un Scope y una clave con scope por tenantUn workspace solo ve las cuentas asignadas a su Scope. La clave global se queda en su backend para la administración, y el reclutador puede desconectarse en cualquier momento.
Adaptar la interfaz al contratoOculte lo que la cuenta no puede hacer: sin contrato de Recruiter, no hay pestaña de Recruiter; sin contrato Recruiter Pro, no hay seguimiento programado.
Usar webhooks para los mensajes nuevosSi su ATS debe reaccionar a las respuestas de los candidatos, suscríbase a los webhooks y deje que el evento traiga el mensaje, en lugar de consultar la bandeja periódicamente.
Cuatro formas de conectar un ATS a LinkedIn
Cómo se comparan las opciones de LinkedIn Recruiter MCP
Todas las opciones de LinkedIn Recruiter MCP son de terceros, así que la verdadera pregunta para un producto de reclutamiento es cómo llega cada una a Recruiter, con el contrato de quién y qué puede lanzar con ella. Las cuatro familias que encontrará, comparadas.
Servidor MCP de Unipile
Servidores open source de la comunidad
Marketplaces de datos públicos
Puentes MCP no-code
Cómo llega a Recruiter
Servidor MCP de UnipileLa cuenta de LinkedIn que conecta cada reclutador mediante Hosted Auth, y luego las rutas de la API de Recruiter con su contrato
Servidores open source de la comunidadSu propio login de LinkedIn en su máquina, mediante una sesión de navegador
Marketplaces de datos públicosPáginas públicas, sin cuenta, sin acceso a Recruiter
Puentes MCP no-codeSu conexión de app de LinkedIn y un conjunto de acciones predefinidas
Superficies de Recruiter
Servidor MCP de UnipileBúsqueda, proyectos, pipelines, bolsa de talento, postulantes, ofertas de empleo, Recruiter InMail
Servidores open source de la comunidadRara vez más allá del perfil Classic
Marketplaces de datos públicosSolo perfiles públicos, sin proyectos ni pipelines
Puentes MCP no-codePocas o ninguna acción de Recruiter
Leer, o leer y actuar
Servidor MCP de UnipileLeer y actuar: guardar candidatos, crear proyectos, publicar ofertas, enviar InMail, como funciones de su ATS
Servidores open source de la comunidadSobre todo lectura, algunas escrituras según el proyecto
Marketplaces de datos públicosSolo lectura
Puentes MCP no-codeEscrituras predefinidas, poca lectura
Alojamiento y clientes
Servidor MCP de UnipileAlojado, una sola URL, cualquier agente de código por HTTP: Codex, Cursor, Claude Code, Gemini CLI, Windsurf
Servidores open source de la comunidadAutoalojado, en local o en Docker, normalmente un cliente cada vez
Marketplaces de datos públicosAlojado, un token por cliente
Puentes MCP no-codeAlojado, una URL generada por configuración
Otros canales en el mismo servidor
Servidor MCP de UnipileOcho: WhatsApp, Instagram, Telegram, Gmail, Outlook, IMAP y los calendarios de Google y de Outlook
Servidores open source de la comunidadNinguno
Marketplaces de datos públicosOtras fuentes de datos públicos
Puentes MCP no-codeMiles de apps, cada una con un juego de acciones superficial
Modelo de precios
Servidor MCP de UnipilePor cuenta conectada, sea cual sea el volumen de peticiones, con 7 días de prueba gratuita
Servidores open source de la comunidadGratis, usted lo aloja y lo mantiene
Marketplaces de datos públicosPor crédito o por resultado
Puentes MCP no-codePor tarea o por acción
Bajo qué condiciones trabaja su producto
Servidor MCP de UnipileLa propia cuenta y el contrato de Recruiter de cada reclutador, en flujos que el reclutador inicia y controla desde su producto
Servidores open source de la comunidadSu cuenta personal, por su cuenta y riesgo
Marketplaces de datos públicosLas condiciones de recolección de datos del marketplace
Puentes MCP no-codeLas condiciones del puente y los permisos de su app de LinkedIn
Las categorías se describen de forma genérica a propósito. Lo que distingue al servidor de Unipile es el modelo de cuenta: su ATS lee y actúa como el reclutador que conectó la cuenta, con su propio contrato de Recruiter, tras una única URL de servidor compartida con otros ocho canales.
6000+
Empresas que innovan con Unipile
La confianza de los líderes del sector
1 API
Racionalizar las operaciones de los principales canales de comunicación
2 días
Rápida integración en directo con una configuración mínima
30%
Reducción de los esfuerzos y recursos de mantenimiento
Seguridad y conformidad integradas
Protección de nivel empresarial para sus datos y flujos de trabajo Más información sobre nuestra seguridad
SOC 2 Tipo II
Certificado
Controles de seguridad auditados de forma independiente que garantizan la protección de datos y la integridad operativa.
GDPR
Conforme
Pleno cumplimiento de la normativa europea de protección de datos para la privacidad de los usuarios.
99.9%
Tiempo de actividad de la plataforma en los últimos 24 meses
24/7
Asistencia global con API de alto rendimiento
FAQ del LinkedIn Recruiter MCP
Las preguntas que la gente escribe de verdad: oficial o no, la URL del servidor, búsqueda de candidatos, proyectos y pipelines, Recruiter InMail, contratos y precio.
No por parte de LinkedIn: no publica ningún servidor Model Context Protocol para Recruiter. El servidor MCP de Unipile es un servidor alojado de terceros generado a partir de la API de Unipile, y expone las rutas de la API de LinkedIn Recruiter: búsqueda de candidatos, proyectos de contratación, pipelines, bolsa de talento, postulantes, ofertas de empleo y Recruiter InMail. Su agente de código lee esos endpoints y escribe la integración en su producto, donde cada reclutador conecta su propia cuenta y su código actúa en nombre de ese usuario autenticado. Unipile es un intermediario técnico independiente y no está afiliado a LinkedIn, ni respaldado ni patrocinado por LinkedIn.
La misma URL que toda la API de Unipile:
https://developer.unipile.com/mcp?branch=v2.0, sobre streamable HTTP, con una clave Account API con scope en la cabecera X-API-KEY . No hay un servidor de Recruiter aparte. Péguela en Codex, Cursor, Claude Code, Gemini CLI o Windsurf, y el agente encontrará por sí mismo los endpoints de Recruiter bajo /v2/{account_id}/linkedin/recruiter .Sí, en una cuenta con contrato de Recruiter. El agente lee
POST /v2/{account_id}/linkedin/recruiter/search/people y construye la búsqueda con filtros de Recruiter como aptitudes, cargo, nivel de experiencia, empresa, centro educativo, ubicación con radio de código postal, idioma hablado, o señales como recently_joined y hide_previously_viewed. Resuelve los valores de filtro en ID con POST /v2/{account_id}/linkedin/recruiter/search/parameters, puede ejecutar una búsqueda a partir de una URL de Recruiter con POST /v2/{account_id}/linkedin/recruiter/searchy prueba el resultado en su aplicación de Development. Las búsquedas se ejecutan como acciones del reclutador que conectó la cuenta.Sí. Su ATS puede listar, crear, leer y editar proyectos de contratación (
GET y POST /v2/{account_id}/linkedin/recruiter/projects, PATCH /v2/{account_id}/linkedin/recruiter/projects/{project_id}), listar los candidatos del pipeline de un proyecto con POST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline, guardar un candidato en él, buscar en la bolsa de talento del proyecto e importar postulantes con sus currículums. Guardar un candidato o crear un proyecto sigue siendo una acción del reclutador en su interfaz.Sí, mediante
POST /v2/{account_id}/chats/send con specifics.linkedin.recruiter: un asunto, una firma, una visibilidad (PUBLIC, PRIVATE o PROJECT), una intención (HIRE_FOR_CLIENT o HIRE_FOR_OWN_COMPANY) y send_as con el valor INMAIL o EMAIL con los datos del perfil. Un follow_up programado solo está disponible en los contratos Recruiter Pro. InMail consume los créditos del contrato, que se leen con GET /v2/{account_id}/linkedin/inmail-credits, y cada mensaje lo envía el reclutador desde su interfaz.Las rutas de Recruiter requieren un contrato de Recruiter en la cuenta conectada; sin él, la cuenta solo funciona con las rutas de LinkedIn Classic (mensajería, perfiles, búsqueda clásica). Lo que puede hacer una cuenta depende del contrato que tiene, así que su código lista sus contratos con
GET /v2/{account_id}/linkedin/contracts, selecciona uno con POST /v2/{account_id}/linkedin/contracts/{contract_id}/selecty muestra solo las funciones que responden. Pruebe con el tipo de contrato que usan sus clientes.Son las mismas rutas usadas en dos momentos. El LinkedIn Recruiter MCP es la forma en que su agente de código lee los endpoints de Recruiter y los prueba mientras escribe su integración. La API de LinkedIn Recruiter es lo que su producto llama en producción, a través de la API REST o de los SDK oficiales, con sus propias claves con scope, sobre las cuentas que conectaron sus reclutadores. Se construye con el MCP y se ejecuta sobre la API.
El servidor MCP está incluido en todos los planes de Unipile, sin coste por mensaje ni por petición. La facturación es por cuenta conectada, sea cual sea el canal: desde 49 EUR al mes para hasta 10 cuentas, luego 5 EUR por cuenta adicional, hasta 3 EUR por volumen. La prueba gratuita de 7 días no requiere tarjeta de crédito. El contrato de Recruiter sigue siendo la propia suscripción de LinkedIn del reclutador. Tarifas completas en la página de precios.