Server profile

MCP Server for LinkedIn

Connect an AI assistant to LinkedIn through your own browser session. The server helps you research people and companies, explore jobs, and read conversations from a local installation.

Server facts

MCP Server for LinkedIn

Project

License
Apache-2.0

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
3,897
Last commit
Data as of

Tags

  • Browser Sessions
  • Job Search
  • Linkedin
  • Profiles

Overview

MCP Server for LinkedIn gives assistants access to LinkedIn using the browser session of the person running it. Rather than requiring a separate hosted LinkedIn API, it operates locally and works with an authenticated account. Its tools cover personal and company profiles, employee discovery, job searches, and individual job postings. Profile requests can select particular sections, which helps focus retrieval on the experience, education, skills, or other information needed for a task. This makes it relevant to professional research and job exploration workflows.

The same integration can inspect the signed-in user's feed, list inbox conversations, read a thread, and search messages. The README also lists connection requests and message sending, but associates those actions with open issue references; message sending requires confirmation. Setup uses uvx, with a managed Chromium browser prepared in the background. Authentication can reuse a compatible local browser session or open a login window. Initial requests may need to wait for setup or sign-in to finish. Both stdio and Streamable HTTP are documented, while a single process queues tool requests to protect its shared session. This is an independent community integration, not an authorized LinkedIn or Microsoft product.

Install & configure

Requirements

  • uv
  • A LinkedIn account and authenticated browser session
  • An MCP-compatible client
Documented launch / install command
uvx mcp-server-linkedin@latest

The README launches the local server with uvx. Browser preparation happens automatically; first use may require sign-in. Streamable HTTP is also documented.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "linkedin-mcp-server": {
      "command": "uvx",
      "args": [
        "mcp-server-linkedin@latest"
      ],
      "env": {
        "UV_HTTP_TIMEOUT": "<uv package download timeout in seconds>"
      }
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

Cursor configuration
{
  "mcpServers": {
    "linkedin-mcp-server": {
      "command": "uvx",
      "args": [
        "mcp-server-linkedin@latest"
      ],
      "env": {
        "UV_HTTP_TIMEOUT": "<uv package download timeout in seconds>"
      }
    }
  }
}

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "linkedin-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-linkedin@latest"
      ],
      "env": {
        "UV_HTTP_TIMEOUT": "<uv package download timeout in seconds>"
      }
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

Windsurf configuration
{
  "mcpServers": {
    "linkedin-mcp-server": {
      "command": "uvx",
      "args": [
        "mcp-server-linkedin@latest"
      ],
      "env": {
        "UV_HTTP_TIMEOUT": "<uv package download timeout in seconds>"
      }
    }
  }
}

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "linkedin-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-linkedin@latest"
      ],
      "env": {
        "UV_HTTP_TIMEOUT": "<uv package download timeout in seconds>"
      }
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
get_person_profileRead selected sections of a LinkedIn member profile.
get_my_profileRead chosen sections of the signed-in account's profile.
connect_with_personRequest a connection or accept one, optionally including a note; the README links known issues.
get_sidebar_profilesCollect recommended profile links from a member's sidebar.
get_inboxList the account's recent messaging threads.
get_conversationRead a thread identified by username or conversation ID.
search_conversationsFind conversations containing a keyword.
send_messageSend a message after confirmation; the README links known issues.
get_company_profileRead company information and selected company sections.
get_company_postsRetrieve recent updates from a company feed.
search_companiesFind companies matching keywords.
get_company_employeesExplore a company's people page with an optional keyword filter.
search_jobsFind job postings using keywords and location criteria.
search_peopleFind members by keywords, location, connection distance, or current employer.
get_job_detailsInspect the information in a particular job listing.
get_feedRead recent posts in the authenticated home feed.
close_sessionShut down the browser session and release its resources.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Research selected sections of a professional profile.
  • Find job listings by keyword and location.
  • Review a company profile, employees, and recent posts.
  • Read inbox threads before drafting a response.

Strengths

  • Uses your existing authenticated browser session.
  • Supports section-specific profile retrieval and multiple search types.
  • Documents local stdio and Streamable HTTP operation.

Limitations

  • Requires a working LinkedIn session and may need manual login or CAPTCHA handling.
  • Requests within one server process run sequentially.
  • Connection and message actions have issue references in the README.

Frequently asked questions

The community server runs locally with your own browser session. The README separately mentions a hosted commercial alternative.

Yes. Session import supports the listed Chromium-based browsers, with manual login available when import fails.

A send_message tool is listed and requires confirmation, but its README entry includes issue references.

No. The README explicitly identifies it as an independent community project without LinkedIn or Microsoft endorsement.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers