Skip to main content

Token-optimized, public-first LinkedIn jobs MCP server.

Project description

██╗     ██╗███╗   ██╗██╗  ██╗███████╗██████╗ ██╗███╗   ██╗
██║     ██║████╗  ██║██║ ██╔╝██╔════╝██╔══██╗██║████╗  ██║
██║     ██║██╔██╗ ██║█████╔╝ █████╗  ██║  ██║██║██╔██╗ ██║
███████╗██║██║ ╚████║██║  ██╗███████╗██████╔╝██║██║ ╚████║
             MCP ZERO - public-first LinkedIn intelligence

LinkedIn MCP Zero

A public-first MCP server for LinkedIn jobs, resumes, matching, alerts, exports, and opt-in read-only browser intelligence.

No Docker required · Claude Desktop ready · Claude Code ready · Low-RAM friendly · PyPI published

PyPI Python License MCP

Install In One Command

Client Command
Claude Desktop uvx --refresh-package mcp-server-linkedin-zero mcp-server-linkedin-zero --install-client claude-desktop
Claude Code uvx --refresh-package mcp-server-linkedin-zero mcp-server-linkedin-zero --install-client claude-code
Cursor uvx mcp-server-linkedin-zero --install-client cursor
VS Code uvx mcp-server-linkedin-zero --install-client vscode
Any stdio client uvx mcp-server-linkedin-zero
uvx mcp-server-linkedin-zero --doctor

Verify after install:

uvx --refresh-package mcp-server-linkedin-zero mcp-server-linkedin-zero --verify-client claude-desktop

Browser mode:

uvx --refresh-package mcp-server-linkedin-zero mcp-server-linkedin-zero --install-client claude-desktop --with-extra browser

Tool Inventory

Default Tools: 23 Working

These work without LinkedIn login or browser setup.

# Tool Feature Risk
1 search_jobs Search public LinkedIn jobs Public no-login
2 search_jobs_multi Multi-board search; LinkedIn fallback by default Public no-login
3 get_job_details Full public job details Public no-login
4 get_company_jobs Public jobs for a company Public no-login
5 get_company_profile Company signals inferred from public jobs Public no-login
6 search_companies Company discovery from public job data Public no-login
7 get_job_salary Salary extraction from job detail pages Public no-login
8 get_job_trends Role/location hiring trends Public no-login
9 get_industry_insights Market signals for an industry Public no-login
10 search_jobs_advanced Job search with filters Public no-login
11 analyze_resume Local PDF/DOCX/text resume parsing Local
12 get_resume_insights Local skill gaps and suggestions Local
13 match_jobs_to_resume Rank public jobs against a resume Local/public
14 compare_jobs Compare selected jobs Local/public
15 export_jobs Export jobs to CSV/JSON/XLSX Local
16 save_job_alert Save a recurring search Local
17 get_saved_alerts List saved searches Local
18 check_saved_alerts Run alerts and find new matches Local/public
19 get_engine_status Runtime, engine, token, cache status Local
20 get_help Tool documentation Local
21 get_usage_stats Local response-size/token estimates Local
22 get_tool_usage_summary Aggregate local usage by tool Local
23 reset_usage_stats Clear local usage metrics Local

Browser Tools: +11

Enable with --with-extra browser or --enable-browser. These are read-only, but they use your logged-in browser session.

# Tool Feature
24 get_my_profile Read your profile
25 get_person_profile Read a public/person profile page
26 search_people People search through browser
27 get_my_connections Read your connection list
28 get_inbox Recent conversations list
29 get_conversation Read a conversation thread
30 get_feed Read home feed posts
31 get_notifications Read notifications
32 get_sidebar_profiles Suggested/sidebar profiles
33 get_company_employees Company people page
34 check_session Check CDP/login readiness

Gated Private-Risk Tool: +1

# Tool Feature
35 get_profile_voyager Voyager/private API placeholder, disabled by default

Default mode exposes 23 usable tools: 22 core local/public tools plus search_jobs_multi, which falls back to LinkedIn-only results unless the multi extra is installed. Browser tools appear only with --enable-browser or --with-extra browser in an installed client config. Voyager/private API mode is hidden unless explicitly enabled.

