Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
MCP serverCautionIntegrations & automationSome setup

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.

3.8k stars656License: Apache-2.0Updated 12 days ago0 opens

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

Caution

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.

Try Unipile free for 7 days →


Installation Methods - LinkedIn MCP Server

ToolDescription
get_person_profileRead profile sections such as experience, education, skills, projects, and posts.
get_my_profileRead your own profile, with the same section selection as other profiles.
connect_with_personSend a connection request with an optional note, or accept an incoming one.
get_sidebar_profilesFind recommended profile links, including people you may know.
get_inboxList recent inbox conversations, with links to open individual threads.
get_conversationRead a conversation's messages using a LinkedIn username or thread ID.
search_conversationsSearch messages by keyword and return links to matching conversation threads.
send_messageSend after confirmation; profile targets may open a new DM (#483).
get_company_profileRead company information, with optional sections for posts and open jobs.
get_company_postsRead recent posts from a company's feed, with links to the original posts.
search_companiesFind companies by keyword and return links to their LinkedIn profiles.
get_company_employeesFind company employees, optionally filtered by name, title, or skill.
search_jobsFind job postings by keyword and location, with job IDs for reading details.
get_saved_jobsList your saved job postings, with job IDs for looking up their details.
search_peopleFind people by keyword, location, connection degree, and current company.
get_job_detailsRead a job posting's description, requirements, and company details.
get_job_apply_urlCheck whether a job uses Easy Apply or links to an employer's application.
get_feedRead recent posts from your home feed, with links to the original posts.
search_postsSearch posts by keyword, optionally limited to the past day, week, or month.
close_sessionClose 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 picks auto, 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 --login browser 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
View source on GitHub