SL

stickerdaniel/linkedin-mcp-server

Developer tools
4.1K stars 718 forks Quality 91 Trend 58Apache-2.0

Open-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.

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

  1. Download the latest .mcpb artifact from releases
  2. Click the downloaded .mcpb file to install it into Claude Desktop
  3. 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

Prerequisites: Codex and uv.

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.

View the full README on GitHub

Install

uvx mcp-server-linkedin@latest
New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "mcp-server-linkedin": { "command": "uvx", "args": ["mcp-server-linkedin@latest"], "env": { "UV_HTTP_TIMEOUT": "300" } } } }