MCP server exposing LinkdAPI for LinkedIn candidate search. Built for a candidate-sourcing skill: search people by criteria, enrich a screened shortlist with skills/certifications, pull trimmed full profiles, find similar candidates.
uv sync
export LINKDAPI_API_KEY=your-key # https://linkdapi.com — 100 free credits on signupclaude mcp add linkdapi -e LINKDAPI_API_KEY=your-key -- uv --directory /path/to/linkdMCP run linkd-mcp| Tool | Purpose | Credit cost |
|---|---|---|
search_people |
Criteria search (title, skills, companies, geos, industries; names auto-resolve to IDs) | 1 + 1 per uncached name lookup |
enrich_candidates |
Skills + certifications for ≤25 URNs | 2 per URN |
get_full_profile |
Trimmed full profile by URN or username (incl. open_to_work, follower_count, is_influencer, current_role_months) |
1 |
get_full_profiles |
Batched get_full_profile for ≤25 URNs/usernames — fewer agent turns when screening a wide pool |
1 per profile |
find_similar_candidates |
Similar profiles for a seed URN | 1 |
find_similar_batch |
Batched find_similar_candidates for ≤25 seed URNs — fewer agent turns when expanding from many seeds |
1 per seed |
get_skills / get_certifications |
Single facet by URN | 1 |
get_account_status |
Credit balance, current rate-limit tier, requests/min | free |
The client also self-paces requests to the account's current tier's requests-per-minute limit (falling back to the most conservative published tier until a real tier lookup succeeds), so a busy session shouldn't trip a 429 in the first place.
uv run pytest # unit (mocked, free)
LINKDAPI_LIVE_TESTS=1 uv run pytest tests/test_live.py # live smoke (~3 credits)