使用说明
LinkedIn MCP服务器
通过这个LinkedIn MCP服务器,像克劳德这样的人工智能助手可以连接到你的LinkedIn。访问个人资料和公司,搜索工作或获取工作详细信息。
安装方法
https://github.com/user-attachments/assets/eb84419a-6eaf-47bd-ac52-37bc59c83680
用法示例
Research the background of this candidate https://www.linkedin.com/in/stickerdaniel/
Get this company profile for partnership discussions https://www.linkedin.com/company/inframs/
Suggest improvements for my CV to target this job posting https://www.linkedin.com/jobs/view/4252026496
What has Anthropic been posting about recently? https://www.linkedin.com/company/anthropicresearch/
功能和工具状态
| 工具 | 描述 | 状态 |
|---|---|---|
get_person_profile |
通过明确的部分选择(经验、教育、兴趣、荣誉、语言、contact_info、帖子)获取个人资料信息 | 工作 |
connect_with_person |
发送连接请求或接受传入请求,并附上可选注释 | 正在工作 |
get_sidebar_profiles |
从个人资料页面上的侧边栏推荐部分(“为您提供更多个人资料”、“探索高级个人资料”和“您可能认识的人”)提取个人资料URL | 正在工作 |
get_inbox |
列出LinkedIn消息收件箱中最近的对话 | 正在工作 |
get_conversation |
通过用户名或线程ID读取特定的消息对话 | 正在工作 |
search_conversations |
按关键字搜索邮件 | 正在工作 |
send_message |
向LinkedIn用户发送消息(需要确认) | 正在工作 |
get_company_profile |
通过明确的部门选择(职位、工作)提取公司信息 | 工作 |
get_company_posts |
从公司的LinkedIn订阅源获取最新帖子 | 正在工作 |
search_jobs |
使用关键字和位置过滤器搜索工作 | 正在工作 |
search_people |
按关键字和位置搜索人员 | 工作 |
get_job_details |
获取特定职位发布的详细信息 | 工作 |
close_session |
关闭浏览器会话并清理资源 | 正在工作 |
[!重要] 突破性变化: LinkedIn最近进行了一些更改以防止抓取。最新版本使用 Patchright 使用持久的浏览器配置文件,而不是使用会话文件的Playwright。老的
session.json文件和LINKEDIN_COOKIE不再支持env变量。跑--login再次创建一个可以挂载到docker中的新profile+cookie文件。 02/2026
🚀 uvx设置(推荐-通用)
先决条件: 安装uv.
安装
客户端配置
{
"mcpServers": {
"linkedin": {
"command": "uvx",
"args": ["linkedin-scraper-mcp"]
}
}
}
服务器快速启动,在后台准备共享的Patchright Chromium浏览器缓存 ~/.linkedin-mcp/patchright-browsers,并在需要身份验证的第一个工具调用上打开LinkedIn登录浏览器窗口。
[!注意] 在浏览器设置或登录完成之前,早期的工具调用可能会返回正在进行的设置/身份验证错误。如果您希望显式创建会话,请运行
uvx linkedin-scraper-mcp --login.
uvx设置帮助
🔧 Configuration
运输方式:
- 默认值(stdio):本地MCP服务器的标准通信
- 可流式传输的HTTP:用于基于web的MCP服务器
- 如果未指定传输,则服务器默认为
stdio - 没有显式传输的交互式终端显示选择器提示
CLI选项:
--login-打开浏览器登录并保存持久配置文件--no-headless-显示浏览器窗口(用于调试抓取问题)--log-level {DEBUG,INFO,WARNING,ERROR}-设置日志记录级别(默认值:警告)--transport {stdio,streamable-http}-可选:强制传输模式(默认:stdio)--host HOST-HTTP服务器主机(默认值:127.0.0.1)--port PORT-HTTP服务器端口(默认值:8000)--path PATH-HTTP服务器路径(默认值:/mcp)--logout-清除存储的LinkedIn浏览器配置文件--timeout MS-页面操作的浏览器超时时间(毫秒)(默认值:5000)--user-data-dir PATH-持久浏览器配置文件目录的路径(默认:~/.llinkedin mcp/profile)--chrome-path PATH-Chrome/Chromium可执行文件的路径(用于自定义浏览器安装)
基本用法示例:
# Run with debug logging
uvx linkedin-scraper-mcp --log-level DEBUG
HTTP模式示例(适用于基于web的MCP客户端):
uvx linkedin-scraper-mcp --transport streamable-http --host 127.0.0.1 --port 8080 --path /mcp
运行时服务器日志由FastMCP/Uvicorn发出。
工具调用在单个服务器进程中序列化,以保护共享
LinkedIn浏览器会话。并发客户端请求队列,而不是在中运行
平行。使用 --log-level DEBUG 查看刮刀锁等待/获取/释放日志。
使用mcp检查员进行测试:
- 安装并运行mcp检查器
bunx @modelcontextprotocol/inspector - 点击预先填写的令牌url,在浏览器中打开检查器
- 选择
Streamable HTTP作为Transport Type - 集
URL到http://localhost:8080/mcp - 连接
- 测试工具
❗ Troubleshooting
安装问题:
- 确保您已安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh - 检查紫外线版本:
uv --version(应为0.4.0或更高)
会议议题:
- 浏览器配置文件存储在
~/.linkedin-mcp/profile/ - 托管浏览器下载缓存在
~/.linkedin-mcp/patchright-browsers/ - 确保你一次只有一个活动的LinkedIn会话
登录问题:
- LinkedIn可能需要在LinkedIn移动应用程序中进行登录确认
--login - 如果你经常登录,你可能会收到验证码挑战。跑
uvx linkedin-scraper-mcp --login这将打开一个浏览器,您可以在其中手动解决它。
超时问题:
- 如果页面加载失败或找不到元素,请尝试增加超时时间:
--timeout 10000 - 慢速连接的用户可能需要更高的值(例如15000-30000ms)
- 也可以通过环境变量设置:
TIMEOUT=10000
自定义Chrome路径:
- 如果Chrome安装在非标准位置,请使用
--chrome-path /path/to/chrome - 也可以通过环境变量设置:
CHROME_PATH=/path/to/chrome
📦 Claude桌面MCP捆绑包(前身为DXT)
先决条件: 克劳德桌面.
一键安装 对于Claude Desktop用户:
- 下载最新版
.mcpb文物来自 发布 - 点击下载
.mcpb将其安装到Claude Desktop的文件 - 调用任何LinkedIn工具
启动时,MCP Bundle开始在后台准备共享的Patchright Chromium浏览器缓存。如果您过早调用工具,Claude将显示正在进行的设置错误。在第一次需要身份验证的工具调用中,服务器会打开一个LinkedIn登录浏览器窗口,并要求您在登录后重试。
MCP捆绑包设置帮助
❗ Troubleshooting
首次设置行为:
- Claude Desktop立即启动捆绑包;浏览器设置在后台继续
- 如果Patchright Chromium浏览器仍在下载,请在短暂等待后重试该工具
- 托管浏览器下载共享于
~/.linkedin-mcp/patchright-browsers/
登录问题:
- 确保你一次只有一个活动的LinkedIn会话
- LinkedIn可能需要在LinkedIn移动应用程序中进行登录确认
--login - 如果你经常登录,你可能会收到验证码挑战。跑
uvx linkedin-scraper-mcp --login这将打开一个浏览器,您可以在其中手动解决验证码。看 uvx设置 先决条件。
超时问题:
- 如果页面加载失败或找不到元素,请尝试增加超时时间:
--timeout 10000 - 慢速连接的用户可能需要更高的值(例如15000-30000ms)
- 也可以通过环境变量设置:
TIMEOUT=10000
🐳 Docker设置
先决条件: 确保你有 码头工人 已安装并正在运行,以及 紫外线 一次性安装在主机上 --login 步骤。
认证
Docker无头运行(无浏览器窗口),因此您需要首先在本地创建浏览器配置文件并将其挂载到容器中。
步骤1:在主机上创建配置文件(一次性设置)
uvx linkedin-scraper-mcp --login
这将打开一个浏览器窗口,您可以在其中手动登录(2FA、验证码等超时5分钟)。浏览器配置文件和Cookie保存在 ~/.linkedin-mcp/启动时,Docker从您的主机Cookie中导出Linux浏览器配置文件,并每次创建一个新的会话。如果你遇到Docker的稳定性问题,可以考虑使用 uvx设置 相反。
步骤2:使用Docker配置Claude桌面
{
"mcpServers": {
"linkedin": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "~/.linkedin-mcp:/home/pwuser/.linkedin-mcp",
"stickerdaniel/linkedin-mcp-server:latest"
]
}
}
}
[!注意] Docker在每次启动时都会创建一个新的会话。会话可能会随着时间的推移而过期--运行
uvx linkedin-scraper-mcp --login再次,如果您遇到身份验证问题。
[!注意] 为什么我不能跑
--loginDocker? Docker容器没有显示服务器。使用在主机上创建配置文件 uvx设置 并将其挂载到Docker中。
Docker安装帮助
🔧 Configuration
运输方式:
- 默认值(stdio):本地MCP服务器的标准通信
- 可流式传输的HTTP:用于基于web的MCP服务器
- 如果未指定传输,则服务器默认为
stdio - 没有显式传输的交互式终端显示选择器提示
CLI选项:
--log-level {DEBUG,INFO,WARNING,ERROR}-设置日志记录级别(默认值:警告)--transport {stdio,streamable-http}-可选:强制传输模式(默认:stdio)--host HOST-HTTP服务器主机(默认值:127.0.0.1)--port PORT-HTTP服务器端口(默认值:8000)--path PATH-HTTP服务器路径(默认值:/mcp)--logout-清除所有存储的LinkedIn身份验证状态,包括源和派生的运行时配置文件--timeout MS-页面操作的浏览器超时时间(毫秒)(默认值:5000)--user-data-dir PATH-持久浏览器配置文件目录的路径(默认:~/.llinkedin mcp/profile)--chrome-path PATH-Chrome/Chromium可执行文件的路径(Docker中很少需要)
[!注意]
--login和--no-headless在Docker中不可用(无显示服务器)。使用 uvx设置 创建配置文件。
HTTP模式示例(适用于基于web的MCP客户端):
docker run -it --rm \
-v ~/.linkedin-mcp:/home/pwuser/.linkedin-mcp \
-p 8080:8080 \
stickerdaniel/linkedin-mcp-server:latest \
--transport streamable-http --host 0.0.0.0 --port 8080 --path /mcp
运行时服务器日志由FastMCP/Uvicorn发出。
使用mcp检查员进行测试:
- 安装并运行mcp检查器
bunx @modelcontextprotocol/inspector - 点击预先填写的令牌url,在浏览器中打开检查器
- 选择
Streamable HTTP作为Transport Type - 集
URL到http://localhost:8080/mcp - 连接
- 测试工具
❗ Troubleshooting
Docker问题:
- 确保 码头工人 已安装
- 检查Docker是否正在运行:
docker ps
登录问题:
- 确保你一次只有一个活动的LinkedIn会话
- LinkedIn可能需要在LinkedIn移动应用程序中进行登录确认
--login - 如果你经常登录,你可能会收到验证码挑战。跑
uvx linkedin-scraper-mcp --login这将打开一个浏览器,您可以在其中手动解决验证码。看 uvx设置 先决条件。 - 如果Docker auth在您重新登录主机后变得过时,请重新启动Docker一次,以便它可以从新的源会话生成中刷新网桥。
超时问题:
- 如果页面加载失败或找不到元素,请尝试增加超时时间:
--timeout 10000 - 慢速连接的用户可能需要更高的值(例如15000-30000ms)
- 也可以通过环境变量设置:
TIMEOUT=10000
自定义Chrome路径:
- 如果Chrome安装在非标准位置,请使用
--chrome-path /path/to/chrome - 也可以通过环境变量设置:
CHROME_PATH=/path/to/chrome
🐍 本地设置(开发和贡献)
欢迎投稿!看 贡献.md 获取架构指南和检查表。请 打开一个问题 在提交PR之前,先讨论功能或错误修复。
安装
# 1. Clone repository
git clone https://github.com/stickerdaniel/linkedin-mcp-server
cd linkedin-mcp-server
# 2. Install UV package manager (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 3. Install dependencies
uv sync
uv sync --group dev
# 4. Install pre-commit hooks
uv run pre-commit install
# 5. Start the server
uv run -m linkedin_mcp_server
本地服务器使用与MCPB相同的托管运行时流 uvx:它在后台准备Patchright Chromium浏览器缓存,并在第一次需要身份验证的工具调用时打开LinkedIn登录。你仍然可以跑 uv run -m linkedin_mcp_server --login 当您想显式创建会话时。
本地安装帮助
🔧 Configuration
CLI选项:
--login-打开浏览器登录并保存持久配置文件--no-headless-显示浏览器窗口(用于调试抓取问题)--log-level {DEBUG,INFO,WARNING,ERROR}-设置日志记录级别(默认值:警告)--transport {stdio,streamable-http}-可选:强制传输模式(默认:stdio)--host HOST-HTTP服务器主机(默认值:127.0.0.1)--port PORT-HTTP服务器端口(默认值:8000)--path PATH-HTTP服务器路径(默认值:/mcp)--logout-清除存储的LinkedIn浏览器配置文件--timeout MS-页面操作的浏览器超时时间(毫秒)(默认值:5000)--status-检查当前会话是否有效并退出--user-data-dir PATH-持久浏览器配置文件目录的路径(默认:~/.llinkedin mcp/profile)--slow-mo MS-浏览器操作之间的延迟(毫秒)(默认值:0,可用于调试)--user-agent STRING-自定义浏览器用户代理--viewport WxH-浏览器视口大小(默认值:1280x720)--chrome-path PATH-Chrome/Chromium可执行文件的路径(用于自定义浏览器安装)--help-显示帮助
注: 大多数CLI选项都有环境变量等效项。看
.env.example了解详情。
HTTP模式示例(适用于基于web的MCP客户端):
uv run -m linkedin_mcp_server --transport streamable-http --host 127.0.0.1 --port 8000 --path /mcp
克劳德桌面:
{
"mcpServers": {
"linkedin": {
"command": "uv",
"args": ["--directory", "/path/to/linkedin-mcp-server", "run", "-m", "linkedin_mcp_server"]
}
}
}
stdio 默认情况下用于此配置。
❗ Troubleshooting
登录问题:
- 确保你一次只有一个活动的LinkedIn会话
- LinkedIn可能需要在LinkedIn移动应用程序中进行登录确认
--login - 如果你经常登录,你可能会收到验证码挑战。这
--login命令打开一个浏览器,您可以在其中手动解决它。
报废问题:
- 使用
--no-headless查看浏览器操作并调试抓取问题 - 添加
--log-level DEBUG查看更详细的日志记录
会议议题:
- 浏览器配置文件存储在
~/.linkedin-mcp/profile/ - 使用
--logout清除配置文件并重新开始
Python/Patchright问题:
- 检查Python版本:
python --version(应为3.12+) - 重新安装Patchright:
uv run patchright install chromium - 重新安装依赖关系:
uv sync --reinstall
超时问题:
- 如果页面加载失败或找不到元素,请尝试增加超时时间:
--timeout 10000 - 慢速连接的用户可能需要更高的值(例如15000-30000ms)
- 也可以通过环境变量设置:
TIMEOUT=10000
自定义Chrome路径:
- 如果Chrome安装在非标准位置,请使用
--chrome-path /path/to/chrome - 也可以通过环境变量设置:
CHROME_PATH=/path/to/chrome
致谢
内置于 FastMCP 和 Patchright.
按照以下要求使用 LinkedIn的服务条款网络抓取可能违反LinkedIn的条款。此工具仅供个人使用。
许可证
此项目根据Apache 2.0许可证获得许可。