IT
LinkedInLinkedIn Recruiter MCP

Server MCP LinkedIn Recruiter per il suo ATS

Il suo coding agent legge le route Recruiter del Server MCP Unipile e integra nel suo ATS ricerca di candidati, progetti di selezione e InMail.
Prova gratuita di 7 giorni, senza carta di credito.
Il suo coding agent
Unipile MCP connesso
Sarah
Aggiungi la ricerca di candidati Recruiter alla pagina di sourcing del mio ATS.
Lettura endpointPOST /v2/{account_id}/linkedin/recruiter/search/peopleschema caricato
Aggiunta searchCandidates() nel backend. Verifica prima il contratto: 40 candidati in prima pagina.
4 file modificati · testato sull'app Development
Descriva la prossima funzionalità…
La risposta breve

Esiste un server MCP ufficiale per LinkedIn Recruiter?

No. LinkedIn non pubblica alcun server Model Context Protocol, né per Recruiter né per altro. Il server MCP Unipile è un server ospitato di terze parti generato dall'API Unipile, ed espone le route dell'API LinkedIn Recruiter: ricerca di candidati, progetti di selezione, pipeline, talent pool, candidature, annunci di lavoro e InMail Recruiter. Il suo coding agent legge questi endpoint e scrive l'integrazione nel suo prodotto, dove ogni recruiter collega il proprio account LinkedIn tramite Hosted Auth e il suo codice agisce per conto di quell'utente autenticato, sul contratto Recruiter di cui dispone.

L'URL del server

URL del server MCP LinkedIn RecruiterAttivo
https://developer.unipile.com/mcp?branch=v2.0
AutenticazioneHeader X-API-KEY con una chiave API Account scoped, su streamable HTTP. Lo stesso URL serve LinkedIn Classic, Sales Navigator, Recruiter e altri otto canali.
AccountDurante lo sviluppo, un account LinkedIn di test con un contratto Recruiter sulla sua applicazione Development; in produzione, l'account che ogni recruiter ha collegato tramite Hosted Auth.
Recruiter25 route sotto /v2/{account_id}/linkedin/recruiter, più le InMail Recruiter su POST /v2/{account_id}/chats/send.
ClientCodex, Cursor, Claude Code, Gemini CLI, Windsurf, o qualsiasi client MCP su streamable HTTP.

Come un prompt diventa codice nel suo ATS

1
Lei descrive la funzionalitàAggiungi la ricerca di candidati Recruiter alla pagina di sourcing, con filtri per competenze, località e anni di esperienza.
2
L'agente legge gli endpoint Recruiter
Lettura endpointPOST /v2/{account_id}/linkedin/recruiter/search/peopleschema caricato
3
Scrive il codice e lo testa sulla sua applicazione DevelopmentAggiunte searchCandidates() e un modulo di filtri alimentato dalla route dei parametri di ricerca Recruiter, collegati alla pagina di sourcing. Eseguito sull'app Development: 25 candidati, profilo aperto con la variante Recruiter.
Tutta l'API Unipile, leggibile dal suo coding agent
Prompt, non codice di collegamento

Cosa costruisce il suo coding agent con LinkedIn Recruiter MCP

Scelga una funzionalità di recruiting. Ogni trascrizione mostra il prompt dato all'agente, gli endpoint dell'API LinkedIn Recruiter che legge ed esegue tramite il server MCP Unipile e ciò che arriva nel suo ATS. I percorsi sono completi, sull'URL di base dell'API https://api.unipile.com, con una chiave scoped passata nell'header X-API-KEY della richiesta.
Codex · sourcing-appApp Development
Aggiungi la ricerca di candidati LinkedIn Recruiter alla pagina di sourcing: competenze, qualifica, seniority, un codice postale con un raggio, anni di esperienza.
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/search/parametersID risolti
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/search/people40 candidati
Aggiunta recruiter-search.ts: il modulo di filtri converte competenze, qualifiche e località in ID con la route dei parametri di ricerca, poi chiama la ricerca di persone con skills, title, seniority, postal_code_radius e years_of_experience. Pagina dei risultati basata su ciò che restituisce l'API. Testato sull'app Development: 40 candidati nella prima pagina.4 file modificati · testato sull'app Development

Ricerca di candidati Recruiter, con i filtri propri di Recruiter

