LinkedIn数据采集服务器

通过Docker容器运行的LinkedIn数据采集服务,支持获取个人档案、公司信息、职位推荐及搜索功能,适用于AI助手集成。

  • by diegofornalha
  • Python
  • 混合部署
  • 1 星标
  • 更新于
在 GitHub 查看 diegofornalha/linkedin-mcp-server-20x

使用说明

LinkedIn MCP服务器

通过这个LinkedIn MCP服务器,像克劳德这样的人工智能助手可以连接到你的LinkedIn。允许访问个人资料和公司,获得推荐的工作,或搜索关键字。所有这些都来自您机器上的Docker容器。

📖 文档

安装方法

https://github.com/user-attachments/assets/eb84419a-6eaf-47bd-ac52-37bc59c83680

用法示例

What are my recommended jobs I can apply to?
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

功能和工具状态

[!提示]

  • 轮廓报废 (get_person_profile):从领英个人资料中获取详细信息,包括工作经历、教育、技能和人脉
  • 公司分析 (get_company_profile):从LinkedIn公司简介名称中提取全面的公司信息
  • 职位详情 (get_job_details):使用LinkedIn职位ID检索特定的职位发布详细信息
  • 求职 (search_jobs):使用关键字和位置等过滤器搜索工作
  • 推荐工作 (get_recommended_jobs):根据您的个人资料获得个性化的工作推荐
  • 会话管理 (close_session):正确关闭浏览器会话并清理资源

[!注意] 2025年7月:所有工具目前都能正常工作并得到积极维护。如果您遇到任何问题,请在 GitHub问题.



🐳 Docker安装程序(推荐-通用)

先决条件: 确保你有 码头工人 安装并运行。

安装

客户端配置:

{
  "mcpServers": {
    "linkedin": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "LINKEDIN_COOKIE",
        "stickerdaniel/linkedin-mcp-server:latest"
      ],
      "env": {
        "LINKEDIN_COOKIE": "li_at=YOUR_COOKIE_VALUE"
      }
    }
  }
}

获取LinkedIn Cookie

🌐 Chrome DevTools Guide
  1. 打开LinkedIn并登录
  2. 打开Chrome DevTools(F12或右键单击→ 检查)
  3. 首选 应用 > 存储 > Cookie > https://www.linkedin.com
  4. 查找名为的cookie li_at
  5. 复制 价值 字段(这是您的LinkedIn会话cookie)
  6. 使用此值作为您的 LINKEDIN_COOKIE 在配置中
🐳 Docker get-cookie method

使用运行服务器 --get-cookie 标志:

docker run -it --rm \
  stickerdaniel/linkedin-mcp-server:latest \
  --get-cookie

从输出中复制cookie并将其设置为 LINKEDIN_COOKIE 在您的客户端配置中。如果验证码挑战失败,请使用上述方法。

[!注意] cookie将在接下来的30天内过期。只需获取新的cookie并更新您的客户端配置。您还可以使用许多cookie管理器扩展来快速复制cookie。

Docker安装帮助

🔧 Configuration

运输方式:

  • 默认值(stdio):本地MCP服务器的标准通信
  • 流式HTTP:用于基于web的MCP服务器

CLI选项:

  • --log-level {DEBUG,INFO,WARNING,ERROR} -设置日志记录级别(默认值:警告)
  • --no-lazy-init -立即登录LinkedIn,而不是等待第一次工具调用
  • --transport {stdio,streamable-http} -设置运输模式
  • --host HOST -HTTP服务器主机(默认值:127.0.0.1)
  • --port PORT -HTTP服务器端口(默认值:8000)
  • --path PATH -HTTP服务器路径(默认值:/mcp)
  • --get-cookie -尝试使用电子邮件和密码登录并提取LinkedIn cookie
  • --cookie {cookie} -通过特定的LinkedIn cookie登录
  • --user-agent {user_agent} -指定自定义用户代理字符串以防止反抓取检测

HTTP模式示例(适用于基于web的MCP客户端):

docker run -it --rm \
  -e LINKEDIN_COOKIE="li_at=YOUR_COOKIE_VALUE" \
  -p 8080:8080 \
  stickerdaniel/linkedin-mcp-server:latest \
  --transport streamable-http --host 0.0.0.0 --port 8080 --path /mcp

使用mcp检查员进行测试:

  1. 安装并运行mcp检查器 bunx @modelcontextprotocol/inspector
  2. 点击预先填写的令牌url,在浏览器中打开检查器
  3. 选择 Streamable HTTP 作为 Transport Type
  4. 集 URL 到 http://localhost:8080/mcp
  5. 连接
  6. 测试工具
❗ Troubleshooting

Docker问题:

  • 确保 码头工人 已安装
  • 检查Docker是否正在运行: docker ps

