Connects AI assistants to LinkedIn and LinkedIn Sales Navigator using cookie-based authentication.
LinkedIn Sales & Navigator MCP Server
A Model Context Protocol (MCP) server that connects AI assistants to LinkedIn and LinkedIn Sales Navigator using cookie-based authentication. Provides 17 tools for viewing profiles, searching people & companies, messaging, managing connections, and full Sales Navigator access — all through LinkedIn's internal Voyager API.
Built with TypeScript, @modelcontextprotocol/sdk, Zod, undici, and Puppeteer with stealth plugin.
Features
- 17 tools — Profiles, search, companies, messaging, connections, and full Sales Navigator
- Cookie-based auth — No LinkedIn Developer account or OAuth app required
- Dual-engine architecture — Fast HTTP (undici) for reads, headless Puppeteer with stealth plugin for messaging & Sales Navigator
- Anti-bot bypass — Puppeteer-extra with StealthPlugin bypasses LinkedIn's automation detection
- Clean responses — Deeply nested LinkedIn Voyager API responses are parsed into readable JSON
- Type-safe — Written in strict TypeScript with Zod schema validation on all tool inputs
- MCP standard — Works with any MCP-compatible client (Claude Desktop, Claude Code, etc.)
Prerequisites
- Node.js >= 18.0.0
- npm >= 8.0.0
- A LinkedIn account with an active session in your browser
- A Sales Navigator subscription (for Sales Navigator tools only)
Installation
# Clone the repository
git clone https://github.com/aditya-ai-architect/Lindin-Sales-and-Navigator-MCP.git
cd Lindin-Sales-and-Navigator-MCP
# Install dependencies
npm install
# Build
npm run build
Getting Your LinkedIn Cookie
The server authenticates using the li_at cookie from your logged-in LinkedIn session:
- Open linkedin.com in your browser and log in
- Open Developer Tools (
F12orCtrl+Shift+I) - Go to the Application tab (Chrome/Edge) or Storage tab (Firefox)
- In the left sidebar, expand Cookies and click on
https://www.linkedin.com - Find and copy the
li_atcookie value
| Cookie | Required | Description |
|---|---|---|
li_at |
Yes | Your session authentication token |
JSESSIONID |
No | CSRF token (auto-generated if not provided) |
Important: The
li_atcookie expires periodically. If you get authentication errors, extract a fresh cookie from your browser.
Configuration
Claude Desktop
Add to your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"linkedin-sales-navigator": {
"command": "node",
"args": ["/absolute/path/to/Lindin-Sales-and-Navigator-MCP/dist/index.js"],
"env": {
"LI_AT_COOKIE": "your_li_at_cookie_value_here"
}
}
}
}
Claude Code (CLI)
claude mcp add linkedin-sales-navigator -- node /absolute/path/to/Lindin-Sales-and-Navigator-MCP/dist/index.js
Set the environment variable before launching, or use a .env file.
Environment Variables
| Variable | Required | Description |
|---|---|---|
LI_AT_COOKIE |
Yes | Your LinkedIn li_at session cookie |
JSESSIONID |
No | Your LinkedIn JSESSIONID cookie (auto-generated if not provided) |
Running Directly
LI_AT_COOKIE="your_cookie" node dist/index.js
Tools Reference
Profile Tools
`validate_session`
Validate that the LinkedIn session cookie is still active.
`get_own_profile`
Get the authenticated user's own LinkedIn profile information.
`get_profile`
Get a LinkedIn profile by public identifier (vanity URL slug).
| Parameter | Type | Description |
|---|---|---|
public_identifier |
string | The LinkedIn vanity URL slug (e.g. john-doe-123) |
`get_profile_details`
Get detailed profile information including experience, education, and skills.
| Parameter | Type | Description |
|---|---|---|
public_identifier |
string | The LinkedIn vanity URL slug |
`get_profile_con
Tools (5)
validate_sessionValidate that the LinkedIn session cookie is still active.get_own_profileGet the authenticated user's own LinkedIn profile information.get_profileGet a LinkedIn profile by public identifier (vanity URL slug).get_profile_detailsGet detailed profile information including experience, education, and skills.get_profile_conGet profile connections or related profile tool.Environment Variables
LI_AT_COOKIErequiredYour LinkedIn `li_at` session cookieJSESSIONIDYour LinkedIn `JSESSIONID` cookie (auto-generated if not provided)Configuration
{
"mcpServers": {
"linkedin-sales-navigator": {
"command": "node",
"args": ["/absolute/path/to/Lindin-Sales-and-Navigator-MCP/dist/index.js"],
"env": {
"LI_AT_COOKIE": "your_li_at_cookie_value_here"
}
}
}
}