La route di ricerca di persone accetta l'intero set di filtri Recruiter: competenze, qualifiche, seniority, aziende, scuole, località, lingue, e segnali Recruiter come recently_joined, is_past_applicant o hide_previously_viewed. I risultati sono ciò che il recruiter collegato può vedere con il proprio contratto.
Endpoint usati dall'agente
POST/v2/{account_id}/linkedin/recruiter/search/parametersPOST/v2/{account_id}/linkedin/recruiter/search/peopleGET/v2/{account_id}/users/{user_id}
Errore comune: inviare una località o una competenza come testo libero. I filtri che puntano a un'entità LinkedIn accettano ID: li risolva prima con POST /v2/{account_id}/linkedin/recruiter/search/parameters. È una POST, a differenza della route GET dei parametri di Sales Navigator.
Guida all'API di ricerca Recruiter
Cursor · ats-appApp Development
Permetti ai recruiter di incollare un URL di ricerca LinkedIn Recruiter, o di scegliere una delle loro ricerche salvate, e importa i candidati nell'ATS.
Lettura endpointPOST /v2/{account_id}/linkedin/recruiter/searchschema caricato
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/search/people25 candidati
Aggiunta una finestra "Import from Recruiter". Un URL incollato va alla route di ricerca da URL; una ricerca salvata passa dalla ricerca di persone con load_saved_search. I candidati vengono salvati tramite il loro ID LinkedIn, quindi una seconda importazione non crea duplicati.3 file modificati · testato sull'app Development

Riutilizzare le ricerche che i recruiter hanno già creato in Recruiter

I recruiter dedicano tempo a perfezionare una ricerca. La route di ricerca da URL esegue un URL di ricerca Recruiter così com'è, e la ricerca di persone può caricare una ricerca salvata o un filtro personalizzato salvato (load_saved_search, load_custom_filter) oppure salvarne uno nuovo (save_search, save_custom_filter).
Endpoint usati dall'agente
POST/v2/{account_id}/linkedin/recruiter/searchPOST/v2/{account_id}/linkedin/recruiter/search/peoplePOST/v2/{account_id}/linkedin/recruiter/search/parameters
Errore comune: inviare un URL Classic o Sales Navigator alla route Recruiter. Ogni prodotto ha la propria route di ricerca da URL; scelga la route in base alla provenienza dell'URL.
API LinkedIn per software di recruiting
Claude Code · ats-appApp Development
Quando un recruiter apre un candidato, mostra il profilo come lo mostra LinkedIn Recruiter, con la sezione dell'attività di recruiting.
Lettura endpointGET /v2/{account_id}/users/{user_id}schema caricato
Esecuzione richiestaGET /v2/{account_id}/users/{user_id}?variant=linkedin_recruiter&with_sections=linkedin_recruiting_activity200 OK
Aggiunta getRecruiterProfile(id) con variant=linkedin_recruiter e la sezione linkedin_recruiting_activity , e una scheda "Recruiting activity" nella pagina del candidato. La chiamata parte solo quando il recruiter apre il profilo.3 file modificati · testato sull'app Development

Il profilo del candidato come lo mostra Recruiter

La route del profilo ha tre varianti LinkedIn: linkedin_classic, linkedin_sales_navigator e linkedin_recruiter. Con la variante Recruiter, l'agente può richiedere la sezione dell'attività di recruiting, che esiste solo su Recruiter, accanto a sezioni come esperienza, formazione, competenze e lingue.
Endpoint usati dall'agente
GET/v2/{account_id}/users/{user_id}POST/v2/{account_id}/linkedin/recruiter/search/peopleGET/v2/{account_id}/linkedin/contracts
Errore comune: omettere variant=linkedin_recruiter e aspettarsi dati Recruiter. La sezione linkedin_recruiting_activity esiste solo su Recruiter; la richieda con la variante Recruiter.
Server MCP LinkedIn: profili Classic e messaggistica
Gemini CLI · ats-appApp Development
Replica ogni posizione aperta dell'ATS come progetto di selezione LinkedIn Recruiter: crealo quando il recruiter apre la posizione, aggiornalo quando la posizione cambia.
Esecuzione richiestaGET /v2/{account_id}/linkedin/recruiter/projects12 progetti
Lettura endpointPOST /v2/{account_id}/linkedin/recruiter/projectsschema caricato
Aggiunta recruiter-projects.ts: la prima sincronizzazione collega i progetti esistenti alle posizioni aperte, "Create in Recruiter" crea un progetto dalla pagina della posizione, e le modifiche passano da PATCH sul progetto. L'ID del progetto viene salvato sulla posizione.4 file modificati · testato sull'app Development

Progetti di selezione sincronizzati con le sue posizioni aperte

Elencare, creare, leggere e modificare i progetti di selezione Recruiter dal suo ATS. L'ID del progetto delimita poi tutto il resto: pipeline, ricerca nel talent pool, candidature e annunci di lavoro.
Endpoint usati dall'agente
GET/v2/{account_id}/linkedin/recruiter/projectsPOST/v2/{account_id}/linkedin/recruiter/projectsPATCH/v2/{account_id}/linkedin/recruiter/projects/{project_id}
Errore comune: ritentare la creazione di un progetto dopo un timeout. Elenchi prima i progetti per verificare se è stato creato, poi decida; un retry alla cieca può lasciare due progetti.
Funzionalità per software di recruiting
Claude Code · ats-appApp Development
Mostra la pipeline di ogni progetto Recruiter nella pagina della posizione, aggiungi una ricerca nel talent pool e permetti ai recruiter di salvare un candidato nella pipeline.
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline34 candidati
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/search18 risultati
Aggiunti la vista pipeline (candidati salvati sulla posizione), un campo di ricerca nel talent pool del progetto e un pulsante "Save to pipeline" collegato alla route di salvataggio del candidato. Un salvataggio parte al clic del recruiter, un candidato alla volta.5 file modificati · testato sull'app Development

