LinkedIn Sales Navigator MCP
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 |
| Search leads with filters (title, company, location, industry, seniority, etc.) |
| Get detailed profile information for a lead |
| Save a lead to a list |
| List all lead lists |
| Create a new lead list |
| Send an InMail message (with dry-run support) |
| Export leads to JSON or CSV format |
Quick Start
Codex plugin
This repository also contains a Codex plugin manifest and focused skills under skills/.
After building the server, the bundled .mcp.json starts dist/index.js and connects to an
already-authenticated Chrome instance over CDP at http://localhost:9222.
The skills cover:
linkedin-prospecting— bounded lead search and profile qualificationlinkedin-lead-lists— inspect, create, and populate lead listslinkedin-outreach— dry-run-first InMail drafting and explicit send confirmationlinkedin-export— bounded JSON/CSV exports with privacy-aware field selection
Build before using the plugin:
npm install
npm run buildPrerequisites
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-navigatorOr 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 buildConfiguration
The server is configured via environment variables:
Variable | Default | Description |
|
| Authentication method: |
|
| Chrome DevTools Protocol endpoint |
| — | Path to Chrome user data directory (for |
| — | Path to cookies JSON file (for |
|
| Run browser in headless mode |
|
| Browser viewport width |
|
| Browser viewport height |
|
| Navigation timeout in ms |
|
| 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=9222Then 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-navigator2. 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-navigator3. 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-navigatorClawdbot / 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 typecheckSelector 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.tsSubmit 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.