Tool counts:

Mode Exposed Tools Notes
Default 23 Safe local/public tools; no LinkedIn login required
Browser enabled 34 Adds 11 read-only browser tools; needs Chrome/CDP login
Browser + Voyager 35 Adds gated private-API placeholder

Safety Model

Mode Label Account Risk
Local resume/alerts/exports local_zero_account_risk None
Public no-login job data public_no_login_read_only No LinkedIn login required
Browser tools browser_readonly_account_risk Opt-in account risk
Voyager/private API disabled_private_api_risk Disabled by default

No tool posts, likes, connects, follows, applies, or sends messages.

Browser Mode

Install browser dependencies into the isolated uvx runtime:

uvx mcp-server-linkedin-zero --install-client claude-desktop --with-extra browser

Start Chrome with remote debugging and log in manually:

google-chrome --remote-debugging-port=9222

Then call check_session from your MCP client.

Global Playwright installs do not count for uvx; use --with-extra browser.

Token Usage Tracking

Claude Desktop has no built-in per-MCP token counter. This server provides a privacy-safe tracker instead:

  • Estimated tokens: ceil(response_chars / 4), always on.
  • Exact-style counts: optional Anthropic /v1/messages/count_tokens.
  • Full tool responses are not stored in the metrics database.
  • Exact-style counting sends the counted response text to Anthropic only when ANTHROPIC_API_KEY and LINKEDIN_MCP_EXACT_TOKEN_COUNT=true are both set.

Enable exact-style counting:

ANTHROPIC_API_KEY=sk-ant-... LINKEDIN_MCP_EXACT_TOKEN_COUNT=true uvx mcp-server-linkedin-zero

Use a different token-count model if needed:

LINKEDIN_MCP_TOKEN_COUNT_MODEL=claude-sonnet-4-5

Usage tools:

get_usage_stats
get_tool_usage_summary
reset_usage_stats

Avoid terminal transcript logging as a token strategy; it can expose private profile, inbox, resume, or job data.

Client Config

Print without editing files:

uvx mcp-server-linkedin-zero --print-config --client claude-desktop
uvx mcp-server-linkedin-zero --print-config --client vscode

Claude Desktop and Cursor use:

{
  "mcpServers": {
    "linkedin-zero": {
      "command": "/absolute/path/to/uvx",
      "args": ["mcp-server-linkedin-zero"]
    }
  }
}

VS Code uses:

{
  "servers": {
    "linkedin-zero": {
      "command": "/absolute/path/to/uvx",
      "args": ["mcp-server-linkedin-zero"]
    }
  }
}

Doctor

uvx mcp-server-linkedin-zero --doctor
uvx mcp-server-linkedin-zero --doctor --json

Checks OS, Python, RAM, disk, Chrome, CDP URL, display state, optional extras, and recommended mode.

Development

uv sync --extra dev
uv run --extra dev ruff check .
uv run --extra dev pytest
uv build

Publish only the new version files:

UV_PUBLISH_TOKEN=... uv publish dist/mcp_server_linkedin_zero-0.2.0*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_linkedin_zero-0.2.0.tar.gz (204.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_linkedin_zero-0.2.0-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_linkedin_zero-0.2.0.tar.gz.

File metadata

  • Download URL: mcp_server_linkedin_zero-0.2.0.tar.gz
  • Upload date:
  • Size: 204.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_server_linkedin_zero-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1a93af8ec71c23b9df22f077a7da05e44a4df02125a4c975da1270ad3805dec8
MD5 c953ca251ef18e7a6acd8bab457b408b
BLAKE2b-256 2c2317cf68598c96bb9ac7306917be7702e910cb885cb5812861f4c16c26ce87

See more details on using hashes here.

File details

Details for the file mcp_server_linkedin_zero-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_server_linkedin_zero-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 43.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_server_linkedin_zero-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5bb65028568222fd422e80b19d22509382a13a363955c2cf8501895adced0327
MD5 3303a29acc1f8432a03798c2d6292853
BLAKE2b-256 29ecf42d8b01ffda29676e5f905cdafeff63778ef777e46eebbed2d5d608e670

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page