登录问题:

  • 确保您的LinkedIn cookie设置正确
  • 确保每个cookie一次只有一个活动的LinkedIn会话。尝试使用同一cookie打开多个会话将导致cookie无效错误。
  • 领英可能需要在领英移动应用程序中进行登录确认,以获取cookie
  • 如果您在短时间内多次登录,可能会遇到验证码挑战,请稍后重试或按照以下步骤操作 本地设置说明 在无头模式下手动运行服务器,您可以在该模式下调试登录过程(手动解决验证码)


📦 克劳德桌面(DXT扩展)

先决条件: 克劳德桌面 和 码头工人 安装

一键安装 对于Claude Desktop用户:

  1. 下载 DXT扩展
  2. 双击安装到Claude Desktop
  3. 在扩展设置中设置您的LinkedIn cookie

获取LinkedIn Cookie

🌐 Chrome DevTools Guide
  1. 打开LinkedIn并登录
  2. 打开Chrome DevTools(F12或右键单击→ 检查)
  3. 首选 应用 > 存储 > Cookie > https://www.linkedin.com
  4. 查找名为的cookie li_at
  5. 复制 价值 字段(这是您的LinkedIn会话cookie)
  6. 使用此值作为您的 LINKEDIN_COOKIE 在配置中
🐳 Docker get-cookie method

使用运行服务器 --get-cookie 标志:

docker run -it --rm \
  stickerdaniel/linkedin-mcp-server:latest \
  --get-cookie

从输出中复制cookie并将其设置为 LINKEDIN_COOKIE 在您的客户端配置中。如果验证码挑战失败,请使用上述方法。

[!注意] cookie将在接下来的30天内过期。只需获取新的cookie并更新您的客户端配置。您还可以使用许多cookie管理器扩展来快速复制cookie。

DXT扩展设置帮助

❗ Troubleshooting

Docker问题:

  • 确保 码头工人 已安装
  • 检查Docker是否正在运行: docker ps

登录问题:

  • 确保您的LinkedIn cookie设置正确
  • 确保每个cookie一次只有一个活动的LinkedIn会话。尝试使用同一cookie打开多个会话将导致cookie无效错误。
  • 领英可能需要在领英移动应用程序中进行登录确认,以获取cookie
  • 如果您在短时间内多次登录,可能会遇到验证码挑战,请稍后重试或按照以下步骤操作 本地设置说明 在无头模式下手动运行服务器,您可以在该模式下调试登录过程(手动解决验证码)


🚀 uvx设置(快速安装-通用)

先决条件: 确保你有 紫外线 安装。

安装

直接从GitHub运行,无需克隆:

# Run directly from GitHub (latest version)
uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server --help

# Run with your LinkedIn cookie
uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server --cookie "li_at=YOUR_COOKIE_VALUE"

获取LinkedIn Cookie

🌐 Chrome DevTools Guide
  1. 打开LinkedIn并登录
  2. 打开Chrome DevTools(F12或右键单击→ 检查)
  3. 首选 应用 > 存储 > Cookie > https://www.linkedin.com
  4. 查找名为的cookie li_at
  5. 复制 价值 字段(这是您的LinkedIn会话cookie)
  6. 使用此值作为您的 LINKEDIN_COOKIE 在配置中
🚀 uvx get-cookie method

使用运行服务器 --get-cookie 标志:

uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server \
  linkedin-mcp-server --get-cookie

从输出中复制cookie并将其设置为 LINKEDIN_COOKIE 在您的客户端配置中。如果验证码挑战失败,请使用上述方法。

[!注意] cookie将在接下来的30天内过期。只需获取新的cookie并更新您的客户端配置。您还可以使用许多cookie管理器扩展来快速复制cookie。

uvx设置帮助

🔧 Configuration

客户端配置:

{
  "mcpServers": {
    "linkedin": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/stickerdaniel/linkedin-mcp-server",
        "linkedin-mcp-server"
      ],
      "env": {
        "LINKEDIN_COOKIE": "li_at=YOUR_COOKIE_VALUE"
      }
    }
  }
}

运输方式:

  • 默认值(stdio):本地MCP服务器的标准通信
  • 流式HTTP:用于基于web的MCP服务器

CLI选项:

  • --log-level {DEBUG,INFO,WARNING,ERROR} -设置日志记录级别(默认值:警告)
  • --no-lazy-init -立即登录LinkedIn,而不是等待第一次工具调用
  • --transport {stdio,streamable-http} -设置运输模式
  • --host HOST -HTTP服务器主机(默认值:127.0.0.1)
  • --port PORT -HTTP服务器端口(默认值:8000)
  • --path PATH -HTTP服务器路径(默认值:/mcp)
  • --get-cookie -尝试使用电子邮件和密码登录并提取LinkedIn cookie
  • --cookie {cookie} -通过特定的LinkedIn cookie登录
  • --user-agent {user_agent} -指定自定义用户代理字符串以防止反抓取检测

基本用法示例:

# Run with cookie from environment variable
LINKEDIN_COOKIE="YOUR_COOKIE_VALUE" uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server

# Run with cookie via flag
uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server --cookie "YOUR_COOKIE_VALUE"