Pipeline e talent pool, dentro la posizione aperta

La route della pipeline elenca i candidati di un progetto e la route di salvataggio ne aggiunge uno. La ricerca nel talent pool esegue una ricerca di persone nel talent pool del progetto, così la pagina della posizione mostra gli stessi candidati con cui il recruiter lavora in Recruiter.
Endpoint usati dall'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
Errore comune: chiamare le route di lista in GET. Elencare i candidati della pipeline e cercare nel talent pool sono entrambe route POST con un body di richiesta.
Funzionalità di messaggistica e workflow per ATS
Cursor · ats-appApp Development
Importa le candidature dell'annuncio LinkedIn di ogni progetto nella lista candidati dell'ATS, con i relativi curriculum.
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants52 candidature
Esecuzione richiestaGET /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_profile_id}/resumecurriculum
Aggiunte l'importazione delle candidature per progetto (lista, poi dettaglio con la route get-applicant) e il recupero del curriculum, salvato nella scheda del candidato. I curriculum vengono recuperati quando il recruiter apre una candidatura, non per tutta la lista.4 file modificati · testato sull'app Development

Candidature e relativi curriculum, nell'ATS

Per un progetto con un annuncio di lavoro, la route applicants elenca chi si è candidato, la route applicant restituisce una candidatura e la route del curriculum restituisce il curriculum di quel candidato. Il suo ATS riceve le candidature LinkedIn accanto a quelle del proprio sito carriere.
Endpoint usati dall'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
Errore comune: presumere che la route del curriculum accetti lo stesso ID della route applicant. Il suo parametro di percorso è applicant_profile_id, non applicant_id; l'agente legge entrambi gli schemi prima di collegarle.
API LinkedIn per gli annunci di lavoro
Codex · ats-appApp Development
Permetti ai recruiter di inviare una InMail Recruiter dalla pagina del candidato, con oggetto e firma, visibile al team del progetto.
Lettura endpointPOST /v2/{account_id}/chats/sendspecifics caricati
Esecuzione richiestaGET /v2/{account_id}/linkedin/inmail-creditscrediti
Aggiunta sendRecruiterInmail() sulla route start-chat con specifics.linkedin.recruiter: subject, signature, visibility: PROJECT, intent: HIRE_FOR_OWN_COMPANY, send_as: INMAIL. Il composer mostra i crediti InMail, e un invio fallito viene segnalato al recruiter, mai ritentato.3 file modificati · testato sull'app Development

InMail Recruiter dalla pagina del candidato

I messaggi Recruiter passano dalla route start-chat con specifics.linkedin.recruiter: oggetto, firma, visibilità (PUBLIC, PRIVATE o PROJECT), intento (HIRE_FOR_CLIENT o HIRE_FOR_OWN_COMPANY), send_as (INMAIL, oppure EMAIL usando i dati del profilo), un channel_type dal talent pool del progetto, e follow_up per programmare un messaggio di follow-up sui contratti Recruiter Pro.
Endpoint usati dall'agente
POST/v2/{account_id}/chats/sendGET/v2/{account_id}/linkedin/inmail-creditsGET/v2/{account_id}/chats/{chat_id}/messages
Errore comune: mantenere i valori predefiniti senza verificarli. intent ha come valore predefinito HIRE_FOR_CLIENT e visibility a PRIVATE: un team interno di solito vuole HIRE_FOR_OWN_COMPANY, e un progetto condiviso può richiedere PROJECT.
Inviare messaggi per conto dei recruiter
Windsurf · ats-appApp Development
Pubblica le offerte dell'ATS su LinkedIn dalla pagina della posizione: crea la bozza, verifica i crediti job slot, pubblica e chiudi l'annuncio quando la posizione è coperta.
Esecuzione richiestaGET /v2/{account_id}/linkedin/recruiter/job-slots-creditscrediti
Esecuzione richiestaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/publishpubblicato
Aggiunto il flusso degli annunci: una bozza nel progetto della posizione (o in un nuovo progetto), modifiche con PATCH, il budget dell'annuncio, un controllo dei crediti job slot prima di abilitare il pulsante Publish, e Close quando la posizione è coperta. Ogni passaggio è un clic del recruiter.6 file modificati · testato sull'app Development

Annunci di lavoro dalla posizione aperta, con verifica preventiva dei crediti

