LinkedIn MCP Server

io.github.prakharagarwal-dev由 GitHub 账号 prakharagarwal-dev 发布v0.16.0更新于 Oct 24, 2026

Find LinkedIn jobs and people, research companies, manage network, posts, and messages with MCP.

概览

AI 生成的概览

一个非官方的本地 MCP 服务器,通过已登录的浏览器操作 LinkedIn 网页界面,让助手搜索职位、人物、公司和帖子并执行操作。

可以做什么
搜索并读取职位,包括筛选条件、完整职位描述和招聘团队。搜索人物和公司,读取个人资料、经历、教育背景和公司详情。搜索帖子并读取内容、评论和互动。发布帖子、评论和添加互动。列出并搜索人脉,列出、发送、接受或忽略邀请。搜索并读取会话,发送或回复消息。
适用场景
适合让助手调研 LinkedIn 上的职位、候选人、公司或讨论,或通过你自己已登录的账号处理日常人脉和消息事务,而不必手动浏览。
运行要求
作为本地 stdio 进程运行,通过 uvx 从 linkedin-mcp-local 包启动(Python,需满足 Playwright 浏览器要求)。会打开专用浏览器窗口供你登录 LinkedIn 并完成可能的验证;会话保存在本地浏览器配置文件中。
安装前请注意
它会自动化你真实的 LinkedIn 账号,LinkedIn 可能限制或封禁使用被禁止自动化的账号。它可以代你发送好友邀请、接受或忽略邀请、发布帖子、评论、添加互动和发送消息。保存的浏览器配置文件包含你的会话 Cookie,切勿分享或提交。仅使用你有权操作的账号和活动。

安装

在 SourceWeft 中

  1. 打开 控制台中的 LinkedIn MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

LinkedIn MCP Server

[CI] [CodeQL] [PyPI] [Python 3.12–3.14] [License: Apache-2.0] [MCP Registry] [Glama] [OpenSSF Scorecard] [PyPI provenance] [Container provenance and SBOM]

Disclaimer: LinkedIn is a registered trademark of LinkedIn Corporation and its affiliates. LinkedIn MCP Server is an independent, unofficial project and is not affiliated with, endorsed by, sponsored by, or associated with LinkedIn Corporation or its affiliates.

A LinkedIn MCP server to find jobs, search people, research companies, manage your network, publish and engage with posts, and read or send messages.

⚡ Quickstart

1. Connect Claude Code

bash
claude mcp add --scope user --transport stdio linkedin-mcp -- \  uvx --from linkedin-mcp-local linkedin-mcp serve --transport stdio

2. Sign in to LinkedIn

Restart Claude Code. A dedicated browser window opens automatically—sign in to LinkedIn and complete any required verification.

[!NOTE] Your session is saved locally and reused automatically.

Supported platforms

The server runs natively on Windows, macOS, and Linux. CI executes the complete offline suite on Windows, macOS, Linux x86-64, and Linux ARM64. Browser and OS version requirements follow the official Playwright Python system requirements.

3. Try your first request

text
Find remote software engineering jobs in India posted on LinkedIn this week.

🛠️ Tools

[!TIP] Verified means the tool passed an end-to-end live compatibility test against LinkedIn's visible web UI on the date shown.

