MCP LinkedIn Sales Navigator
Enables AI assistants to search leads, view profiles, manage lists, send InMails, and export data from LinkedIn Sales Navigator through browser automation.
README
MCP LinkedIn Sales Navigator
MCP server for LinkedIn Sales Navigator — Browser automation via Playwright.
LinkedIn Sales Navigator doesn't provide a public API. This MCP server uses browser automation (Playwright) to control Sales Navigator through an authenticated browser session. It enables AI assistants to search leads, view profiles, manage lists, send InMails, and export data — all through the standard Model Context Protocol.
⚠️ Important Disclaimers
- This tool requires an active LinkedIn Sales Navigator subscription
- Browser automation: This operates by controlling a real browser — no API hacking
- Session required: You must be logged into LinkedIn in the browser instance
- Rate limiting: Use responsibly. LinkedIn may restrict accounts that perform excessive automation
- Terms of Service: Review LinkedIn's ToS before using automation tools
- No credentials stored: This tool never stores or handles LinkedIn passwords
Features
| Tool | Description |
|---|---|
linkedin_search_leads |
Search leads with filters (title, company, location, industry, seniority, etc.) |
linkedin_get_lead_profile |
Get detailed profile information for a lead |
linkedin_save_lead |
Save a lead to a list |
linkedin_list_lead_lists |
List all lead lists |
linkedin_create_lead_list |
Create a new lead list |
linkedin_send_inmail |
Send an InMail message (with dry-run support) |
linkedin_export_leads |
Export leads to JSON or CSV format |
Quick Start
Prerequisites
- Node.js ≥ 20
- LinkedIn Sales Navigator subscription with active session
- A browser with an active LinkedIn login (Chrome recommended)
Install
npm install globodai-mcp-linkedin-sales-navigator
Or clone and build from source:
git clone https://github.com/globodai-group/mcp-linkedin-sales-navigator.git
cd mcp-linkedin-sales-navigator
npm install
npm run build
Configuration
The server is configured via environment variables:
| Variable | Default | Description |
|---|---|---|
LSN_AUTH_METHOD |
cdp |
Authentication method: cdp, session, or cookies |
LSN_CDP_ENDPOINT |
http://localhost:9222 |
Chrome DevTools Protocol endpoint |
LSN_USER_DATA_DIR |
— | Path to Chrome user data directory (for session method) |
LSN_COOKIES_PATH |
— | Path to cookies JSON file (for cookies method) |
LSN_HEADLESS |
false |
Run browser in headless mode |
LSN_VIEWPORT_WIDTH |
1280 |
Browser viewport width |
LSN_VIEWPORT_HEIGHT |
900 |
Browser viewport height |
LSN_NAVIGATION_TIMEOUT |
30000 |
Navigation timeout in ms |
LSN_ACTION_TIMEOUT |
10000 |
Action timeout in ms |
Authentication Methods
1. CDP (Chrome DevTools Protocol) — Recommended
Connect to an already-running Chrome browser with an active LinkedIn session.
Start Chrome with remote debugging:
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222
# Linux
google-chrome --remote-debugging-port=9222
# Windows
chrome.exe --remote-debugging-port=9222
Then log into LinkedIn Sales Navigator manually. The MCP server connects to this browser.
LSN_AUTH_METHOD=cdp LSN_CDP_ENDPOINT=http://localhost:9222 npx globodai-mcp-linkedin-sales-navigator
2. User Data Directory
Use an existing Chrome profile that's already logged into LinkedIn:
LSN_AUTH_METHOD=session LSN_USER_DATA_DIR=/path/to/chrome/profile npx globodai-mcp-linkedin-sales-navigator
3. Cookie-Based
Export your LinkedIn cookies and provide them as a JSON file:
LSN_AUTH_METHOD=cookies LSN_COOKIES_PATH=/path/to/linkedin-cookies.json npx globodai-mcp-linkedin-sales-navigator
Clawdbot / CORTX Integration
This MCP server is designed to work seamlessly with Clawdbot browser relay:
{
"mcpServers": {
"linkedin-sales-navigator": {
"command": "npx",
"args": ["globodai-mcp-linkedin-sales-navigator"],
"env": {
"LSN_AUTH_METHOD": "cdp",
"LSN_CDP_ENDPOINT": "http://localhost:9222"
}
}
}
}
When using Clawdbot's browser relay, the AI assistant can directly control a browser tab where you're logged into Sales Navigator — no additional setup needed.
Tool Examples
Search for leads
{
"tool": "linkedin_search_leads",
"arguments": {
"title": "VP of Engineering",
"location": "San Francisco Bay Area",
"companySize": "201-500",
"industry": "Computer Software"
}
}
Get a lead's profile
{
"tool": "linkedin_get_lead_profile",
"arguments": {
"profileUrl": "https://www.linkedin.com/sales/lead/ACwAAAxxxxxx"
}
}
Send an InMail (with dry run)
{
"tool": "linkedin_send_inmail",
"arguments": {
"profileUrl": "https://www.linkedin.com/sales/lead/ACwAAAxxxxxx",
"subject": "Quick question about your team",
"body": "Hi, I noticed your team is growing...",
"dryRun": true
}
}
Export leads to CSV
{
"tool": "linkedin_export_leads",
"arguments": {
"source": "current_search",
"format": "csv",
"limit": 50
}
}
Architecture
┌─────────────────────────────────────────────────┐
│ AI Assistant (Claude, GPT, etc.) │
│ ↕ MCP Protocol (stdio) │
├─────────────────────────────────────────────────┤
│ MCP Server (this package) │
│ ├── Tools (search, leads, inmails, lists, etc.)│
│ ├── Browser Controller (Playwright) │
│ └── Selectors & Auth │
├─────────────────────────────────────────────────┤
│ Playwright → Chromium / Chrome │
│ ↕ CDP or Direct │
├─────────────────────────────────────────────────┤
│ LinkedIn Sales Navigator (web app) │
└─────────────────────────────────────────────────┘
Development
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install chromium
# Development mode (watch)
npm run dev
# Build
npm run build
# Lint
npm run lint
# Type check
npm run typecheck
Selector Maintenance
LinkedIn periodically updates their DOM structure. If tools stop working:
- Open Sales Navigator in Chrome DevTools
- Inspect the elements that changed
- Update selectors in
src/browser/selectors.ts - Submit a PR with the updated selectors
License
MIT — see LICENSE
Disclaimer
This project is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedIn and Sales Navigator are trademarks of LinkedIn Corporation. Use this tool responsibly and in accordance with LinkedIn's Terms of Service.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.