Creare una bozza in un progetto esistente o in uno nuovo, modificarla, pubblicarla, chiuderla. Elencare gli annunci, leggerne uno, leggere il budget di un annuncio e i crediti job slot del contratto prima di pubblicare.
Endpoint usati dall'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
Errore comune: pubblicare senza leggere i crediti. Chiami prima GET /v2/{account_id}/linkedin/recruiter/job-slots-credits e mostri il risultato al recruiter; la pubblicazione resta una sua decisione.
API LinkedIn per gli annunci di lavoro
Route reali, percorsi completi

Tutte le route dell'API LinkedIn Recruiter esposte dal server MCP

Il server espone l'API Unipile stessa, quindi ciò che il suo coding agent può costruire su Recruiter è ciò che fa l'API. Qui sotto trova tutte le 25 route Recruiter, raggruppate per funzionalità, e le route LinkedIn condivise che un'integrazione Recruiter usa a sua volta. I percorsi sono completi, sull'URL di base dell'API https://api.unipile.com, con la chiave scoped passata nell'header X-API-KEY della richiesta.
25route Recruiter sotto /linkedin/recruiter, sul contratto collegato dall'utente
3modi di cercare: filtri, un URL Recruiter, il talent pool di un progetto
1route di invio per le InMail Recruiter, con specifics.linkedin.recruiter
0endpoint da indovinare: l'agente legge lo schema esatto prima di scrivere il codice
3 route
Ricerca di candidati Ricerca di persone Recruiter con l'intero set di filtri, una ricerca da URL Recruiter e la route dei parametri che converte i valori dei filtri in ID.
POST/v2/{account_id}/linkedin/recruiter/search/people
POST/v2/{account_id}/linkedin/recruiter/search
POST/v2/{account_id}/linkedin/recruiter/search/parameters
«Aggiungi alla pagina di sourcing la ricerca di candidati Recruiter con filtri per competenze, località e seniority.»
4 route
Progetti di selezione Elencare, creare, leggere e modificare i progetti di selezione del contratto Recruiter. L'ID del progetto delimita pipeline, talent pool, candidature e annunci.
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}
«Crea un progetto Recruiter per ogni nuova posizione aperta e mantienine il nome sincronizzato.»
3 route
Pipeline e talent pool Elencare i candidati della pipeline di un progetto, salvarvi un candidato, cercare nel talent pool del progetto.
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
«Mostra la pipeline di ogni progetto nella pagina della posizione, con un pulsante Save to pipeline.»
3 route
Candidature e curriculum Elencare le candidature all'annuncio di un progetto, leggerne una, recuperare il curriculum del candidato.
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
«Importa le candidature LinkedIn e i relativi curriculum nella lista candidati dell'ATS.»
8 route
Annunci di lavoro Creare una bozza in un progetto nuovo o esistente, modificarla, pubblicarla e chiuderla, elencare gli annunci e leggerne uno.
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
«Pubblica la posizione come offerta LinkedIn e chiudila quando il ruolo è coperto.»
2 route
Budget e job slot Leggere il budget di un annuncio e i crediti job slot del contratto prima che la sua interfaccia proponga la pubblicazione.
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/budget
GET/v2/{account_id}/linkedin/recruiter/job-slots-credits
«Disattiva Publish e spiega il motivo quando il contratto non ha più job slot.»
2 route
Verifica dei membri aziendali Verificare l'identità di un membro dell'azienda: richiedere l'email di verifica, poi inviare il codice monouso ricevuto dall'utente.
POST/v2/{account_id}/linkedin/recruiter/company/{company_id}/member/verify-email
POST/v2/{account_id}/linkedin/recruiter/company/{company_id}/member/submit-otp
«Aggiungi un passaggio di verifica in cui il recruiter inserisce il codice ricevuto.»
8 condivise
Route LinkedIn condivise InMail Recruiter, la variante Recruiter del profilo, crediti InMail, contratti e la connessione dell'account tramite 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/
«Verifica i contratti dell'account dopo la connessione e nascondi le funzionalità Recruiter se non ne trovi.»
Una richiesta completa, esattamente come la esegue l'agente
POSThttps://api.unipile.com/v2/{account_id}/linkedin/recruiter/search/peopleX-API-KEY: your-scoped-api-key200 OK
Il server segue ogni rilascio dell'API Unipile, quindi una nuova route Recruiter arriva al suo agente il giorno stesso dell'uscita. In produzione il suo prodotto chiama le stesse route sull'account che ogni recruiter ha collegato tramite Hosted Auth, come azioni dell'utente nella sua interfaccia. Sono le stesse route esposte dalla API LinkedIn di Unipile, nel codice scritto dall'agente o tramite gli SDK ufficiali.·Riferimento API
LinkedInFiltri di ricerca Recruiter

Filtri di ricerca di LinkedIn Recruiter MCP: l'intero set Recruiter

