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
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.
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
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.
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.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.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
Guida all'API di ricerca Recruiter
POST /v2/{account_id}/linkedin/recruiter/search/parameters. È una POST, a differenza della route GET dei parametri di Sales Navigator.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.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
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.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
Server MCP LinkedIn: profili Classic e messaggistica
variant=linkedin_recruiter e aspettarsi dati Recruiter. La sezione linkedin_recruiting_activity esiste solo su Recruiter; la richieda con la variante Recruiter.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.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
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.
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
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.
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 è
API LinkedIn per gli annunci di lavoro
applicant_profile_id, non applicant_id; l'agente legge entrambi gli schemi prima di collegarle.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.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.
Inviare messaggi per conto dei recruiter
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.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.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
API LinkedIn per gli annunci di lavoro
GET /v2/{account_id}/linkedin/recruiter/job-slots-credits e mostri il risultato al recruiter; la pubblicazione resta una sua decisione.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
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}
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
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
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
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
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
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/
Una richiesta completa, esattamente come la esegue l'agente
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
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
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
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
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
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
# 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
Il contratto selezionato
Regole di LinkedIn, crediti InMail e job slot
5 · L'account del recruiter
Collegato tramite Hosted Auth
I suoi progetti, la sua pipeline, i suoi crediti
Sarah MitchellLinkedIn · contratto Recruiter · collegato dall'utente tramite Hosted Auth
Account ID
acc_7f3…c91, l'unico identificatore che il suo codice conservaContrattoElencato con
GET …/linkedin/contracts, selezionato con POST …/contracts/{contract_id}/selectSessioneGestita da Unipile, mai esposta alla sua app
StatoConnesso · i cambi di stato arrivano via webhook
RiconnettiDisconnetti
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
Certificato
Controlli di sicurezza verificati in modo indipendente che garantiscono la protezione dei dati e l'integrità operativa.
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.