AreaFunctionMCP toolLinkedIn UI compatibilityWhat it does
JobsSearch jobslinkedin.jobs.search[LinkedIn UI compatibility]
[Compatibility check date]
Search by keywords, location, distance, date, workplace, experience, employment type, company, industry, function, title, benefits, Easy Apply, verification, applicant count, network, and other visible filters.
Read job detailslinkedin.jobs.get[LinkedIn UI compatibility]
[Compatibility check date]
Read the complete job description, company, application method, and visible hiring team.
PeopleSearch peoplelinkedin.people.search[LinkedIn UI compatibility]
[Compatibility check date]
Search by keywords, connection degree, hiring status, location, current or past company, title, school, industry, services, language, connections, and followers.
Read profileslinkedin.people.get[LinkedIn UI compatibility]
[Compatibility check date]
Read the complete visible profile or request selected sections such as About, experience, education, skills, projects, certifications, and recommendations.
CompaniesSearch companieslinkedin.companies.search[LinkedIn UI compatibility]
[Compatibility check date]
Search by keywords, headquarters, industry, size, available jobs, and first-degree connections.
Read company detailslinkedin.companies.get[LinkedIn UI compatibility]
[Compatibility check date]
Read Overview and About information, including website, headquarters, size, type, founding year, and specialties.
PostsSearch postslinkedin.posts.search[LinkedIn UI compatibility]
[Compatibility check date]
Search by keywords, date, content type, author, company, relationship, mentions, author industry, and other visible filters.
Read postslinkedin.posts.get[LinkedIn UI compatibility]
[Compatibility check date]
Read complete content, media, links, mentions, hashtags, reactions, and engagement.
Read discussionslinkedin.posts.comments.list[LinkedIn UI compatibility]
[Compatibility check date]
Read paginated comments, replies, attachments, and reactions.
Publish postslinkedin.posts.create[LinkedIn UI compatibility]
[Compatibility check date]
Publish supported personal text, link, image, video, document, poll, celebration, event, hiring, and expert-request posts.
Commentlinkedin.posts.comment[LinkedIn UI compatibility]
[Compatibility check date]
Add text, links, emoji, mentions, photos, or GIFs to posts.
Reactlinkedin.posts.react[LinkedIn UI compatibility]
[Compatibility check date]
Add, change, or remove reactions on posts.
NetworkList connectionslinkedin.connections.list[LinkedIn UI compatibility]
[Compatibility check date]
Browse established first-degree connections with sorting and pagination.
Search connectionslinkedin.connections.search[LinkedIn UI compatibility]
[Compatibility check date]
Search existing connections using applicable People filters.
List invitationslinkedin.invitations.list[LinkedIn UI compatibility]
[Compatibility check date]
Browse received and sent invitations using LinkedIn's visible filters.
Send invitationslinkedin.invitations.send[Not checked]Send connection requests with optional notes.
Accept invitationslinkedin.invitations.accept[Not checked]Accept incoming connection requests.
Ignore invitationslinkedin.invitations.ignore[Not checked]Ignore incoming connection requests.
MessagingSearch messageslinkedin.messaging.search[LinkedIn UI compatibility]
[Compatibility check date]
Search by recipient or message text using inbox categories and filters.
Read conversationslinkedin.messaging.conversation.get[LinkedIn UI compatibility]
[Compatibility check date]
Read message history, replies, edits, reactions, and attachments.
Send messageslinkedin.messaging.send[LinkedIn UI compatibility]
[Compatibility check date]
Send or reply in one-to-one conversations with text, links, emoji, files, images, and GIFs.
ServerCheck runtimelinkedin.server.status[LinkedIn UI compatibility]
[Compatibility check date]
Inspect the shared runtime, queue, and active browser operation.
Check LinkedIn sessionlinkedin.session.status[LinkedIn UI compatibility]
[Compatibility check date]
Inspect browser-profile, authentication, login, and pause state.
List capabilitieslinkedin.capabilities.list[LinkedIn UI compatibility]
[Compatibility check date]
Inspect available capabilities, versions, read/write effects, and required LinkedIn surfaces.

NOT CHECKED tools remain covered by the offline simulator on every pull request.

See the capability matrix for exact filters, supported formats, inputs, outputs, limits, and unsupported features.

📦 Installation

Claude Code
bash
claude mcp add --scope user --transport stdio linkedin-mcp -- \  uvx --from linkedin-mcp-local linkedin-mcp serve --transport stdio

Check it with claude mcp list. See the Claude Code MCP documentation.

Claude Desktop

[Download for Claude Desktop]

Download the .mcpb file, then open Settings → Extensions → Advanced settings → Install Extension. See Claude Desktop's extension documentation.

Codex and ChatGPT Desktop
bash
codex mcp add linkedin-mcp -- \  uvx --from linkedin-mcp-local linkedin-mcp serve --transport stdio

Check it with codex mcp list. Codex CLI, the Codex IDE extension, and ChatGPT Desktop share this local configuration. Restart the client after adding it. See the Codex MCP documentation.

VS Code and GitHub Copilot

[Install in VS Code] [Install in VS Code Insiders]

Or add this to .vscode/mcp.json:

json
{  "servers": {    "linkedin-mcp": {      "command": "uvx",      "args": ["--from", "linkedin-mcp-local", "linkedin-mcp", "serve", "--transport", "stdio"]    }  }}

See the VS Code MCP documentation.

Cursor

[Install in Cursor]

For manual setup, open Cursor Settings → MCP → Add new MCP server, set the command to uvx, and set the arguments to --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the Cursor MCP documentation.

Gemini CLI

In ~/.gemini/settings.json, add a local server named linkedin-mcp under mcpServers with command uvx and arguments --from linkedin-mcp-local linkedin-mcp serve --transport stdio, then run gemini mcp list. See the Gemini CLI MCP documentation.

Windsurf

Open Settings → AI → Manage MCP Servers, or add a local server named linkedin-mcp to ~/.codeium/windsurf/mcp_config.json with command uvx and arguments --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the Windsurf MCP documentation.

Cline

Open MCP Servers → Configure, then add a local server named linkedin-mcp with command uvx and arguments --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the Cline MCP documentation.

Roo Code

Open Roo Code's MCP settings and add a local server named linkedin-mcp to the global file or .roo/mcp.json, using command uvx and arguments --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the Roo Code MCP documentation.

Zed

Add this to Zed settings:

json
{  "context_servers": {    "linkedin-mcp": {      "command": "uvx",      "args": ["--from", "linkedin-mcp-local", "linkedin-mcp", "serve", "--transport", "stdio"]    }  }}

See the Zed MCP documentation.

Goose

[Install in Goose]

Or add a custom stdio extension with command uvx and arguments --from linkedin-mcp-local linkedin-mcp serve --transport stdio, or start one CLI session with:

bash
goose session --with-extension \  "uvx --from linkedin-mcp-local linkedin-mcp serve --transport stdio"

See the Goose documentation.

OpenCode

For OpenCode v2, add this to opencode.json:

json
{  "$schema": "https://opencode.ai/config.json",  "mcp": {    "servers": {      "linkedin-mcp": {        "type": "local",        "command": ["uvx", "--from", "linkedin-mcp-local", "linkedin-mcp", "serve", "--transport", "stdio"]      }    }  }}

See the OpenCode MCP documentation.

JetBrains AI Assistant

Open Settings → Tools → AI Assistant → Model Context Protocol (MCP), click Add, set the command to uvx, and set the arguments to --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the JetBrains MCP documentation.

Continue

Create .continue/mcpServers/linkedin-mcp.json with a local server named linkedin-mcp, command uvx, and arguments --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the Continue MCP documentation.

Warp

Open Settings → AI → Manage MCP Servers → Add, name the server linkedin-mcp, set the command to uvx, and set the arguments to --from linkedin-mcp-local linkedin-mcp serve --transport stdio. See the Warp MCP documentation.

💡 Examples

Find jobs

text
Find remote software engineering jobs in India posted on LinkedIn this week with Easy Apply.

Research people

text
Find LinkedIn profiles for engineering managers at Stripe in India and show me their relevant experience.

Research companies

text
Find fintech companies in Bengaluru on LinkedIn with 51–200 employees and summarize each company.

Explore posts

text
Find recent LinkedIn posts about AI agents and summarize the most useful discussions.

Manage your network

text
Show my latest received connection requests on LinkedIn.
text
Send a LinkedIn connection request to <profile URL> with the note <note>.

Send messages

text
Send <message> on LinkedIn to <profile URL>.

🏗️ Architecture

text
[Claude | Codex | Cursor | ...]               |       stdio / loopback HTTP               v      [Typed MCP boundary]               |               v       [Fair queue + pacing]               |      one operation at a time               v[Capability executor] ---> [Process-local calls, cursors, evidence]               |               v      [Capability page objects]               |               v[Browser manager: fresh page per call] <--> [Persistent auth profile]               |        visible web UI only               v           [LinkedIn]

Everything runs locally. There is no hosted backend, telemetry, database, external queue, LangGraph runtime, or credential service. Browser cookies live only in the local Playwright profile. The first client starts one shared local runtime; later clients attach to it, and fair scheduling gives each client a turn between complete tool calls. Operation state lasts only for that runtime. Read the full architecture and privacy policy.

🔒 Privacy Policy

The server has no maintainer-operated backend, analytics, advertising, or telemetry. LinkedIn receives normal visible-UI requests, and the invoking MCP client receives tool results under its own data policy; the project sends nothing to the maintainer. Read the complete privacy policy for processing, storage, sharing, retention, and deletion details.

🛡️ Safety

Use of this software is at your own risk. You are solely responsible for complying with LinkedIn's User Agreement, applicable laws, and third-party rights. LinkedIn may limit or restrict accounts that use prohibited automation. The maintainers do not authorize spam, unauthorized data collection, privacy violations, or circumvention of access controls.

  • Use only accounts and activity you are authorized to operate.
  • The server pauses on authentication expiry, checkpoints, restriction pages, permission failures, and configuration errors.
  • It does not implement CAPTCHA bypass, proxy rotation, fingerprint spoofing, credential harvesting, stealth plugins, or private LinkedIn endpoints.
  • Never commit or share the persistent browser profile or local assets.

See SECURITY.md and the security design.

📚 More documentation

❤️ Support the project

If LinkedIn MCP Server is useful to you:

🌐 Let's connect

Have feedback or an idea for LinkedIn MCP Server?

⚖️ License

Licensed under the Apache License 2.0.

来源:README.md,提交 0027edc

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.16.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分