La ricerca di persone Recruiter è il punto di partenza della maggior parte delle funzionalità di ATS e di sourcing. La route POST /v2/{account_id}/linkedin/recruiter/search/people documenta 56 campi del body; l'agente li legge dallo schema e costruisce il modulo di filtri che i suoi recruiter si aspettano. Ecco i principali, raggruppati come li pensa un recruiter.
Competenze ed esperienza12 campi
I filtri che i recruiter usano per primi: cosa fa il candidato, a quale livello, da quanto tempo. Campi del body della ricerca di persone
Competenze, qualifiche e funzioneskills, title, job_title, job_function
Seniority e anzianitàseniority, years_of_experience, years_in_current_company, years_in_current_position
Parole chiave e nomikeywords, first_name, last_name, occupation
«Trova backend engineer con Go e Kubernetes, livello senior, da 5 a 10 anni di esperienza.»
Aziende e formazione9 campi
Dove lavora o ha lavorato il candidato, il tipo di azienda e dove ha studiato. Campi del body della ricerca di persone
Aziendecompany, current_company, past_company
Settore e dimensione dell'aziendaindustry, company_size
Formazioneschool, degree, field_of_study, graduation_year
«Aggiungi al modulo di sourcing un filtro per azienda precedente e un intervallo di anni di laurea.»
Località, modalità di lavoro e lingue8 campi
Dove si trova il candidato, come vuole lavorare, quali lingue parla. Campi del body della ricerca di persone
Località e raggiolocation, postal_code, postal_code_radius
Sede di lavoro e tipo di impiegoworkplace_type, employment_type
Linguespoken_language, proficiency, profile_language
«Cerca entro 30 km da un codice postale, da remoto o ibrido, con il tedesco parlato.»
Segnali Recruiter e lavoro del suo team16 campi
Filtri che hanno senso solo in Recruiter: segnali di attività, progetti del team, tag e note, e ricerche salvate. Campi del body della ricerca di persone
Segnalirecently_joined, hide_previously_viewed, new_results_only, is_past_applicant, recruiting_activity, spotlights, is_military_veteran, network_distance
Progetti, tag e noteproject, project_id, tags, notes
Ricerche salvate e filtri personalizzatiload_saved_search, save_search, load_custom_filter, save_custom_filter
«Nascondi i candidati già visti dal recruiter e mostra solo i nuovi risultati dall'ultima esecuzione.»
I filtri che puntano a un'entità LinkedIn (una località, una competenza, un'azienda, una scuola) accettano ID. L'agente li risolve con POST /v2/{account_id}/linkedin/recruiter/search/parameters prima di chiamare la ricerca, poi passa gli ID. Lo schema documenta anche exclude, group, id, include, max, min, name, preferences, priority, timespan e type; l'agente ne legge la forma esatta prima di scrivere il modulo. Ogni filtro viene eseguito sul contratto Recruiter dell'account collegato.
Avvio rapido

Aggiunga LinkedIn Recruiter MCP al suo coding agent in una riga

Non c'è alcun server Recruiter separato da installare: il server MCP Unipile ospitato copre LinkedIn Recruiter con lo stesso URL di LinkedIn Classic, Sales Navigator e di tutti gli altri canali. Indirizzi il suo coding agent verso quell'URL con una chiave API scoped: leggerà gli endpoint Recruiter ed eseguirà richieste sulla sua applicazione Development. Gli snippet qui sotto sono quelli della documentazione ufficiale.
Cursor~/.cursor/mcp.json
Claude Codeclaude mcp add --transport http …
Codex CLI ed estensione IDE~/.codex/config.toml
Gemini CLI~/.gemini/settings.json
Windsurf~/.codeium/windsurf/mcp_config.json
~/.cursor/mcp.json
# Registri il server MCP Unipile ospitato in 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" # Verifichi la connessione, oppure digiti /mcp in una sessione 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" } } } }
# Codex CLI e l'estensione Codex per l'IDE condividono questo file [mcp_servers.unipile] url = "https://developer.unipile.com/mcp?branch=v2.0" http_headers = { X-API-KEY = "your-scoped-api-key" } # Verifica: codex mcp list
{ "mcpServers": { "unipile": { "httpUrl": "https://developer.unipile.com/mcp?branch=v2.0", "headers": { "X-API-KEY": "your-scoped-api-key" } } } } # Verifica: /mcp dentro Gemini CLI
Server connesso. Provi: «Aggiungi la ricerca di candidati LinkedIn Recruiter alla pagina di sourcing, poi apri il profilo selezionato con la variante Recruiter.»
1
Inizi con un'applicazione DevelopmentNella dashboard Unipile, lavori nella sua applicazione Development: colleghi tramite Hosted Auth un account LinkedIn di test con un contratto Recruiter, crei uno Scope che lo contenga e una chiave API Account scoped per quello Scope. La Produzione resta intatta, e un client MCP non riceve mai una chiave globale o Service.
2
Aggiunga il server al suo coding agentIncolli la configurazione del suo client, con la chiave scoped nell'header X-API-KEY. Riavvii il client se non la rileva subito.
3
Descriva la funzionalità, riveda il codiceDescriva la funzionalità Recruiter che le serve. L'agente legge gli endpoint, scrive il codice nel suo progetto ed esegue richieste sull'app Development. Passi la chiave alla Produzione quando il flusso funziona.
Per conto del recruiter

