LinkedIn Sales & Navigator MCP Server

$git clone https://github.com/aditya-ai-architect/Lindin-Sales-and-Navigator-MCP.git && cd Lindin-Sales-and-Navigator-MCP && npm install && npm run build && LI_AT_COOKIE="your_cookie" node dist/index.js
README.md

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:

  1. Open linkedin.com in your browser and log in
  2. Open Developer Tools (F12 or Ctrl+Shift+I)
  3. Go to the Application tab (Chrome/Edge) or Storage tab (Firefox)
  4. In the left sidebar, expand Cookies and click on https://www.linkedin.com
  5. Find and copy the li_at cookie value
Cookie Required Description
li_at Yes Your session authentication token
JSESSIONID No CSRF token (auto-generated if not provided)

Important: The li_at cookie 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 cookie
JSESSIONIDYour LinkedIn `JSESSIONID` cookie (auto-generated if not provided)

Configuration

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"
      }
    }
  }
}

Try it

Validate my current LinkedIn session using validate_session.
Retrieve my own LinkedIn profile details with get_own_profile.
Get the profile for public_identifier 'john-doe-123' using get_profile.
Fetch detailed profile info including experience for 'jane-smith-456' with get_profile_details.
Check my LinkedIn session and get my profile information.

Frequently Asked Questions

How do I install LinkedIn Sales & Navigator MCP Server?

Install LinkedIn Sales & Navigator MCP Server by running: git clone https://github.com/aditya-ai-architect/Lindin-Sales-and-Navigator-MCP.git && cd Lindin-Sales-and-Navigator-MCP && npm install && npm run build && LI_AT_COOKIE="your_cookie" node dist/index.js

What MCP clients work with LinkedIn Sales & Navigator MCP Server?

LinkedIn Sales & Navigator MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use LinkedIn Sales & Navigator MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free