Serwer MCP LinkedIn Recruiter dla Państwa ATS
Agent kodujący czyta trasy Recruiter w serwerowi MCP Unipile i wbudowuje w Państwa ATS wyszukiwanie kandydatów, projekty rekrutacyjne i InMail.
7 dni za darmo, bez karty kredytowej.
Agent kodujący
MCP Unipile połączony
Dodaj wyszukiwanie kandydatów Recruiter do strony sourcingu w moim ATS.
Odczyt endpointuPOST /v2/{account_id}/linkedin/recruiter/search/peopleschemat wczytany
Dodałem searchCandidates() w backendzie. Najpierw sprawdza kontrakt: 40 kandydatów na pierwszej stronie.
Opisz kolejną funkcję…
Krótka odpowiedź
Czy istnieje oficjalny serwer MCP LinkedIn Recruiter?
Nie. LinkedIn nie publikuje serwera Model Context Protocol, ani dla Recruiter, ani dla niczego innego. Serwer MCP Unipile to hostowany serwer zewnętrzny, generowany z API Unipile, który udostępnia trasy API LinkedIn Recruiter: wyszukiwanie kandydatów, projekty rekrutacyjne, pipeline'y, talent pool, aplikujących, ogłoszenia o pracę i Recruiter InMail. Agent kodujący czyta te endpointy i wbudowuje integrację w Państwa produkt, w którym każdy rekruter łączy własne konto LinkedIn przez Hosted Auth, a kod działa w imieniu tego uwierzytelnionego użytkownika, na kontrakcie Recruiter, który ten użytkownik posiada.
URL serwera
https://developer.unipile.com/mcp?branch=v2.0
UwierzytelnianieNagłówek
X-API-KEY z kluczem Account API z zakresem, przez streamable HTTP. Ten sam URL obsługuje LinkedIn Classic, Sales Navigator, Recruiter i osiem innych kanałów.KontaPodczas budowy testowe konto LinkedIn z kontraktem Recruiter w aplikacji Development; w produkcji konto, które każdy rekruter połączył przez Hosted Auth.
Recruiter25 tras pod
/v2/{account_id}/linkedin/recruiter, plus Recruiter InMail przez POST /v2/{account_id}/chats/send.KlienciCodex, Cursor, Claude Code, Gemini CLI, Windsurf lub dowolny klient MCP przez streamable HTTP.
Jak jeden prompt staje się kodem w ATS
1
Opisują Państwo funkcjęDodaj wyszukiwanie kandydatów Recruiter do strony sourcingu, z filtrami umiejętności, lokalizacji i lat doświadczenia.
2
Agent czyta endpointy Recruiter
Odczyt endpointuPOST /v2/{account_id}/linkedin/recruiter/search/peopleschemat wczytany
3
Pisze kod i testuje go w aplikacji DevelopmentDodałem searchCandidates() i formularz filtrów zasilany trasą parametrów wyszukiwania Recruiter, podpięte do strony sourcingu. Uruchomione w aplikacji Development: 25 kandydatów, profil otwarty w wariancie Recruiter.
Prompty zamiast kodu klejącego
Co agent kodujący zbuduje z LinkedIn Recruiter MCP
Wybierz funkcję rekrutacyjną. Każdy zapis pokazuje prompt dla agenta, endpointy API LinkedIn Recruiter, które czyta i wywołuje przez serwer MCP Unipile, oraz to, co trafia do ATS. Ścieżki są pełne, względem bazowego URL API
https://api.unipile.com, z kluczem z zakresem w nagłówku X-API-KEY .Dodaj wyszukiwanie kandydatów LinkedIn Recruiter do strony sourcingu: umiejętności, stanowisko, poziom, kod pocztowy z promieniem, lata doświadczenia.
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/search/parametersID rozwiązane
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/search/people40 kandydatów
Dodałem
recruiter-search.ts: formularz filtrów zamienia umiejętności, stanowiska i lokalizacje na ID przez trasę parametrów wyszukiwania, a potem wywołuje wyszukiwanie osób z skills, title, seniority, postal_code_radius i years_of_experience. Strony wyników zgodnie z tym, co zwraca API. Przetestowano w aplikacji Development: 40 kandydatów na pierwszej stronie.Wyszukiwanie kandydatów Recruiter z filtrami Recruiter
Trasa wyszukiwania osób przyjmuje zestaw filtrów Recruiter: umiejętności, stanowiska, poziom, firmy, szkoły, lokalizacje, języki oraz sygnały Recruiter, takie jak
recently_joined, is_past_applicant lub hide_previously_viewed. Wyniki to to, co połączony rekruter widzi na swoim kontrakcie.Endpointy używane przez agenta
POST/v2/{account_id}/linkedin/recruiter/search/parametersPOST/v2/{account_id}/linkedin/recruiter/search/peopleGET/v2/{account_id}/users/{user_id}
Częsty błąd: Wysyłanie lokalizacji lub umiejętności jako wolnego tekstu. Filtry wskazujące encję LinkedIn przyjmują ID: najpierw rozwiąż je przez
Przewodnik po API wyszukiwania Recruiter
POST /v2/{account_id}/linkedin/recruiter/search/parameters. To POST, w odróżnieniu od trasy parametrów GET w Sales Navigator.Pozwól rekruterom wkleić URL wyszukiwania LinkedIn Recruiter lub wybrać jedno z zapisanych wyszukiwań i zaimportuj kandydatów do ATS.
Odczyt endpointuPOST /v2/{account_id}/linkedin/recruiter/searchschemat wczytany
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/search/people25 kandydatów
Dodałem okno "Import z Recruiter". Wklejony URL trafia do trasy wyszukiwania z URL; zapisane wyszukiwanie przechodzi przez wyszukiwanie osób z
load_saved_search. Kandydaci są zapisywani według ID LinkedIn, więc drugi import ich nie duplikuje.Wykorzystaj wyszukiwania, które rekruterzy już zbudowali w Recruiter
Rekruterzy poświęcają czas na dopracowanie wyszukiwania. Trasa wyszukiwania z URL uruchamia URL wyszukiwania Recruiter bez zmian, a wyszukiwanie osób może wczytać zapisane wyszukiwanie lub zapisany filtr własny (
load_saved_search, load_custom_filter) albo zapisać nowe (save_search, save_custom_filter).Endpointy używane przez agenta
POST/v2/{account_id}/linkedin/recruiter/searchPOST/v2/{account_id}/linkedin/recruiter/search/peoplePOST/v2/{account_id}/linkedin/recruiter/search/parameters
Częsty błąd: Wysyłanie URL z Classic lub Sales Navigator do trasy Recruiter. Każdy produkt ma własną trasę wyszukiwania z URL; wybierz trasę w zależności od pochodzenia URL.
API LinkedIn dla oprogramowania rekrutacyjnego
Gdy rekruter otwiera kandydata, pokaż profil tak, jak pokazuje go LinkedIn Recruiter, z sekcją aktywności rekrutacyjnej.
Odczyt endpointuGET /v2/{account_id}/users/{user_id}schemat wczytany
Wykonanie żądaniaGET /v2/{account_id}/users/{user_id}?variant=linkedin_recruiter&with_sections=linkedin_recruiting_activity200 OK
Dodałem
getRecruiterProfile(id) z variant=linkedin_recruiter oraz sekcję linkedin_recruiting_activity , a także zakładkę "Aktywność rekrutacyjna" na stronie kandydata. Wywołanie następuje tylko wtedy, gdy rekruter otwiera profil.Profil kandydata tak, jak pokazuje go Recruiter
Trasa profilu ma trzy warianty LinkedIn:
linkedin_classic, linkedin_sales_navigator i linkedin_recruiter. W wariancie Recruiter agent może zażądać sekcji aktywności rekrutacyjnej, dostępnej tylko w Recruiter, obok sekcji takich jak doświadczenie, wykształcenie, umiejętności i języki.Endpointy używane przez agenta
GET/v2/{account_id}/users/{user_id}POST/v2/{account_id}/linkedin/recruiter/search/peopleGET/v2/{account_id}/linkedin/contracts
Częsty błąd: Pomijanie
Serwer MCP LinkedIn: profile Classic i wiadomości
variant=linkedin_recruiter i oczekiwanie danych z Recruiter. Sekcja linkedin_recruiting_activity jest dostępna tylko w Recruiter; należy o nią prosić w wariancie Recruiter.Odwzoruj każdą rekrutację z ATS jako projekt rekrutacyjny w LinkedIn Recruiter: twórz go, gdy rekruter otwiera ofertę, i aktualizuj przy zmianach oferty.
Wykonanie żądaniaGET /v2/{account_id}/linkedin/recruiter/projects12 projektów
Odczyt endpointuPOST /v2/{account_id}/linkedin/recruiter/projectsschemat wczytany
Dodałem
recruiter-projects.ts: pierwsza synchronizacja łączy istniejące projekty z rekrutacjami, "Utwórz w Recruiter" tworzy projekt ze strony rekrutacji, a zmiany przechodzą przez PATCH na projekcie. ID projektu jest zapisywane przy rekrutacji.Projekty rekrutacyjne zsynchronizowane z rekrutacjami
Lista, tworzenie, odczyt i edycja projektów rekrutacyjnych Recruiter z poziomu ATS. ID projektu wyznacza następnie zakres wszystkiego innego: pipeline'u, wyszukiwania w talent pool, aplikujących i ogłoszeń.
Endpointy używane przez agenta
GET/v2/{account_id}/linkedin/recruiter/projectsPOST/v2/{account_id}/linkedin/recruiter/projectsPATCH/v2/{account_id}/linkedin/recruiter/projects/{project_id}
Częsty błąd: Ponawianie tworzenia projektu po przekroczeniu limitu czasu. Najpierw wylistuj projekty, aby sprawdzić, czy został utworzony, a potem zdecyduj; ślepe ponowienie może zostawić dwa projekty.
Funkcje dla oprogramowania rekrutacyjnego
Pokaż pipeline każdego projektu Recruiter na stronie rekrutacji, dodaj wyszukiwanie w talent pool i pozwól rekruterom zapisywać kandydata w pipeline'ie.
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline34 kandydatów
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/search18 wyników
Dodałem widok pipeline'u (kandydaci zapisywani przy rekrutacji), pole wyszukiwania w talent pool projektu oraz przycisk "Zapisz w pipeline'ie" podpięty do trasy zapisu kandydata. Zapis następuje po kliknięciu rekrutera, jeden kandydat naraz.
Pipeline'y i talent poole wewnątrz rekrutacji
Trasa pipeline'u listuje kandydatów projektu, a trasa zapisu dodaje jednego. Wyszukiwanie w talent pool uruchamia wyszukiwanie osób w talent pool projektu, więc strona rekrutacji pokazuje tych samych kandydatów, z którymi rekruter pracuje w Recruiter.
Endpointy używane przez agenta
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
Częsty błąd: Wywoływanie tras listujących metodą GET. Listowanie kandydatów z pipeline'u i wyszukiwanie w talent pool to trasy POST, które przyjmują body żądania.
Funkcje wiadomości i przepływów pracy dla ATS
Importuj aplikujących z ogłoszenia LinkedIn każdego projektu do listy kandydatów w ATS, wraz z ich CV.
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants52 aplikujących
Wykonanie żądaniaGET /v2/{account_id}/linkedin/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_profile_id}/resumeCV
Dodałem import aplikujących per projekt (lista, potem szczegóły przez trasę pobrania aplikującego) i pobieranie CV, zapisywanego w karcie kandydata. CV są pobierane, gdy rekruter otwiera aplikującego, a nie dla całej listy.
Aplikujący i ich CV w ATS
Dla projektu z ogłoszeniem trasa aplikujących listuje, kto aplikował, trasa aplikującego zwraca jedną aplikację, a trasa CV zwraca CV tej osoby. ATS dostaje aplikujących z LinkedIn obok tych z własnej strony kariery.
Endpointy używane przez agenta
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
Częsty błąd: Zakładanie, że trasa CV przyjmuje to samo ID co trasa aplikującego. Jej parametr ścieżki to
API ogłoszeń o pracę LinkedIn
applicant_profile_id, a nie applicant_id; agent czyta oba schematy, zanim je podłączy.Pozwól rekruterom wysyłać Recruiter InMail ze strony kandydata, z tematem i ich podpisem, widoczny dla zespołu projektu.
Odczyt endpointuPOST /v2/{account_id}/chats/sendspecifics wczytane
Wykonanie żądaniaGET /v2/{account_id}/linkedin/inmail-creditskredyty
Dodałem
sendRecruiterInmail() na trasie rozpoczęcia czatu z specifics.linkedin.recruiter: subject, signature, visibility: PROJECT, intent: HIRE_FOR_OWN_COMPANY, send_as: INMAIL. Edytor pokazuje kredyty InMail, a nieudana wysyłka jest zgłaszana rekruterowi, nigdy ponawiana.Recruiter InMail ze strony kandydata
Wiadomości Recruiter przechodzą przez trasę rozpoczęcia czatu z
specifics.linkedin.recruiter: temat, podpis, widoczność (PUBLIC, PRIVATE lub PROJECT), intencja (HIRE_FOR_CLIENT lub HIRE_FOR_OWN_COMPANY), send_as (INMAILlub EMAIL z danymi profilu), channel_type z talent pool projektu oraz follow_up do planowania wiadomości follow-up na kontraktach Recruiter Pro.Endpointy używane przez agenta
POST/v2/{account_id}/chats/sendGET/v2/{account_id}/linkedin/inmail-creditsGET/v2/{account_id}/chats/{chat_id}/messages
Częsty błąd: Pozostawianie wartości domyślnych bez sprawdzenia.
Wysyłanie wiadomości w imieniu rekruterów
intent domyślnie ma wartość HIRE_FOR_CLIENT i visibility wartość PRIVATE: wewnętrzny zespół zwykle chce HIRE_FOR_OWN_COMPANY, a współdzielony projekt może potrzebować PROJECT.Publikuj oferty z ATS na LinkedIn ze strony rekrutacji: utwórz szkic, sprawdź kredyty job slotów, opublikuj i zamknij ogłoszenie, gdy stanowisko zostanie obsadzone.
Wykonanie żądaniaGET /v2/{account_id}/linkedin/recruiter/job-slots-creditskredyty
Wykonanie żądaniaPOST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/publishopublikowano
Dodałem przepływ ogłoszenia: szkic w projekcie rekrutacji (lub w nowym projekcie), edycje przez
PATCH, budżet ogłoszenia, sprawdzenie kredytów job slotów przed aktywacją przycisku Publikuj oraz zamknięcie, gdy rekrutacja jest zakończona. Każdy krok to kliknięcie rekrutera.Ogłoszenia z poziomu rekrutacji, z wcześniejszym sprawdzeniem kredytów
Utwórz szkic w istniejącym lub nowym projekcie, edytuj, opublikuj, zamknij. Wylistuj ogłoszenia, odczytaj jedno, sprawdź budżet ogłoszenia i kredyty job slotów kontraktu przed publikacją.
Endpointy używane przez agenta
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
Częsty błąd: Publikowanie bez sprawdzenia kredytów. Najpierw wywołaj
API ogłoszeń o pracę LinkedIn
GET /v2/{account_id}/linkedin/recruiter/job-slots-credits i pokaż wynik rekruterowi; publikacja pozostaje jego decyzją.Prawdziwe trasy, pełne ścieżki
Wszystkie trasy API LinkedIn Recruiter udostępniane przez serwer MCP
Serwer udostępnia samo API Unipile, więc to, co agent kodujący może zbudować na Recruiter, odpowiada temu, co robi API. Poniżej wszystkie 25 tras Recruiter, pogrupowanych według funkcji, oraz wspólne trasy LinkedIn, z których korzysta też integracja z Recruiter. Ścieżki są pełne, względem bazowego URL API
https://api.unipile.com, z kluczem z zakresem w nagłówku X-API-KEY .25tras Recruiter pod /linkedin/recruiter, na kontrakcie połączonym przez użytkownika
3sposoby wyszukiwania: filtry, URL Recruiter, talent pool projektu
1trasa wysyłki dla Recruiter InMail, z specifics.linkedin.recruiter
0endpointów do zgadywania: agent czyta dokładny schemat, zanim napisze kod
3 trasy
Wyszukiwanie kandydatów
Wyszukiwanie osób w Recruiter z pełnym zestawem filtrów, wyszukiwanie z URL Recruiter oraz trasa parametrów, która zamienia wartości filtrów na 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 trasy
Projekty rekrutacyjne
Lista, tworzenie, odczyt i edycja projektów rekrutacyjnych kontraktu Recruiter. ID projektu wyznacza zakres pipeline'u, talent pool, aplikujących i ofert.
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 trasy
Pipeline i talent pool
Lista kandydatów w pipeline'ie projektu, zapis kandydata, wyszukiwanie w talent pool projektu.
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 trasy
Aplikujący i CV
Lista aplikujących na ogłoszenie projektu, odczyt jednej aplikacji, pobranie CV aplikującego.
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 tras
Ogłoszenia o pracę
Tworzenie szkicu w nowym lub istniejącym projekcie, edycja, publikacja i zamknięcie, lista ogłoszeń i odczyt jednego.
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 trasy
Budżet i job sloty
Odczyt budżetu ogłoszenia i kredytów job slotów kontraktu, zanim UI zaproponuje publikację.
GET/v2/{account_id}/linkedin/recruiter/projects/{project_id}/jobs/{job_id}/budget
GET/v2/{account_id}/linkedin/recruiter/job-slots-credits
2 trasy
Weryfikacja członka firmy
Weryfikacja tożsamości członka firmy: żądanie e-maila weryfikacyjnego, a potem przesłanie jednorazowego kodu otrzymanego przez użytkownika.
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 wspólnych
Wspólne trasy LinkedIn
Recruiter InMail, wariant profilu Recruiter, kredyty InMail, kontrakty i połączenie konta przez 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/
Jedno kompletne żądanie, dokładnie tak, jak wykonuje je agent
Serwer śledzi każde wydanie API Unipile, więc nowa trasa Recruiter trafia do agenta w dniu premiery. W produkcji produkt wywołuje te same trasy na koncie połączonym przez każdego rekrutera przez Hosted Auth, jako akcje użytkownika w UI. Te same trasy co w API LinkedIn Unipile, w kodzie napisanym przez agenta lub przez oficjalne SDK.·dokumentacji API
Filtry wyszukiwania LinkedIn Recruiter MCP: cały zestaw Recruiter
Od wyszukiwania osób w Recruiter zaczyna się większość funkcji ATS i sourcingu. Trasa
POST /v2/{account_id}/linkedin/recruiter/search/people dokumentuje 56 pól body; agent odczytuje je ze schematu i buduje formularz filtrów, jakiego oczekują rekruterzy. Najważniejsze z nich, pogrupowane tak, jak myśli rekruter.Umiejętności i doświadczenie12 pól
Filtry, po które rekruterzy sięgają najpierw: czym kandydat się zajmuje, na jakim poziomie i jak długo.
Pola body wyszukiwania osób
Umiejętności, stanowiska i funkcjaskills, title, job_title, job_function
Poziom i stażseniority, years_of_experience, years_in_current_company, years_in_current_position
Słowa kluczowe i nazwiskakeywords, first_name, last_name, occupation
Firmy i wykształcenie9 pól
Gdzie kandydat pracuje lub pracował, w jakiego typu firmie i gdzie studiował.
Pola body wyszukiwania osób
Firmycompany, current_company, past_company
Branża i wielkość firmyindustry, company_size
Wykształcenieschool, degree, field_of_study, graduation_year
Lokalizacja, tryb pracy i języki8 pól
Gdzie jest kandydat, jak chce pracować i jakimi językami mówi.
Pola body wyszukiwania osób
Lokalizacja i promieńlocation, postal_code, postal_code_radius
Miejsce pracy i forma zatrudnieniaworkplace_type, employment_type
Językispoken_language, proficiency, profile_language
Sygnały Recruiter i praca zespołu16 pól
Filtry, które mają sens tylko w Recruiter: sygnały aktywności, projekty zespołu, tagi i notatki oraz zapisane wyszukiwania.
Pola body wyszukiwania osób
Sygnałyrecently_joined, hide_previously_viewed, new_results_only, is_past_applicant, recruiting_activity, spotlights, is_military_veteran, network_distance
Projekty, tagi i notatkiproject, project_id, tags, notes
Zapisane wyszukiwania i filtry własneload_saved_search, save_search, load_custom_filter, save_custom_filter
Filtry wskazujące encję LinkedIn (lokalizację, umiejętność, firmę, szkołę) przyjmują ID. Agent rozwiązuje je przez
POST /v2/{account_id}/linkedin/recruiter/search/parameters przed wywołaniem wyszukiwania, a potem przekazuje ID. Schemat dokumentuje też exclude, group, id, include, max, min, name, preferences, priority, timespan i type; agent odczytuje ich dokładny kształt, zanim napisze formularz. Każdy filtr działa na kontrakcie Recruiter połączonego konta.Szybki start
Dodaj LinkedIn Recruiter MCP do agenta kodującego w jednej linii
Nie trzeba instalować osobnego serwera Recruiter: hostowany serwer MCP Unipile obsługuje LinkedIn Recruiter pod tym samym URL co LinkedIn Classic, Sales Navigator i wszystkie inne kanały. Wystarczy wskazać go agentowi kodującemu wraz z kluczem API z zakresem, a agent odczyta endpointy Recruiter i wykona żądania w aplikacji Development. Poniższe fragmenty pochodzą z oficjalnej dokumentacji.
Cursor~/.cursor/mcp.json
Claude Codeclaude mcp add --transport http …
Codex CLI i rozszerzenie IDE~/.codex/config.toml
Gemini CLI~/.gemini/settings.json
Windsurf~/.codeium/windsurf/mcp_config.json
# Rejestracja hostowanego serwera MCP Unipile w 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"
# Weryfikacja połączenia lub /mcp w trakcie sesji
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 i rozszerzenie Codex IDE współdzielą ten plik
[mcp_servers.unipile]
url = "https://developer.unipile.com/mcp?branch=v2.0"
http_headers = { X-API-KEY = "your-scoped-api-key" }
# Weryfikacja: codex mcp list
{
"mcpServers": {
"unipile": {
"httpUrl": "https://developer.unipile.com/mcp?branch=v2.0",
"headers": {
"X-API-KEY": "your-scoped-api-key"
}
}
}
}
# Weryfikacja: /mcp w Gemini CLI
Serwer połączony. Spróbuj: "Dodaj wyszukiwanie kandydatów LinkedIn Recruiter do strony sourcingu, a potem otwórz wybrany profil w wariancie Recruiter."
1
Zacznij od aplikacji DevelopmentW panelu Unipile, pracuj w aplikacji Development: połącz przez Hosted Auth testowe konto LinkedIn z kontraktem Recruiter, utwórz z nim Scope i przypisany do tego Scope klucz Account API. Produkcja pozostaje nietknięta, a klient MCP nigdy nie dostaje klucza globalnego ani Service.
2
Dodaj serwer do agenta kodującegoWklej konfigurację dla swojego klienta, z kluczem z zakresem w nagłówku X-API-KEY. Jeśli klient nie wczyta jej od razu, uruchom go ponownie.
3
Opisz funkcję, przejrzyj kodOpisz potrzebną funkcję Recruiter. Agent czyta endpointy, pisze kod w projekcie i wykonuje żądania w aplikacji Development. Gdy przepływ działa, przełącz klucz na Production.
W imieniu rekrutera
Na czyim kontrakcie Recruiter działa integracja?
Podczas budowy na koncie testowym aplikacji Development. W produkcji na koncie LinkedIn, które każdy rekruter połączył przez Hosted Auth, z kontraktem Recruiter tego konta, w przepływach, które ten rekruter uruchamia i kontroluje.
1 · Agent kodujący
Codex, Cursor, Claude Code
Czyta schematy Recruiter, pisze kod
2 · Serwer MCP Unipile
Hostowany, klucz API z zakresem
Wykonuje żądania testowe w aplikacji Development
3 · API Unipile
Trasy Recruiter
Ogranicza akcję do jednego ID konta
4 · LinkedIn Recruiter
Wybrany kontrakt
Zasady LinkedIn, kredyty InMail i job slotów
5 · Konto rekrutera
Połączone przez Hosted Auth
Jego projekty, jego pipeline, jego kredyty
Sarah MitchellLinkedIn · kontrakt Recruiter · połączone przez użytkownika przez Hosted Auth
ID konta
acc_7f3…c91, jedyny identyfikator, który zapisuje kodKontraktLista przez
GET …/linkedin/contracts, wybór przez POST …/contracts/{contract_id}/selectSesjaUtrzymywana przez Unipile, nigdy nie udostępniana aplikacji
StatusPołączone · zmiany statusu przychodzą webhookiem
Połącz ponownieRozłącz
Uczciwie o limitach
Jakie limity LinkedIn Recruiter nadal obowiązują
Serwer nie znosi zasad LinkedIn i nie dodaje kredytów do kontraktu. API przekazuje ATS rzeczywiste sygnały konta, aby wdrażana funkcja działała w ich granicach, tak jak działałby rekruter.
Co egzekwuje LinkedIn i kontrakt
Kontrakt Recruiter na połączonym koncieKażda trasa pod
/linkedin/recruiter go wymaga. Bez niego konto nadal działa na klasycznych trasach LinkedIn, ale funkcje Recruiter pozostają ukryte.Kredyty InMailRecruiter InMail zużywa kredyty kontraktu. Odczytaj je przez
GET /v2/{account_id}/linkedin/inmail-credits i pokaż, zanim rekruter wyśle wiadomość.Kredyty job slotów i budżet ogłoszeniaPublikacja oferty korzysta z zasobów kontraktu. Odczytaj
GET /v2/{account_id}/linkedin/recruiter/job-slots-credits i budżet ogłoszenia, zanim zaproponujesz publikację.Paginacja wyszukiwaniaWyszukiwania Recruiter zwracają strony. Kod paginuje zgodnie z tym, co zwraca API, w granicach tego, co kontrakt pozwala rekruterowi zobaczyć.
Checkpointy i weryfikacja tożsamościLinkedIn może poprosić właściciela konta o kod podczas łączenia konta, a weryfikacja tożsamości członka firmy wykorzystuje e-mail i jednorazowy kod. Kod wpisuje użytkownik; kod aplikacji nigdy nie widzi hasła.
Co wbudować w ATS
Zapisy to akcje rekruteraWysłanie InMail, zapis kandydata, utworzenie projektu, publikacja lub zamknięcie oferty: każdą z tych akcji wyzwala rekruter w UI, nigdy pętla w tle.
Sprawdź, zanim ponowisz zapisPo niejednoznacznym błędzie wylistuj projekty, pipeline lub oferty, aby zobaczyć, co się stało. Ślepe ponowienie może utworzyć drugi projekt lub wysłać drugi InMail.
Jeden Scope i jeden klucz z zakresem na tenantaPrzestrzeń robocza widzi tylko konta przypisane do jej Scope. Klucz globalny zostaje w backendzie do administracji, a rekruter może się w każdej chwili rozłączyć.
Dostosuj UI do kontraktuUkryj to, czego konto nie może zrobić: bez kontraktu Recruiter nie ma zakładki Recruiter; bez kontraktu Recruiter Pro nie ma zaplanowanego follow-upu.
Webhooki dla nowych wiadomościJeśli ATS musi reagować na odpowiedzi kandydatów, zasubskrybuj webhooki i pozwól, by zdarzenie dostarczyło wiadomość, zamiast odpytywać inbox.
Cztery sposoby na połączenie ATS z LinkedIn
Porównanie opcji MCP dla LinkedIn Recruiter
Każda opcja MCP dla LinkedIn Recruiter jest zewnętrzna, więc prawdziwe pytanie dla produktu rekrutacyjnego brzmi: jak każda z nich dociera do Recruiter, na czyim kontrakcie i co można z nią wdrożyć. Cztery rodziny rozwiązań, obok siebie.
serwerowi MCP Unipile
Serwery open source społeczności
Marketplace'y danych publicznych
Mosty MCP no-code
Jak dociera do Recruiter
serwerowi MCP UnipileKonto LinkedIn, które łączy każdy rekruter przez Hosted Auth, a następnie trasy API Recruiter na jego kontrakcie
Serwery open source społecznościWłasny login LinkedIn na Państwa komputerze, obsługiwany przez sesję przeglądarki
Marketplace'y danych publicznychStrony publiczne, bez konta, bez dostępu do Recruiter
Mosty MCP no-codeIch połączenie z aplikacją LinkedIn i zestaw predefiniowanych akcji
Obszary Recruiter
serwerowi MCP UnipileWyszukiwanie, projekty, pipeline'y, talent pool, aplikujący, ogłoszenia o pracę, Recruiter InMail
Serwery open source społecznościRzadko coś poza klasycznym profilem
Marketplace'y danych publicznychTylko publiczne profile, bez projektów i pipeline'ów
Mosty MCP no-codeNiewiele akcji Recruiter lub żadne
Odczyt czy odczyt i działanie
serwerowi MCP UnipileOdczyt i działanie: zapis kandydatów, tworzenie projektów, publikacja ofert, wysyłka InMail jako funkcje ATS
Serwery open source społecznościGłównie odczyt, kilka zapisów zależnie od projektu
Marketplace'y danych publicznychTylko odczyt
Mosty MCP no-codePredefiniowane zapisy, niewiele odczytu
Hosting i klienci
serwerowi MCP UnipileHostowany, jeden URL, dowolny agent kodujący przez HTTP: Codex, Cursor, Claude Code, Gemini CLI, Windsurf
Serwery open source społecznościSamodzielny hosting, lokalnie lub w Dockerze, zwykle jeden klient naraz
Marketplace'y danych publicznychHostowany, token per klient
Mosty MCP no-codeHostowany, jeden wygenerowany URL na konfigurację
Inne kanały na tym samym serwerze
serwerowi MCP UnipileOsiem: WhatsApp, Instagram, Telegram, Gmail, Outlook, IMAP, kalendarze Google i Outlook
Serwery open source społecznościBrak
Marketplace'y danych publicznychInne publiczne źródła danych
Mosty MCP no-codeTysiące aplikacji, każda z płytkim zestawem akcji
Model cenowy
serwerowi MCP UnipileZa połączone konto, niezależnie od liczby żądań, 7 dni za darmo
Serwery open source społecznościBezpłatny, hosting i utrzymanie po Państwa stronie
Marketplace'y danych publicznychZa kredyt lub za wynik
Mosty MCP no-codeZa zadanie lub za akcję
Na czyich warunkach działa produkt
serwerowi MCP UnipileWłasne konto i kontrakt Recruiter każdego rekrutera, w przepływach, które rekruter inicjuje i kontroluje z poziomu produktu
Serwery open source społecznościPaństwa konto osobiste, na własne ryzyko
Marketplace'y danych publicznychWarunki zbierania danych marketplace'u
Mosty MCP no-codeWarunki mostu i uprawnienia jego aplikacji LinkedIn
Kategorie są celowo opisane ogólnie. Serwer Unipile wyróżnia model kont: ATS czyta i działa jako rekruter, który połączył konto, na jego własnym kontrakcie Recruiter, za jednym URL serwera współdzielonym z ośmioma innymi kanałami.
6000+
Firmy, które wprowadzają innowacje z Unipile
Zaufali nam liderzy branży
1 API
Usprawnij pracę we wszystkich głównych kanałach komunikacji
2 dni
Szybkie uruchomienie integracji przy minimalnej konfiguracji
30%
Mniej pracy i zasobów na utrzymanie
Wbudowane bezpieczeństwo i zgodność
Ochrona klasy enterprise dla danych i procesów Dowiedz się więcej o bezpieczeństwie
SOC 2 Type II
Certyfikat
Niezależnie audytowane mechanizmy bezpieczeństwa, które chronią dane i zapewniają integralność operacyjną.
GDPR
Zgodność
Pełna zgodność z europejskimi przepisami o ochronie danych, dla prywatności użytkowników.
99.9%
Dostępność platformy w ciągu ostatnich 24 miesięcy
24/7
Globalne wsparcie i wydajne API
LinkedIn Recruiter MCP: FAQ
Pytania, które naprawdę się pojawiają: oficjalny czy nie, URL serwera, wyszukiwanie kandydatów, projekty i pipeline'y, Recruiter InMail, kontrakty i cena.
Nie od LinkedIn: nie publikuje on serwera Model Context Protocol dla Recruiter. Serwer MCP Unipile to hostowany serwer zewnętrzny, generowany z API Unipile, który udostępnia trasy API LinkedIn Recruiter: wyszukiwanie kandydatów, projekty rekrutacyjne, pipeline'y, talent pool, aplikujących, ogłoszenia o pracę i Recruiter InMail. Agent kodujący czyta te endpointy i wbudowuje integrację w Państwa produkt, w którym każdy rekruter łączy własne konto, a kod działa w imieniu tego uwierzytelnionego użytkownika. Unipile jest niezależnym pośrednikiem technicznym i nie jest powiązany z LinkedIn, zatwierdzony ani sponsorowany przez LinkedIn.
Ten sam URL co dla całego API Unipile:
https://developer.unipile.com/mcp?branch=v2.0, przez streamable HTTP, z kluczem Account API z zakresem w nagłówku X-API-KEY . Nie ma osobnego serwera Recruiter. Wystarczy wkleić go do Codex, Cursor, Claude Code, Gemini CLI lub Windsurf, a agent sam znajdzie endpointy Recruiter pod /v2/{account_id}/linkedin/recruiter .Tak, na koncie z kontraktem Recruiter. Agent czyta
POST /v2/{account_id}/linkedin/recruiter/search/people i buduje wyszukiwanie z filtrami Recruiter, takimi jak umiejętności, stanowisko, poziom, firma, szkoła, lokalizacja z promieniem od kodu pocztowego, język lub sygnały, np. recently_joined i hide_previously_viewed. Zamienia wartości filtrów na ID przez POST /v2/{account_id}/linkedin/recruiter/search/parameters, może uruchomić wyszukiwanie z URL Recruiter przez POST /v2/{account_id}/linkedin/recruiter/search i testuje wynik w aplikacji Development. Wyszukiwania są wykonywane jako akcje rekrutera, który połączył konto.Tak. ATS może listować, tworzyć, odczytywać i edytować projekty rekrutacyjne (
GET i POST /v2/{account_id}/linkedin/recruiter/projects, PATCH /v2/{account_id}/linkedin/recruiter/projects/{project_id}), listować kandydatów z pipeline'u projektu przez POST /v2/{account_id}/linkedin/recruiter/projects/{project_id}/pipeline, zapisywać w nim kandydata, przeszukiwać talent pool projektu i importować aplikujących wraz z CV. Zapis kandydata czy utworzenie projektu pozostaje akcją rekrutera w UI.Tak, przez
POST /v2/{account_id}/chats/send z specifics.linkedin.recruiter: temat, podpis, widoczność (PUBLIC, PRIVATE lub PROJECT), intencję (HIRE_FOR_CLIENT lub HIRE_FOR_OWN_COMPANY) oraz send_as ustawione na INMAIL lub na EMAIL z danymi profilu. Zaplanowany follow_up jest dostępny tylko na kontraktach Recruiter Pro. InMail zużywa kredyty kontraktu, które można odczytać przez GET /v2/{account_id}/linkedin/inmail-credits, a każdą wiadomość wysyła rekruter z poziomu UI.Trasy Recruiter wymagają kontraktu Recruiter na połączonym koncie; bez niego konto działa tylko na klasycznych trasach LinkedIn (wiadomości, profile, klasyczne wyszukiwanie). Możliwości danego konta zależą od jego kontraktu, więc kod listuje kontrakty przez
GET /v2/{account_id}/linkedin/contracts, wybiera jeden przez POST /v2/{account_id}/linkedin/contracts/{contract_id}/select i pokazuje tylko funkcje, które odpowiadają. Warto testować na takim typie kontraktu, z jakiego korzystają Państwa klienci.To te same trasy, używane w dwóch momentach. LinkedIn Recruiter MCP pozwala agentowi kodującemu czytać endpointy Recruiter i testować je podczas pisania integracji. API LinkedIn Recruiter to to, co produkt wywołuje w produkcji, przez REST API lub oficjalne SDK, z własnymi kluczami z zakresem, na kontach połączonych przez rekruterów. Budują Państwo z MCP, a działają na API.
Serwer MCP jest w cenie każdego planu Unipile, bez opłat za wiadomość czy żądanie. Rozliczenie odbywa się za połączone konto, niezależnie od kanału: od 49 EUR miesięcznie za maksymalnie 10 kont, potem 5 EUR za każde kolejne konto, aż do 3 EUR przy większej liczbie. 7-dniowy okres próbny nie wymaga karty kredytowej. Sam kontrakt Recruiter pozostaje własną subskrypcją LinkedIn rekrutera. Pełny cennik na stronie cennika.