Su quale contratto Recruiter agisce la sua integrazione?

Durante lo sviluppo, sull'account di test della sua applicazione Development. In produzione, sull'account LinkedIn che ogni recruiter ha collegato tramite Hosted Auth, con il contratto Recruiter di quell'account, all'interno di flussi che quel recruiter avvia e controlla.
1 · Il suo coding agent Codex, Cursor, Claude Code Legge gli schemi Recruiter, scrive il codice
2 · Server MCP Unipile Ospitato, chiave API scoped Esegue richieste di test sulla sua app Development
3 · API Unipile Le route Recruiter Limita l'azione a un solo account ID
4 · LinkedIn Recruiter LinkedIn Il contratto selezionato Regole di LinkedIn, crediti InMail e job slot
5 · L'account del recruiter Il recruiter Collegato tramite Hosted Auth I suoi progetti, la sua pipeline, i suoi crediti
Account collegato · ats-appConnesso
Il recruiterLinkedIn
Sarah MitchellLinkedIn · contratto Recruiter · collegato dall'utente tramite Hosted Auth
Account IDacc_7f3…c91, l'unico identificatore che il suo codice conserva
ContrattoElencato con GET …/linkedin/contracts, selezionato con POST …/contracts/{contract_id}/select
SessioneGestita da Unipile, mai esposta alla sua app
StatoConnesso · i cambi di stato arrivano via webhook
RiconnettiDisconnetti
Nessun contratto Recruiter, nessuna route RecruiterLe route Recruiter rispondono solo quando l'account collegato possiede un contratto Recruiter. Dopo la connessione, il suo codice chiama GET /v2/{account_id}/linkedin/contracts, nasconde le funzionalità Recruiter se non ne trova e ne seleziona uno con POST /v2/{account_id}/linkedin/contracts/{contract_id}/select quando l'account ne ha diversi. Alcune opzioni dipendono dal contratto: una InMail programmata tramite follow_up è riservata ai contratti Recruiter Pro.
I dati restano nella sessione del recruiterProfili dei candidati, progetti, pipeline e messaggi passano dalla sessione LinkedIn dell'utente autenticato. Unipile non conserva alcun archivio, indice o database indipendente di profili o conversazioni LinkedIn: ogni richiesta parte da un'azione avviata dall'utente.
Un intermediario tecnico indipendenteUnipile è un intermediario tecnico indipendente, non affiliato a LinkedIn. Ogni richiesta viene inoltrata all'account che un recruiter ha collegato tramite Hosted Auth, per conto di quell'utente, nei limiti di ciò che quell'utente può già fare con la propria licenza Recruiter.
I limiti li stabilisce LinkedIn, lei li rispettaCrediti InMail, crediti job slot e volumi di ricerca sono definiti da LinkedIn e dal contratto. Unipile trasmette i segnali in tempo reale perché il suo prodotto possa sospendere l'attività o informare il recruiter. La frequenza con cui agisce su un account resta una decisione del cliente.
Limiti dichiarati

Quali limiti di LinkedIn Recruiter continuano a valere

Il server non rimuove le regole di LinkedIn e non aggiunge crediti a un contratto. L'API fornisce al suo ATS i segnali reali dell'account, così la funzionalità che rilascia lavora entro quei limiti, come farebbe il recruiter.
Ciò che impongono LinkedIn e il contratto
Un contratto Recruiter sull'account collegatoOgni route sotto /linkedin/recruiter ne richiede uno. Senza, l'account funziona comunque sulle route LinkedIn Classic, ma le sue funzionalità Recruiter restano nascoste.
Crediti InMailLe InMail Recruiter consumano i crediti del contratto. Li legga con GET /v2/{account_id}/linkedin/inmail-credits e li mostri prima che il recruiter invii.
Crediti job slot e budget dell'annuncioPubblicare un annuncio usa ciò che il contratto mette a disposizione. Legga GET /v2/{account_id}/linkedin/recruiter/job-slots-credits e il budget dell'annuncio prima di proporre Publish.
Paginazione della ricercaLe ricerche Recruiter restituiscono pagine. Il suo codice pagina con ciò che restituisce l'API, entro ciò che il contratto consente al recruiter di vedere.
Checkpoint e verifiche d'identitàLinkedIn può chiedere al titolare dell'account un codice quando l'account viene collegato, e la verifica d'identità di un membro aziendale usa un'email e un codice monouso. È l'utente a inserire il codice; il suo codice non vede mai una password.
Cosa integrare nel suo ATS
Le scritture sono azioni del recruiterInviare una InMail, salvare un candidato, creare un progetto, pubblicare o chiudere un annuncio: ogni azione è avviata dal recruiter nella sua interfaccia, mai da un ciclo in background.
Verificare prima di ritentare una scritturaDopo un errore ambiguo, elenchi i progetti, la pipeline o gli annunci per capire cosa è successo. Un retry alla cieca può creare un secondo progetto o inviare una seconda InMail.
Uno Scope e una chiave scoped per tenantUn workspace vede solo gli account assegnati al proprio Scope. La chiave globale resta nel backend per l'amministrazione, e il recruiter può disconnettersi in qualsiasi momento.
Adattare l'interfaccia al contrattoNasconda ciò che l'account non può fare: nessun contratto Recruiter, nessuna scheda Recruiter; nessun contratto Recruiter Pro, nessun follow-up programmato.
Usare i webhook per i nuovi messaggiSe il suo ATS deve reagire alle risposte dei candidati, sottoscriva i webhook e lasci che sia l'evento a portare il messaggio, invece di interrogare la inbox.
Quattro modi per collegare un ATS a LinkedIn

