Repository navigation
Releases
v0.9.3
v0.9.2
- Rename the npm package and CLI to
linkedin-browser-mcp. - Update install commands, desktop bundle naming and release automation.
- Align repository links with
linkedin-browser-mcp.
v0.9.0 — sent invitations and connections
Adds two read tools for tracking connection requests, and fixes the inbox reader stopping at 10 threads.
New tools
linkedin_get_sent_invitations: the connection invitations you sent that are still pending (name, headline, profile URL, "Sent N days ago").linkedin_get_connections: your connections, newest first, each withconnectedDate(YYYY-MM-DD).
Together they show who accepted a request and when. That is the signal an outreach sequence needs before it follows up, so a campaign can now run entirely on linkedin-mcp.
Fix
linkedin_get_conversationsreturned at most the ~10 threads LinkedIn renders first, whateverlimitasked for. It now scrolls the inbox list to load more.
Both new tools are read-only, so they work without LINKEDIN_ALLOW_MUTATIONS.
Install
Claude Code / any terminal client:
claude mcp add linkedin -- npx -y @mehmoodqureshi/linkedin-mcp
Windows: claude mcp add linkedin -- cmd /c npx -y @mehmoodqureshi/linkedin-mcp
Claude Desktop: download linkedin-mcp.mcpb below and double-click it.
v0.8.0 — Easy Apply job applications
Adds linkedin_apply — apply to a LinkedIn job through Easy Apply.
The tool walks the multi-step application modal, reports every screening question it asks, and submits only once all required questions have answers.
Answers are never guessed
Work authorization, salary, notice period and years of experience are the applicant's to give, and a wrong answer is a misrepresentation on a real application. The intended flow is:
- Run with
dryRun: true— walks the application, returns every question, submits nothing, and doesn't count against the daily cap. - Answer the questions yourself.
- Re-run with those answers supplied, keyed by question label (matching ignores case, spacing, punctuation and the required-marker asterisk).
Postings that hand off to an external system (Workday, Greenhouse, Lever) are reported as external with their link rather than half-completed.
Safety
- Behind the mutation gate — off unless you set
LINKEDIN_ALLOW_MUTATIONS. - Daily cap of 15, deliberately the lowest of any action: a burst of applications is the most visible automation signal on an account, and each one reaches a real employer.
Install
Claude Code / any terminal client:
claude mcp add linkedin -- npx -y @mehmoodqureshi/linkedin-mcp
Windows: claude mcp add linkedin -- cmd /c npx -y @mehmoodqureshi/linkedin-mcp
Claude Desktop: download linkedin-mcp.mcpb below and double-click it.
Enable write actions (off by default): add -e LINKEDIN_ALLOW_MUTATIONS=all.
Requirements
- Google Chrome installed.
- Node.js 20+ (npx path only).
Notes
- 22 tools in the bundled manifest, up from 21.
- The Easy Apply modal walk is new and has not yet been exercised against a live posting — use
dryRun: truefirst. - Automating LinkedIn is against LinkedIn's User Agreement — use your own account, prefer reads, keep writes low-volume.
npm: npm i @mehmoodqureshi/linkedin-mcp@0.8.0
v0.6.0 — standalone MCP, drives your Chrome (no app)
Breaking change. The MCP server is now standalone and drives your installed Google Chrome directly — no separate desktop app to install, sign, or notarize, and no browser download.
On the first LinkedIn action a Chrome window opens for a one-time login; the session persists under ~/.linkedin-mcp.
Install
Claude Code / any terminal client:
claude mcp add linkedin -- npx -y @mehmoodqureshi/linkedin-mcp
Windows: claude mcp add linkedin -- cmd /c npx -y @mehmoodqureshi/linkedin-mcp
Claude Desktop: download linkedin-mcp.mcpb below and double-click it.
Enable write actions (off by default): add -e LINKEDIN_ALLOW_MUTATIONS=all.
Requirements
- Google Chrome installed.
- Node.js 20+ (npx path only).
Notes
- Removed the Electron app layer; the repo is a pure MCP server (
node_modules479M → 70M). - Optional
LINKEDIN_CHROME_PROFILE=Defaultdrives your real Chrome profile (requires quitting Chrome first). - Automating LinkedIn is against LinkedIn's User Agreement — use your own account, prefer reads, keep writes low-volume.
npm: npm i @mehmoodqureshi/linkedin-mcp@0.6.0
v0.4.4 — driver robustness
Patch release on top of v0.4.3 (deny-by-default write-action gate).
Fixed
- Robust auth check — more reliable detection of an active LinkedIn session.
- Company posts pager — correct pagination through a company's posts.
- Embedded-view retries — reaction/comment actions in embedded views now retry instead of failing on transient state.
npm: npm i @mehmoodqureshi/linkedin-mcp@0.4.4