Skip to main content
Glama
LinkedIn MCP

LinkedIn MCP

by Eldasoky1

LinkedIn MCP Server

Programmable LinkedIn Automation via Playwright and the Model Context Protocol.

TypeScript Node.js Playwright MCP Protocol

πŸ“Œ Overview

This MCP server exposes LinkedIn as a programmable platform via Playwright browser automation. It provides 20 strictly typed tools across profile management, connections, messaging, feed interaction, and job searching. All interactions are driven by automating a real Chromium browser against LinkedIn's web UI, entirely bypassing unofficial APIs.

Related MCP server: LinkedIn MCP Server

πŸ—οΈ Architecture

graph TD
    Host[MCP Host / Claude Desktop] <-->|JSON-RPC over stdio| MCP[LinkedIn MCP Node.js Server]
    
    subgraph Core Automation Engine
        MCP --> SessionMgr[Session & Cookie Manager]
        MCP --> Tools[20 Typed Action Tools]
        Tools --> Playwright[Playwright API]
    end
    
    Playwright -->|CDP Commands| Chrome[Non-Headless Chromium]
    Chrome <-->|Web Traffic| LI[(LinkedIn Web Platform)]

πŸš€ Getting Started

Prerequisites

  • Node.js 20+

  • A LinkedIn Account

  • Environment configuration

Setup

# Install dependencies
npm install

# Build the project
npm run build

# Configure environment
cp .env.example .env

Edit your .env to include dummy/example credentials or your real credentials if deploying locally:

LINKEDIN_EMAIL=example@example.com
LINKEDIN_PASSWORD=your_password
COOKIES_PATH=./linkedin_cookies.json

(Note: Session cookies are persisted automatically after the first successful login).

πŸ› οΈ Tool Ecosystem

πŸ‘€ Profile Tools

  • get_my_profile / get_my_profile_full

  • get_person_profile / get_person_profile_full

✏️ Profile Editing (ProseMirror compatible)

  • update_profile_text / edit_headline

  • add_experience_block / add_skill

🀝 Networking Pipeline

  • search_people / connect_with_person

  • smart_connect: Autonomous multi-phase networking pipeline (Scrape -> Search -> Score -> Reach Out).

πŸ’¬ Messaging & Feed

  • get_inbox / send_message

  • get_feed / get_company_posts / create_post

  • search_jobs / get_job_details

βš™οΈ Technical Highlights

  • Anti-Bot Circumvention: Utilizes non-headless Chromium instances to mimic legitimate user interaction.

  • ProseMirror Handlers: Gracefully handles LinkedIn's complex TipTap/ProseMirror rich-text editors for post creation and profile updates.

  • Dry-Run Safety: All mutating endpoints support a dryRun boolean, executing form logic while bypassing the final submit action.

  • Session Resilience: Implements automated login detection and session recovery loops with explicit CAPTCHA abortion.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      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.
      6
      8 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Fully featured MCP server that provides automation tools for LinkedIn, supporting browser-based scraping and API-based operations for content management, media uploads, and reactions.
      6
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for LinkedIn automation that enables AI agents to perform LinkedIn actions (search, inbox, feed, jobs, etc.) safely with human-like evasion and two-phase commit preview.
      4 npm
      3
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Playwright-powered MCP server for LinkedIn that automates jobs, profile edits, messaging, network actions, and feed posts using a real logged-in browser session.
      36
      Apache 2.0