Come si confrontano le opzioni MCP per LinkedIn Recruiter

Ogni opzione MCP per LinkedIn Recruiter è di terze parti, quindi la vera domanda per un prodotto di recruiting è come ciascuna raggiunge Recruiter, con quale contratto e cosa permette di rilasciare. Ecco le quattro famiglie che troverà, a confronto.
Server MCP Unipile Server open source della community Marketplace di dati pubblici Bridge MCP no-code
Come raggiunge Recruiter Server MCP UnipileL'account LinkedIn che ciascun recruiter collega tramite Hosted Auth, poi le route dell'API Recruiter sul suo contratto Server open source della communityIl suo login LinkedIn personale sulla sua macchina, guidato da una sessione di browser Marketplace di dati pubbliciPagine pubbliche, nessun account, nessun accesso a Recruiter Bridge MCP no-codeLa loro connessione all'app LinkedIn e un insieme di azioni predefinite
Superfici Recruiter Server MCP UnipileRicerca, progetti, pipeline, talent pool, candidature, annunci di lavoro, InMail Recruiter Server open source della communityRaramente oltre il profilo Classic Marketplace di dati pubbliciSolo profili pubblici, nessun progetto né pipeline Bridge MCP no-codePoche o nessuna azione Recruiter
Leggere, oppure leggere e agire Server MCP UnipileLeggere e agire: salvare candidati, creare progetti, pubblicare annunci, inviare InMail, come funzionalità del suo ATS Server open source della communitySoprattutto lettura, qualche scrittura a seconda del progetto Marketplace di dati pubbliciSola lettura Bridge MCP no-codeScritture predefinite, poca lettura
Hosting e client Server MCP UnipileOspitato, un solo URL, qualsiasi coding agent su HTTP: Codex, Cursor, Claude Code, Gemini CLI, Windsurf Server open source della communitySelf-hosted, locale o Docker, di solito un client alla volta Marketplace di dati pubbliciOspitato, un token per client Bridge MCP no-codeOspitato, un URL generato per configurazione
Altri canali sullo stesso server Server MCP UnipileOtto: WhatsApp, Instagram, Telegram, Gmail, Outlook, IMAP, calendari Google e Outlook Server open source della communityNessuno Marketplace di dati pubbliciAltre fonti di dati pubblici Bridge MCP no-codeMigliaia di app, ciascuna con un set di azioni superficiale
Modello di prezzo Server MCP UnipilePer account collegato, indipendentemente dal volume di richieste, prova gratuita di 7 giorni Server open source della communityGratuito, lo ospita e lo mantiene lei Marketplace di dati pubbliciA credito o a risultato Bridge MCP no-codePer task o per azione
Sotto quali condizioni lavora il suo prodotto Server MCP UnipileL'account e il contratto Recruiter di ciascun recruiter, in flussi che il recruiter avvia e controlla dal suo prodotto Server open source della communityIl suo account personale, a suo rischio Marketplace di dati pubbliciLe condizioni di raccolta dati del marketplace Bridge MCP no-codeLe condizioni del bridge e i permessi della sua app LinkedIn
Le categorie sono descritte in modo generico di proposito. Ciò che distingue il server Unipile è il modello di account: il suo ATS legge e agisce come il recruiter che ha collegato l'account, sul suo contratto Recruiter, dietro un unico URL di server condiviso con altri otto canali.
6000+ Aziende che innovano con Unipile
Fiducia da parte dei leader del settore
1 API
Semplificare le operazioni per tutti i principali canali di comunicazione
2 giorni
Integrazione rapida con una configurazione minima
30%
Riduzione dell'impegno e delle risorse per la manutenzione

Sicurezza e conformità integrate

Protezione di livello aziendale per i vostri dati e flussi di lavoro Per saperne di più sulla nostra sicurezza
SOC 2 Tipo II
SOC 2 Tipo II
Certificato
Controlli di sicurezza verificati in modo indipendente che garantiscono la protezione dei dati e l'integrità operativa.
GDPR
GDPR
Conforme
Piena conformità alle normative europee sulla protezione dei dati per la privacy degli utenti.
99.9%
Uptime della piattaforma negli ultimi 24 mesi
24/7
Supporto globale con API ad alte prestazioni

FAQ LinkedIn Recruiter MCP

Le domande che si fanno davvero: ufficiale o no, l'URL del server, ricerca di candidati, progetti e pipeline, InMail Recruiter, contratti e prezzo.
Non da parte di LinkedIn: non pubblica alcun server Model Context Protocol per Recruiter. Il server MCP Unipile è un server ospitato di terze parti generato dall'API Unipile, ed espone le route dell'API LinkedIn Recruiter: ricerca di candidati, progetti di selezione, pipeline, talent pool, candidature, annunci di lavoro e InMail Recruiter. Il suo coding agent legge questi endpoint e scrive l'integrazione nel suo prodotto, dove ogni recruiter collega il proprio account e il suo codice agisce per conto di quell'utente autenticato. Unipile è un intermediario tecnico indipendente e non è affiliata, approvata o sponsorizzata da LinkedIn.
Lo stesso URL di tutta l'API Unipile: https://developer.unipile.com/mcp?branch=v2.0, su streamable HTTP, con una chiave API Account scoped nell'header X-API-KEY . Non esiste un server Recruiter separato. Lo incolli in Codex, Cursor, Claude Code, Gemini CLI o Windsurf, e l'agente trova gli endpoint Recruiter sotto /v2/{account_id}/linkedin/recruiter in autonomia.
Sì, su un account con un contratto Recruiter. L'agente legge POST /v2/{account_id}/linkedin/recruiter/search/people e costruisce la ricerca con filtri Recruiter come competenze, qualifica, seniority, azienda, scuola, località con raggio da un codice postale, lingua parlata, o segnali come recently_joined e hide_previously_viewed. Converte i valori dei filtri in ID con POST /v2/{account_id}/linkedin/recruiter/search/parameters, può eseguire una ricerca da un URL Recruiter con POST /v2/{account_id}/linkedin/recruiter/search, e testa il risultato sulla sua applicazione Development. Le ricerche vengono eseguite come azioni del recruiter che ha collegato l'account.
Sì. Il suo ATS può elencare, creare, leggere e modificare i progetti di selezione (GET e POST /v2/{account_id}/linkedin/recruiter/projects, PATCH /v2/{account_id}/linkedin/recruiter/projects/{project_id}), elencare i candidati della pipeline di un progetto con POST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline, salvarvi un candidato, cercare nel talent pool del progetto e importare le candidature con i relativi curriculum. Salvare un candidato o creare un progetto resta un'azione del recruiter nella sua interfaccia.
Sì, tramite POST /v2/{account_id}/chats/send con specifics.linkedin.recruiter: un oggetto, una firma, una visibilità (PUBLIC, PRIVATE o PROJECT), un intento (HIRE_FOR_CLIENT o HIRE_FOR_OWN_COMPANY), e send_as impostato su INMAIL o su EMAIL usando i dati del profilo. La programmazione di un follow_up è disponibile solo sui contratti Recruiter Pro. Le InMail consumano i crediti del contratto, leggibili con GET /v2/{account_id}/linkedin/inmail-credits, e ogni messaggio viene inviato dal recruiter dalla sua interfaccia.
Le route Recruiter richiedono un contratto Recruiter sull'account collegato; senza, l'account funziona solo sulle route LinkedIn Classic (messaggistica, profili, ricerca classica). Ciò che un account può fare dipende dal contratto che possiede, quindi il suo codice ne elenca i contratti con GET /v2/{account_id}/linkedin/contracts, ne seleziona uno con POST /v2/{account_id}/linkedin/contracts/{contract_id}/select, e mostra solo le funzionalità che rispondono. Testi con il tipo di contratto usato dai suoi clienti.
Sono le stesse route usate in due momenti. LinkedIn Recruiter MCP è il modo in cui il suo coding agent legge gli endpoint Recruiter e li testa mentre scrive la sua integrazione. L'API LinkedIn Recruiter è ciò che il suo prodotto chiama in produzione, tramite API REST o gli SDK ufficiali, con le proprie chiavi scoped, sugli account collegati dai suoi recruiter. Si costruisce con l'MCP e si esegue sull'API.
Il server MCP è incluso in tutti i piani Unipile, senza costi per messaggio o per richiesta. La fatturazione è per account collegato, qualunque sia il canale: da 49 EUR al mese fino a 10 account, poi 5 EUR per ogni account aggiuntivo, fino a 3 EUR con volumi maggiori. La prova gratuita di 7 giorni non richiede carta di credito. Il contratto Recruiter resta l'abbonamento LinkedIn del recruiter. Griglia completa nella pagina dei prezzi.