LinkedIn MCP Server

LinkedIn MCP Server

An MCP server for LinkedIn automation that enables users to search for jobs, retrieve profile details, manage connections, and read or send messages. It leverages Playwright and Browserbase to interact with LinkedIn through an existing authenticated browser session.

Category
Visit Server

README

@striderlabs/mcp-linkedin

A Model Context Protocol (MCP) server for LinkedIn automation, powered by Playwright and Browserbase.

Features

Tool Description
get_profile Get a LinkedIn user profile (name, headline, experience, education)
search_jobs Search job listings by title, location, and company
get_job_details Get full details of a specific job posting
get_connections List your LinkedIn connections with optional name filter
get_messages Get recent messages and InMail conversations
send_connection_request Send a connection request with an optional personalised note

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-linkedin

Or install from a local tarball:

npm install ./striderlabs-mcp-linkedin-1.0.0.tgz

Configuration

Set the following environment variable before starting the server:

Variable Required Description
BROWSERBASE_CDP_URL Yes Browserbase CDP WebSocket endpoint URL

Getting your Browserbase CDP URL

  1. Create a session in the Browserbase dashboard or via their API.
  2. The session will expose a CDP WebSocket URL, typically in the format:
    wss://connect.browserbase.com?apiKey=YOUR_API_KEY&sessionId=SESSION_ID
    
  3. Ensure 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-linkedin

Claude 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.ts may 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 dev

License

MIT — Copyright (c) 2024 Strider Labs

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured