LinkedIn MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LinkedIn MCP Server search for software engineer jobs at Anthropic in San Francisco"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@striderlabs/mcp-linkedin
A Model Context Protocol (MCP) server for LinkedIn automation, powered by Playwright and Browserbase.
Features
Tool | Description |
| Get a LinkedIn user profile (name, headline, experience, education) |
| Search job listings by title, location, and company |
| Get full details of a specific job posting |
| List your LinkedIn connections with optional name filter |
| Get recent messages and InMail conversations |
| Send a connection request with an optional personalised note |
Related MCP server: openlinkedinmcp
Requirements
Node.js 18+
A Browserbase account with a CDP-enabled session URL
LinkedIn account (the browser session must already be logged in to LinkedIn)
Installation
npm install @striderlabs/mcp-linkedinOr install from a local tarball:
npm install ./striderlabs-mcp-linkedin-1.0.0.tgzConfiguration
Set the following environment variable before starting the server:
Variable | Required | Description |
| Yes | Browserbase CDP WebSocket endpoint URL |
Getting your Browserbase CDP URL
Create a session in the Browserbase dashboard or via their API.
The session will expose a CDP WebSocket URL, typically in the format:
wss://connect.browserbase.com?apiKey=YOUR_API_KEY&sessionId=SESSION_IDEnsure the browser session is logged into LinkedIn before invoking LinkedIn tools.
Usage
Running the MCP server
BROWSERBASE_CDP_URL="wss://connect.browserbase.com?apiKey=..." npx @striderlabs/mcp-linkedinClaude Desktop configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-linkedin"],
"env": {
"BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY&sessionId=YOUR_SESSION"
}
}
}
}Tool Reference
get_profile
Fetch a LinkedIn profile summary.
{
"profile_url": "https://www.linkedin.com/in/username"
}Omit profile_url to fetch the currently logged-in user's own profile.
search_jobs
Search for job listings.
{
"title": "Software Engineer",
"location": "San Francisco",
"company": "Anthropic",
"limit": 10
}All fields are optional. limit defaults to 10 (max 25).
get_job_details
Get full details of a job posting.
{
"job_url": "https://www.linkedin.com/jobs/view/1234567890"
}get_connections
List your connections.
{
"limit": 20,
"search": "Alice"
}search is optional. limit defaults to 20 (max 50).
get_messages
Get recent message conversations.
{
"limit": 10
}limit defaults to 10 (max 20).
send_connection_request
Send a connection request.
{
"profile_url": "https://www.linkedin.com/in/username",
"note": "Hi! I'd love to connect and discuss opportunities."
}note is optional and must be 300 characters or fewer (LinkedIn limit).
Important Notes
Authentication: This server does not handle LinkedIn login. Your Browserbase session must already be authenticated with LinkedIn.
Rate limits: LinkedIn may rate-limit or flag automated activity. Use responsibly.
Selectors: LinkedIn frequently updates its UI. If scraping breaks, the CSS selectors in
src/index.tsmay need updating.LinkedIn ToS: Automated access to LinkedIn may violate their Terms of Service. Use for personal productivity and authorised use cases only.
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm run devLicense
MIT — Copyright (c) 2024 Strider Labs
Available Tools
6 toolsget_connectionsC
List your LinkedIn connections with their name, headline, and profile URL. Optionally filter by name.
Inputs: limit, search.
get_job_detailsB
Get the full details of a specific LinkedIn job posting including description, requirements, salary range (if available), and apply link.
Inputs: job_url (required).
get_messagesC
Get recent LinkedIn messages and InMail conversations including sender, preview, and timestamp.
Inputs: limit.
get_profileA
Get a LinkedIn user profile summary including name, headline, location, about section, experience, and education. Defaults to the currently logged-in user's profile.
Inputs: profile_url.
search_jobsA
Search LinkedIn job listings by title, location, and/or company. Returns a list of matching jobs with title, company, location, and URL.
Inputs: title, location, company, limit.
send_connection_requestB
Send a LinkedIn connection request to a user, with an optional personalised note (max 300 characters).
Inputs: profile_url (required), note.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose targeting different LinkedIn resources: connections, job details, messages, profiles, job search, and connection requests. There is no overlap in functionality, making it easy for an agent to select the right tool.
All tools follow a consistent verb_noun naming pattern (e.g., get_connections, search_jobs, send_connection_request). The verbs are appropriate and descriptive, with no deviations in style or convention.
With 6 tools, the server is well-scoped for LinkedIn interactions, covering key areas like profiles, connections, jobs, and messaging. Each tool earns its place without being overwhelming or insufficient for the domain.
The tool set covers core LinkedIn functionalities well, including reading (profiles, connections, jobs, messages) and writing (connection requests). Minor gaps exist, such as no tools for updating profiles, managing connections (e.g., removing), or interacting with posts, but agents can still handle common workflows effectively.
Maintenance
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
A hosted LinkedIn MCP server for your own account. Paste one address into Claude, ChatGPT, Cursor or n8n to read your inbox, send messages and invitations, and search people. Free to start. Not made by LinkedIn.
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
LinkedIn outreach MCP server — 19 tools for AI agents to prospect, sequence, and manage contacts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for programmable LinkedIn automation via Playwright, offering 20 tools for profile management, messaging, feed interaction, and job searching through real browser automation.18 npmMIT
- AlicenseBqualityDmaintenancePlaywright-powered MCP server for LinkedIn that automates jobs, profile edits, messaging, network actions, and feed posts using a real logged-in browser session.36Apache 2.0
- AlicenseAqualityDmaintenanceAn 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.19Apache 2.0
- AlicenseAqualityNot gradedmaintenanceAn MCP server that lets AI assistants read LinkedIn data through the user's logged-in browser session, providing tools for profiles, companies, job searches, messaging, and feeds.19Apache 2.0