# Run with debug logging
uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server --log-level DEBUG

# Extract cookie with credentials
uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server --get-cookie

HTTP模式示例(适用于基于web的MCP客户端):

uvx --from git+https://github.com/stickerdaniel/linkedin-mcp-server linkedin-mcp-server \
  --transport streamable-http --host 127.0.0.1 --port 8080 --path /mcp

使用mcp检查员进行测试:

  1. 安装并运行mcp检查器 bunx @modelcontextprotocol/inspector
  2. 点击预先填写的令牌url,在浏览器中打开检查器
  3. 选择 Streamable HTTP 作为 Transport Type
  4. 集 URL 到 http://localhost:8080/mcp
  5. 连接
  6. 测试工具
❗ Troubleshooting

安装问题:

  • 确保您已安装紫外线: curl -LsSf https://astral.sh/uv/install.sh | sh
  • 检查紫外线版本: uv --version (应为0.4.0或更高)

Cookie问题:

  • 确保您的LinkedIn cookie设置正确
  • Cookie可以通过以下方式传递 --cookie 旗帜或 LINKEDIN_COOKIE 环境变量
  • 确保每个cookie一次只有一个活动的LinkedIn会话

登录问题:

  • 领英可能需要在领英移动应用程序中进行登录确认,以获取cookie
  • 如果你在短时间内多次登录,你可能会遇到验证码挑战


🐍 本地设置(开发和贡献)

先决条件: Chrome浏览器 和 Git 安装

ChromeDriver设置:

  1. 检查Chrome版本:铬→ 菜单(⋮)→帮助→ 关于谷歌Chrome
  2. 下载匹配的ChromeDriver: 测试用Chrome
  3. 使其易于访问:
    • 将ChromeDriver放置在PATH中(/usr/local/bin 在macOS/Linux上)
    • 或设置: export CHROMEDRIVER_PATH=/path/to/chromedriver
    • 如果没有设置CHROMEDRIVER_PATH,服务器将尝试通过检查公共位置自动找到它

安装

# 1. Clone repository
git clone https://github.com/stickerdaniel/linkedin-mcp-server
cd linkedin-mcp-server

# 2. Install UV package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python # install python if you don't have it

# 3. Install dependencies and dev dependencies
uv sync
uv sync --group dev

# 4. Install pre-commit hooks
uv run pre-commit install

# 5. Start the server once manually
# You will be prompted to enter your LinkedIn credentials, and they will be securely stored in your OS keychain
# Once logged in, your cookie will be stored in your OS keychain and used for subsequent runs until it expires
uv run -m linkedin_mcp_server --no-headless --no-lazy-init

本地安装帮助

🔧 Configuration

CLI选项:

  • --no-headless -显示浏览器窗口(调试)
  • --log-level {DEBUG,INFO,WARNING,ERROR} -设置日志记录级别(默认值:警告)
  • --no-lazy-init -立即登录LinkedIn,而不是等待第一次工具调用
  • --get-cookie -使用电子邮件和密码登录并提取LinkedIn cookie
  • --clear-keychain -从系统钥匙链中清除所有存储的LinkedIn凭据和Cookie
  • --cookie {cookie} -通过特定的LinkedIn cookie登录
  • --user-agent {user_agent} -指定自定义用户代理字符串以防止反抓取检测
  • --transport {stdio,streamable-http} -设置运输模式
  • --host HOST -HTTP服务器主机(默认值:127.0.0.1)
  • --port PORT -HTTP服务器端口(默认值:8000)
  • --path PATH -HTTP服务器路径(默认值:/mcp)
  • --help -显示帮助

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"]
    }
  }
}
❗ Troubleshooting

登录/报废问题:

  • 使用 --no-headless 查看浏览器操作(验证码挑战、领英移动应用2fa等)
  • 添加 --no-lazy-init 尝试立即登录LinkedIn,而不是等待第一次工具调用
  • 添加 --log-level DEBUG 查看更详细的日志记录
  • 确保每个cookie一次只有一个活动的LinkedIn会话。尝试使用同一cookie打开多个会话将导致cookie无效错误。例如,如果你有一个与docker容器登录的浏览器会话,当docker容器正在运行/会话未关闭时,你不能使用相同的cookie通过本地设置登录。

ChromeDriver问题:

  • 确保Chrome和ChromeDriver版本匹配
  • 检查ChromeDriver是否在PATH中或已设置 CHROMEDRIVER_PATH 在您的环境变量中

Python问题:

  • 检查Python版本: uv python --version (应为3.12+)
  • 重新安装依赖关系: uv sync --reinstall

请随意打开 问题 或 公关!



致谢

内置 LinkedIn Scraper 通过 @快乐主义 和 FastMCP.

⚠️ 按照以下要求使用 LinkedIn的服务条款网络抓取可能违反LinkedIn的条款。此工具仅供个人使用。

明星历史

许可证

此项目根据Apache 2.0许可证获得许可。