servers / linkedin-mcp-server-2

linkedin-mcp-server

communitystdiolocalwrite capablehealthy

Open-source MCP server for LinkedIn. Give Claude and any MCP-compatible AI agent access to profiles, companies, jobs, and messages.


01Tools · 19

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
search_conversations
Search messages by keyword.
readfalseunknown
connect_with_person
Send a LinkedIn connection request or accept an incoming one. The tool is annotated with destructiveHint so MCP clients will prompt for user confirmation before execution.
unknownunknownunknown
get_company_posts
Get recent posts from a company's LinkedIn feed.
readfalseunknown
get_sidebar_profiles
Get profile links from sidebar recommendation sections on a LinkedIn profile page. Extracts profiles from "More profiles for you", "Explore premium profiles", and "People you may know" sidebar sections. Follows "Show all" links to return the full list from each section. Sections that redirect to linkedin.com/premium are skipped.
readfalseunknown
search_companies
Search for companies on LinkedIn.
readfalseunknown
get_inbox
List recent conversations from the LinkedIn messaging inbox.
readfalseunknown
get_feed
Get posts from the authenticated user's LinkedIn feed.
readfalseunknown
get_company_profile
Get a specific company's LinkedIn profile.
readfalseunknown
get_my_profile
Get the authenticated user's own LinkedIn profile. Navigates to /in/me/ and resolves the redirect to obtain the real username before scraping, so the url field in the result is the actual profile URL (e.g. linkedin.com/in/johndoe/) rather than /in/me/.
readfalseunknown
get_job_details
Get job details for a specific job posting on LinkedIn.
readfalseunknown
close_session
Close the current browser session and clean up resources.
unknownunknownunknown
send_message
Send a message to a LinkedIn user. The recipient must be directly messageable from the profile page. This is a write operation when confirm_send is True.
writetrueunknown
get_person_profile
Get a specific person's LinkedIn profile.
readfalseunknown
get_conversation
Read a specific messaging conversation. Provide either linkedin_username or thread_id to identify the conversation. When looked up by linkedin_username, resolution searches the messaging inbox for the participant's display name and click-visits every matching row to capture its thread ID — LinkedIn's sidebar has no anchor hrefs or thread-id attributes, so this is the only available path. Each visit selects the row in the LinkedIn UI and may mark it as read. Pass thread_id directly to skip this enumeration.
readfalseunknown
get_saved_jobs
List job postings saved by the authenticated LinkedIn user. Returns job_ids that can be passed to get_job_details for full info.
readfalseunknown
search_people
Search for people on LinkedIn.
readfalseunknown
search_posts
Search LinkedIn posts/content globally by keyword (the "Posts" tab). Use this to catch informal hiring posts ("we're hiring", "Buscamos ...", "estamos contratando", "join our team") that often appear before a formal job listing exists. This is global content search, distinct from get_feed (your own home feed) and get_company_posts (one company's page).
readfalseunknown
get_company_employees
List employees at a company from the LinkedIn /people/ page, including the demographics aggregate that this view exposes: where employees live, where they studied, and a function breakdown (Engineering, Sales, Operations, etc.). The demographics are unique to this tool. For filtered search by network degree (1st/2nd/3rd) or location, prefer search_people with current_company set to the company URN id. That path also returns more result pages than the /people/ tab. The optional keywords filter narrows results by name, title, or skill. company_name must be the exact LinkedIn URL slug (the path segment after /company/), not the display name. LinkedIn assigns unique slugs and the display name often does not match. For example, the AI lab Anthropic lives at /company/anthropicresearch/, not /company/anthropic/. If you are unsure of the slug, call search_companies first and pick the slug from the returned references.
readfalseunknown
search_jobs
Search for jobs on LinkedIn. Returns job_ids that can be passed to get_job_details for full info.
readfalseunknown

02Install & source
uvx mcp-server-linkedin@latest
uvx
docker run stickerdaniel/linkedin-mcp-server:latest
docker

03Access granted
Send chat messages · writeSocial selling & outreach · write

The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.


05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-08-16 18:20Z
next_check2026-08-16 21:20Z
cadenceevery 3h
verifiedhandshake:failed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed
index_statusindex9 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. linkedin-mcp-server MCP — as seen on mcpexplorer.com

[![linkedin-mcp-server MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/linkedin-mcp-server-2.svg)](https://mcpexplorer.com/servers/linkedin-mcp-server-2)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →