linkedin-mcp-server
stickerdaniel · stickerdaniel/linkedin-mcp-server
This open-source MCP server enables AI agents like Claude to access LinkedIn profiles, companies, jobs, and messages through a logged-in browser session.
Open-source MCP server for LinkedIn. Give Claude and any MCP-compatible AI agent access to profiles, companies, jobs, and messages.
Preview
What you can do with it
- Have your agent look up a person's profile details on LinkedIn.
- Automate sending connection requests or messages to LinkedIn contacts.
- Allow an AI agent to search for jobs based on specific criteria.
Safety check
Usable, but read the notes first.
- ●Installer downloads a remote script and pipes it to the shell.
README.md
Automated scan of the repo files. Always review code you run.
From the README
MCP Server for LinkedIn
Give your AI agents access to LinkedIn through your own browser session. Read profiles, research companies, find jobs, and manage conversations and connection requests.
This is an independent open-source project, not affiliated with LinkedIn or Microsoft. LinkedIn is a trademark of LinkedIn Corporation, used here only to identify the service this software interacts with.
LinkedIn MCP Sponsor
Prefer not to run a server? Cadenza is the hosted LinkedIn MCP server for your agents, on web, desktop, and mobile, with 100+ actions across LinkedIn Classic, Sales Navigator, and Recruiter. Request limits are built in, with per-minute and daily budgets you can fine-tune for each action.
Use code FOUNDING20 for 20% off your first year. Try Cadenza →
This MCP server is supported by Unipile. Unipile is the fully managed cloud option for developers: a hosted LinkedIn API for Classic, Sales Navigator, and Recruiter that handles auth, sessions, and infrastructure for you.
Installation Methods - LinkedIn MCP Server
| Tool | Description |
|---|---|
get_person_profile | Read profile sections such as experience, education, skills, projects, and posts. |
get_my_profile | Read your own profile, with the same section selection as other profiles. |
connect_with_person | Send a connection request with an optional note, or accept an incoming one. |
get_sidebar_profiles | Find recommended profile links, including people you may know. |
get_inbox | List recent inbox conversations, with links to open individual threads. |
get_conversation | Read a conversation's messages using a LinkedIn username or thread ID. |
search_conversations | Search messages by keyword and return links to matching conversation threads. |
send_message | Send after confirmation; profile targets may open a new DM (#483). |
get_company_profile | Read company information, with optional sections for posts and open jobs. |
get_company_posts | Read recent posts from a company's feed, with links to the original posts. |
search_companies | Find companies by keyword and return links to their LinkedIn profiles. |
get_company_employees | Find company employees, optionally filtered by name, title, or skill. |
search_jobs | Find job postings by keyword and location, with job IDs for reading details. |
get_saved_jobs | List your saved job postings, with job IDs for looking up their details. |
search_people | Find people by keyword, location, connection degree, and current company. |
get_job_details | Read a job posting's description, requirements, and company details. |
get_job_apply_url | Check whether a job uses Easy Apply or links to an employer's application. |
get_feed | Read recent posts from your home feed, with links to the original posts. |
search_posts | Search posts by keyword, optionally limited to the past day, week, or month. |
close_session | Close the shared browser session without deleting your saved login. |
Setup with uvx (Recommended)
Prerequisites: Install uv.
Installation
Add to your MCP client's mcpServers configuration
{
"mcpServers": {
"mcp-server-linkedin": {
"command": "uvx",
"args": ["mcp-server-linkedin@latest"],
"env": { "UV_HTTP_TIMEOUT": "300" }
}
}
}
The @latest tag turns on automatic updates, which keep the server working with LinkedIn's current page structure. The server starts quickly and prepares the shared Patchright Chromium browser cache in the background under ~/.linkedin-mcp/patchright-browsers. On the first tool call that needs authentication, it reuses a LinkedIn session from a signed-in local browser if it finds one, and otherwise opens a LinkedIn login browser window.
AI agent? Get a quick confirmation from the user before enabling automatic updates.
[!NOTE] Early tool calls may return a setup/authentication-in-progress error until browser setup or login finishes. If you prefer to create a session explicitly, run
uvx mcp-server-linkedin@latest --login.
Setup Help
🔧 Configuration
Transport modes
- Default (stdio): Standard communication for local MCP servers
- Streamable HTTP: For a web-based MCP server
- If no transport is specified, the server defaults to
stdio - An interactive terminal without explicit transport shows a chooser prompt
CLI options
Session:
--login- Open a browser to sign in and save the session--import-from-browser [BROWSER]- Reuse a session from a locally signed-in Chromium browser (chrome,chromium,brave,edge,arc,vivaldi,helium,yandex,whale,coccoc,opera,opera_gx,auto). Bare flag picksauto, the most recently used browser with a live LinkedIn session.--auto-import/--no-auto-import- Import a session from a signed-in local browser on the first tool call that needs one, before falling back to manual login (default: on). Skipped in Docker, behind a proxy, and on a non-loopback HTTP bind. On macOS the keychain may prompt once.--logout- Clear the stored session--login-viewer- Docker only: show the--loginbrowser at a token-protected URL on port 6080 (see Authentication)--user-data-dir PATH- Browser profile directory (default: ~/.linkedin-mcp/profile). Rotating or clearing a session deletes this directory and its parent, which holds the stored cookies and derived profiles.--claim-profile-root- Take over a profile directory the serve