
linkedin-mcp-server by stickerdaniel, an unofficial LinkedIn MCP server
Lets Claude read LinkedIn profiles, jobs and your inbox through your own account. It is unofficial, and LinkedIn can restrict accounts that use it.
This independent project (LinkedIn has no official MCP server) lets Claude read LinkedIn profiles, companies, jobs, posts and your inbox by driving a browser signed in to your own account. It can also send messages and connection requests as you, but it never applies to jobs. LinkedIn's User Agreement bans scraping tools and lets LinkedIn restrict or terminate accounts, so using it puts your LinkedIn account at risk.
Good for
- Recruiters and sourcers researching people and companies
- Job seekers who want jobs searched and summarised
- Sales and founders preparing for a meeting
- Not for bulk scraping: that is what gets accounts restricted
Works in
4 supported · 8 should work
Tap an app to see how to set it up and any known problems.
The README covers it: add the repo as a plugin marketplace, install the plugin, and have uv on your PATH. GitHub
The README covers it: download the .mcpb bundle from the latest release, open it, then sign in to LinkedIn on the first call.
Known problems
- Open
Calls fail with a redirect loop error; one report shows LinkedIn rate-limiting the session
Since Apr 2026 · GitHub
The README covers it: install from the Cursor Marketplace or use the one-click link for the server alone. Needs uv. GitHub
The README covers it: add the repo as a Codex plugin marketplace and install the plugin. Needs uv.
Known problems
- Open
On Linux, Google sign-in is refused in the login browser and a half-finished login looks like a valid session
Workaround: Sign in with your LinkedIn email and password instead of Google sign-in.
Since Jun 2026 · GitHub
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install linkedin-mcp-server
Claude Code
- 1
Copy this prompt.
Add the linkedin-mcp-server server to Claude Code. Run this command: claude plugin marketplace add stickerdaniel/linkedin-mcp-server claude plugin install linkedin-mcp-server@linkedin-mcp-server Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv, LinkedIn account.
LinkedIn MCP is a community project, not made by LinkedIn or Microsoft. It drives a real Chromium browser signed in to your own LinkedIn account; it does not use LinkedIn's API. On the first tool call that needs sign-in, it reuses a LinkedIn session from a signed-in local browser, or opens a login window. There is no li_at cookie variable. To import a session explicitly run uvx mcp-server-linkedin@latest --import-from-browser; to sign in by hand run uvx mcp-server-linkedin@latest --login. Sessions are saved in ~/.linkedin-mcp/profile and expire, so rerun the login when they do. LinkedIn's terms prohibit automated access, so accounts using tools like this can be restricted or banned. Use it for personal use only. It needs uv and a recent Python (the package requires Python 3.12.4 or newer, below 3.15), which uv fetches for you.
From the project README. Source.
Tools
Reads a LinkedIn profile
Reads sections of someone's LinkedIn profile such as experience, education, skills, projects, volunteering and posts. Use it to research a person before reaching out.
Try: “Read Jane Doe's LinkedIn profile, experience and skills”
Network ·
get_person_profileReads your own LinkedIn profile
Reads your own profile with the same section choices as for other people. Use it to review or reuse what you have written about yourself.
Try: “Show my LinkedIn experience section”
Network ·
get_my_profileFinds people by keyword, location, connection degree or company
Searches LinkedIn people using keywords, location, connection degree and current company. Use it to build a list of prospects or contacts.
Try: “Find product managers at Stripe in London”
Network ·
search_peopleReads a company's LinkedIn page
Reads company information, with optional sections for posts and open jobs. Use it to research an employer or a prospect.
Try: “Read the LinkedIn profile for Notion, including open jobs”
Network ·
get_company_profileReads a company's recent posts
Reads recent posts from a company's feed, with links to the originals. Use it to see what a company has been saying lately.
Try: “Show recent posts from Figma's LinkedIn page”
Network ·
get_company_postsFinds employees of a company
Finds people who work at a company, optionally filtered by name, title or skill. Use it to find the right contact inside a business.
Try: “Find engineering managers at Datadog”
Network ·
get_company_employeesFinds companies by keyword
Searches companies by keyword and returns links to their LinkedIn profiles. Use it when you need the right company page first.
Try: “Find climate tech companies on LinkedIn”
Network ·
search_companiesFinds job postings by keyword and location
Searches job postings by keyword and location and returns job IDs you can look up in detail. Use it to start a job search.
Try: “Find remote data engineer jobs in Canada”
Network ·
search_jobsReads one job posting in full
Reads a posting's description, requirements and company details from a job ID. Use it to decide whether a role fits you.
Try: “Show the full details for that job”
Network ·
get_job_detailsLists the jobs you have saved
Lists your saved job postings with IDs you can look up. Use it to review roles you bookmarked.
Try: “List my saved LinkedIn jobs”
Network ·
get_saved_jobsTells you how to apply to a job
Checks whether a job uses Easy Apply or links out to the employer's application. Use it before you start an application.
Try: “Does this job use Easy Apply?”
Network ·
get_job_apply_urlReads the fields of an Easy Apply form
Reads an Easy Apply form, including each field's label, type, options and prefilled value. It never types into or submits the form. Use it to see what an application asks for.
Try: “Show me what the Easy Apply form for this job asks”
Network ·
get_easy_apply_formHides a job from future searches
Dismisses a job so later searches no longer show it. The README marks this as irreversible. Use it to clear roles you do not want.
Try: “Dismiss this job from my search results”
Write ·
dismiss_jobSearches LinkedIn posts
Searches posts by keyword, optionally filtered by recency or content type. Use it to find discussion on a topic.
Try: “Find recent LinkedIn posts about MCP servers”
Network ·
search_postsReads your LinkedIn home feed
Reads recent posts from your home feed with links to the originals. Use it to catch up without opening LinkedIn.
Try: “Summarize the latest posts in my LinkedIn feed”
Network ·
get_feedShows recommended profiles
Finds recommended profile links, including people you may know. Use it to discover suggested contacts.
Try: “Show people LinkedIn suggests I connect with”
Network ·
get_sidebar_profilesSends or accepts a connection request
Sends a connection request with an optional note, or accepts an incoming one. Use it to grow your network once you have found the right person.
Try: “Send a connection request to Jane Doe with a short note”
Write ·
connect_with_personLists your recent LinkedIn conversations
Lists recent inbox conversations with links to open individual threads. Use it to see who has messaged you.
Try: “Show my recent LinkedIn conversations”
Network ·
get_inboxReads the messages in one conversation
Reads a conversation's messages using a LinkedIn username or thread ID. Use it to catch up on a thread.
Try: “Read my conversation with Jane Doe”
Network ·
get_conversationSearches your messages by keyword
Searches messages by keyword and returns links to matching threads. Use it to find an old message.
Try: “Find my messages that mention the contract”
Network ·
search_conversationsSends a LinkedIn message
Sends a message after confirmation. The README notes that targeting a profile may open a new DM. Use it to reply or reach out.
Try: “Message Jane Doe thanking her for the intro”
Write ·
send_messageArchives a conversation
Archives a conversation by thread ID, and a repeat call reports it as already archived. Use it to tidy your inbox.
Try: “Archive my conversation with the recruiter”
Write ·
archive_conversationUsed by the assistant behind the scenes
Checks whether you are logged in
Checks your saved login and browser state without opening a browser. Use it to troubleshoot when something stops working.
Try: “Check my LinkedIn session status”
Read ·
get_session_statusCloses the browser session
Closes the shared browser session without deleting your saved login. Use it to free resources when you are finished.
Try: “Close the LinkedIn browser session”
close_session
Read from the source code
Pros and cons
Good
- Free under the Apache-2.0 license
- Reads profiles, companies, jobs, posts and your inbox in one place
- Never applies to jobs for you
- Messages need an explicit confirm step before they send
- Queues tool calls one at a time to avoid bursts of page loads
- Setup guides exist for Claude Desktop, Claude Code, Cursor and Codex
Watch out
- Breaks LinkedIn's terms, so your account can be restricted or terminated
- No read-only mode; you block the write tools in your client
- Can send messages and connection requests as you
- Needs your LinkedIn login saved on your computer
- Stops working when LinkedIn changes its pages
- Not made or supported by LinkedIn
Permissions
high risk · 7 things to watch
High risk
It acts from your own LinkedIn account, which LinkedIn can restrict or terminate for using scraping tools, and it can message people and send connection requests as you. Keep volume low, and block the message and connection-request tools in your client unless you need them.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
LinkedIn can restrict or end your account for this
LinkedIn's User Agreement bans bots, scrapers and copying cookies, and says it may restrict, suspend or terminate accounts. Restricted accounts are asked for a government ID to get back in. linkedin.com
It can message people and send invitations as you
Messages only go out when the call sets confirm_send to true, but an app that auto-approves tools can still set it. Deny the message and connection-request tools in your client unless you want them. github.com
No read-only mode, so block write tools yourself
The maintainer declined a switch to turn off the messaging and invitation tools. Block send_message and connect_with_person in your client's tool permissions. github.com
It reuses your browser's LinkedIn login
By default it imports the LinkedIn session from a signed-in Chrome, Edge, Brave or similar browser and stores it on your computer. Turn this off with the no-auto-import option. github.com
Web mode has no password
Streamable HTTP mode serves your LinkedIn session to anyone who can reach the port. Keep it on 127.0.0.1 and put anything wider behind your own login. github.com
People may see you viewed their profile
Profiles the agent opens record a view from your account, which the other person may see. github.com
The recommended setup updates itself on every start
It pulls the newest release each time, so new code runs without review. Pin a version if you want to control updates. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No built-in read-only switch; the maintainer declined one. The write tools (send_message, connect_with_person) are tagged 'actions', and send_message needs confirm_send=true. Deny those tools in your client's permissions to keep it read-only. |
|---|---|
| Talks to | A real Chromium browser opens LinkedIn pages as you. Page content goes to your AI app and its model provider |
| Sign-in and keys | Imports the LinkedIn session from a signed-in browser or a login window, and keeps it in ~/.linkedin-mcp/profile. |
| Scopes |
|
Alternatives
Use the LinkedIn app in ChatGPT if you only need people lookup and want no ban risk. For posting, Upload-Post uses LinkedIn's official API, while this server is the pick for reading profiles, jobs and messages.
| Server | Official | Runs | Sign-in | Can change things | GitHub stars |
|---|---|---|---|---|---|
| For LinkedIn | |||||
| linkedin-mcp-server (this page)This page | Community | Local | Browser session | Yes | 4.1K |
| gtm-api LinkedIn MCP | Community | HostedLocal | Browser session | Yes | 90 |
| felipfr/linkedin-mcpserver | Community | – | – | – | 92 |
| Other tools for the same job | |||||
| LinkedIn app in ChatGPT | Official | – | – | No | – |
| Upload-Post LinkedIn MCP | Community | – | LinkedIn OAuth | Yes | – |
| Cadenza (hosted) | Community | Hosted | – | – | – |
What people say
People value what it can read and worry about getting their LinkedIn account restricted.
What people like
- Read tools such as people search and profile lookup work well for users
- The maintainer answers issues fast and often ships fixes within a day
Common complaints
- Users worry about account bans, and nobody can promise safety
- There is no switch to turn off the messaging and invitation tools
- Login and session problems recur, such as redirect loops and expired sessions
- It breaks when LinkedIn changes its pages, and the feed and post search currently stop at 3 results
- LinkedIn answers bursts of page loads with rate limits
In their words
“my LinkedIn account is over four years old, and I don't want it to be restricted or banned because of automated activity.”praghu-bGitHub discussionApr 2026
“If you are not using it for Automations like mass scraping profiles you should be fine. I built a queue system into the scraper so that rapid tool calls are executed sequentially”stickerdanielGitHub issueOct 2026
“Some read actions like viewing a profile still leave a mark if the other person has LinkedIn premium they can see you have viewed their profile this is a known limitation”stickerdanielVendor
“No tool can promise LinkedIn won't restrict an account, and we won't pretend otherwise.”Cadenza
Questions
Can LinkedIn ban me for using this?
Yes. LinkedIn's User Agreement bans bots and scraping tools and lets LinkedIn restrict or terminate accounts, and the README says there is no guarantee of account safety. The maintainer says light personal use, not mass scraping, should be fine.
Is there an official LinkedIn MCP server?
No. LinkedIn publishes no MCP server or Claude connector, and this is a community project not tied to LinkedIn. LinkedIn does offer a people-lookup app inside ChatGPT.
Is it free?
Yes, the server is free under the Apache-2.0 license. Its sponsor Cadenza sells a hosted version, and you only need that if you do not want to run it yourself.
Can it send LinkedIn messages or connection requests?
Yes. It can send messages, send or accept connection requests and archive conversations. Messages only go out when the call sets confirm_send to true.
Can it apply to jobs for me?
No. It searches jobs, reads postings, tells you whether a job uses Easy Apply and returns the employer's apply link, but it never fills in or submits an application.
Is there a read-only mode?
No. The maintainer declined to add one. Block the message and connection-request tools in your client's tool permissions, or tell the agent never to use them.
How do I lower the ban risk?
Keep volume low and run it from the IP address you normally use LinkedIn from. The project's own guidelines suggest about 100 calls a day per tool, 30 invitations a day, and a 24-hour stop after any captcha or rate-limit page. The server does not enforce these limits for you.
Will people see that I viewed their profile?
They may. The server opens profiles in a real browser as you, so a profile view is recorded like any other visit.
Do I need to paste my li_at cookie?
No. Current releases import the session from a browser you are already signed in to, or open a login window on first use. Older guides and the Docker catalog entry still mention the cookie.
Why do I get ERR_TOO_MANY_REDIRECTS?
Either the LinkedIn session is not signed in or LinkedIn is rate-limiting you. Run the login step again, and slow down if the error page shows HTTP 429.
Examples
Research a person before a meeting
Read the LinkedIn profile linkedin.com/in/<username> and summarise their experience, education and recent posts in five bullet points.
Find relevant jobs and check how to apply
Search LinkedIn jobs for 'product designer' in Berlin, list the top 10 with company and posting date, and tell me which ones use Easy Apply.
Size up a company and its people
Get the LinkedIn company profile for Figma, its last five posts, and employees with 'recruiter' in their title.
Catch up on your inbox
List my recent LinkedIn conversations and summarise any unread ones. Do not send anything.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
mcp-server-linkedin- Registry
- PyPI
- Transport
- stdio, Streamable HTTP
- Version
- 4.28.0
- License
- Apache-2.0
- Last commit
- Oct 30, 2026
- Open issues
- 82
- Listed in
- Docker MCP Catalog
Other LinkedIn MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 21Hide
- linkedin-mcp-server README · github.com
- LinkedIn MCP · contextbolt.com
- User Agreement, section 3.4 Limits · linkedin.com
- Prohibited software and extensions · linkedin.com
- messaging.py · github.com
- fix(auth): Stop on a restricted account · github.com
- Opt-in read-only mode that leaves out the actions tools · github.com
- How to avoid getting banned · github.com
- Cadenza, hosted LinkedIn MCP · cadenza.page
- Agent guidelines for live limits · github.com
- Pause after a rate-limit or restriction page · github.com
- ERR_TOO_MANY_REDIRECTS · github.com
- Login and session problems · github.com
- Has anyone been banned for using this MCP server on LinkedIn? · github.com
- Read tools work when a write action fails · github.com
- Maintainer response time · github.com
- Feed and post search stop at 3 results · github.com
- Rate limit handling · github.com
- Upload-Post LinkedIn MCP · upload-post.com
- gtm-api LinkedIn MCP · github.com
- felipfr/linkedin-mcpserver · github.com