
stickerdaniel/linkedin-mcp-server
Developer toolsOpen-source MCP server for LinkedIn. Give Claude and any MCP-compatible AI agent access to profiles, companies, jobs, and messages.
Overview
This is an independent, community project. It is not affiliated with, authorized by, endorsed by, or sponsored by LinkedIn Corporation or Microsoft. "LinkedIn" is a registered trademark of LinkedIn Corporation and is used here only descriptively to identify the third-party service this software interoperates with. An MCP server that lets AI assistants like Claude read LinkedIn data through your own logged-in browser session. Access profiles and companies, search for jobs, or get job details. This MCP server is and , supported by . It runs locally with your own browser session. Unipile is the fully managed cloud alternative: a hosted LinkedIn API for Classic, Sales Navigator, and Recruiter that handles auth, sessions, and infrastructure for you. Try it free for 7 days → The @latest tag ensures you always run the newest version — uvx checks PyPI on each client launch and updates automatically.
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.
Installation Methods - LinkedIn MCP Server
| Tool | Description |
|---|---|
get_person_profile |
Read profile sections such as experience, education, skills, projects, volunteering, 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. |
archive_conversation |
Archive a conversation by thread ID; a repeat call reports it already archived. |
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. |
dismiss_job |
Dismiss a job from job search so later searches no longer show it. Irreversible. |
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_easy_apply_form |
Read an Easy Apply form: each field’s label, type, options and prefilled value. Never types or submits. |
get_feed |
Read recent posts from your home feed, with links to the original posts. |
search_posts |
Search posts by keyword, optionally filtered by recency or content type. |
get_session_status |
Check your saved login and browser state without opening a browser. |
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
Claude Desktop MCP Bundle (formerly DXT)
Prerequisites: Claude Desktop.
Installation
- Download the latest
.mcpbartifact from releases - Click the downloaded
.mcpbfile to install it into Claude Desktop - Call any LinkedIn tool
On startup, the MCP Bundle prepares the shared Patchright Chromium browser cache in the background. On the first tool call that needs authentication, the server reuses a LinkedIn session from a signed-in local browser if it finds one, and otherwise opens a LinkedIn login browser window.
[!NOTE] Early tool calls may return a setup/authentication-in-progress error until browser setup or login finishes. Retry the tool call once the browser download or sign-in completes.
Setup Help
Codex Plugin
Installation
Run in a terminal
codex plugin marketplace add stickerdaniel/linkedin-mcp-server
codex plugin add linkedin-mcp-server@linkedin-mcp-server
The plugin runs the latest server release. On the first tool call that needs authentication, the server reuses a LinkedIn session from a signed-in local browser or opens a login window.
[!NOTE] Early tool calls may return a setup/authentication-in-progress error until browser setup or login finishes. Retry the tool call once the browser download or sign-in completes.
Claude Code Plugin
Prerequisites: Claude Code and uv.
Installation
Run in a terminal
claude plugin marketplace add stickerdaniel/linkedin-mcp-server
claude plugin install linkedin-mcp-server@linkedin-mcp-server
The plugin runs the latest server release. On the first tool call that needs authentication, the server reuses a LinkedIn session from a signed-in local browser or opens a login window.
[!NOTE] Early tool calls may return a setup/authentication-in-progress error until browser setup or login finishes. Retry the tool call once the browser download or sign-in completes.
Cursor Plugin
Prerequisites: Cursor and uv on your PATH.
Installation
From the Cursor Marketplace: open Customize in the sidebar, search for LinkedIn MCP, and choose Install. The plugin bundles the LinkedIn skill.
One-click MCP install (server only, without the skill):
Both run the latest server release. On the first tool call that needs authentication, the server reuses a LinkedIn session from a signed-in local browser or opens a login window.
[!NOTE] Early tool calls may return a setup/authentication-in-progress error until browser setup or login finishes. Retry the tool call once the browser download or sign-in completes.
Setup with Docker
Using a proxy
LinkedIn scores the address a session signs in from. Your account’s usual IP address is the safe one. You should use a proxy in your country when the server cannot use it: a VPS, another country, or a second account that must not share the first one’s address.
With a paid provider, use a sticky residential session that holds one address (never per-request rotation). A WireGuard full tunnel or Tailscale exit node on your home network works when the server should use your usual home address.
Setup Help
Setup from Source (Develop & Contribute)
Contributions are welcome. See CONTRIBUTING.md for architecture guidelines and checklists. Search existing issues first, then use the issue forms for anything new. AI agents follow the issue-packet skill.
Prerequisites: Git and uv installed
Installation
Run in a terminal
# 1. Clone repository
git clone https://github.com/stickerdaniel/linkedin-mcp-server
cd linkedin-mcp-server
# 2. Install UV package manager (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 3. Install dependencies
uv sync
uv sync --group dev
# 4. Install pre-commit hooks
uv run pre-commit install
# 5. Start the server
uv run -m linkedin_mcp_server
Setup Help
[!IMPORTANT] FAQ
Is this safe to use? Will I get banned? This tool controls a real browser session; it doesn’t exploit undocumented APIs or bypass authentication. LinkedIn’s User Agreement prohibits automated access, and accounts using automated tools can be restricted or banned. Use at your own risk; there is no guarantee of account safety. If you encounter any issues, let me know in the Discussions.
What if my agents execute too many actions? Tool calls run sequentially through a queue. You are responsible for the volume of automation you run; use it sparingly and prompt your agents responsibly.
Contributors
Thanks to everyone who has contributed code, bug reports and fixes.
Acknowledgements
Built with FastMCP and Patchright.
Use in accordance with LinkedIn’s User Agreement. Automated access may violate LinkedIn’s terms and can lead to account restrictions. This tool is for personal use only and comes with no warranty of any kind.
License
This project is licensed under the Apache 2.0 license.
Building on this project is welcome! See the license for terms and the NOTICE for attribution.
Install
uvx mcp-server-linkedin@latestConfiguration
{
"mcpServers": {
"mcp-server-linkedin": {
"command": "uvx",
"args": ["mcp-server-linkedin@latest"],
"env": { "UV_HTTP_TIMEOUT": "300" }
}
}
}