Linkedin Scraper Mcp

Linkedin Scraper Mcp

🚀 LinkedIn Scraper MCP Server

这是一个基于模型上下文协议(MCP)的服务器,支持手动输入凭据,能够对领英(LinkedIn)个人资料进行数据抓取。该服务器可提取包括工作经历、教育背景、技能和联系方式等在内的全面个人资料数据。

✨ 主要特性

  • 手动输入凭据:无需设置环境变量,可在工具调用时直接提供领英凭据。
  • 全面数据提取:可抓取姓名、职位、所在地、个人简介、工作经历、教育背景、技能和联系方式等信息。
  • 多种传输方式:支持HTTP(生产环境)和STDIO(开发环境)两种传输方式。
  • 浏览器自动化:使用Selenium WebDriver和Chrome浏览器进行可靠的数据抓取。
  • 反检测机制:包含模拟人类操作的延迟和浏览器设置,避免被检测。

📦 安装指南

  1. 安装依赖项
npm install
  1. 安装Chrome浏览器(若尚未安装):

    • 服务器使用Chrome WebDriver,该驱动将自动管理。
    • 确保系统已安装Chrome浏览器。
  2. 构建项目

npm run build

💻 使用示例

HTTP传输(推荐)

使用HTTP传输启动服务器:

npm start
# 或者
node dist/index.js

服务器默认在 http://localhost:8080 启动。

STDIO传输(开发环境)

在本地开发中使用STDIO传输:

npm run start:stdio
# 或者
node dist/index.js --stdio

命令行选项

  • --port :指定HTTP服务器端口(默认:8080)
  • --stdio:使用STDIO传输而非HTTP
  • --help:显示帮助信息

📚 详细文档

MCP客户端配置

将以下内容添加到你的MCP客户端配置中:

{
"mcpServers": {
"linkedin-scraper": {
"url": "http://localhost:8080/mcp"
}
}
}

可用工具

scrape_linkedin_profile

抓取领英个人资料并返回全面的个人资料数据。

参数

  • url(必需):领英个人资料URL(例如:"https://www.linkedin.com/in/username/")
  • email(必需):用于身份验证的领英账户电子邮件
  • password(必需):用于身份验证的领英账户密码
  • headless(可选):以无头模式运行浏览器(默认:false)

使用示例

{
"tool": "scrape_linkedin_profile",
"arguments": {
"url": "https://www.linkedin.com/in/johndoe/",
"email": "your-email@example.com",
"password": "your-password",
"headless": false
}
}

响应格式

{
"success": true,
"timestamp": "2024-01-01T12:00:00.000Z",
"profile": {
"url": "https://www.linkedin.com/in/johndoe/",
"name": "John Doe",
"headline": "Software Engineer at Tech Company",
"location": "San Francisco, CA",
"about": "Passionate software engineer...",
"experience_count": 3,
"experiences": [...],
"education_count": 2,
"education": [...],
"skills_count": 15,
"skills": [...],
"websites": [...],
"email": "john@example.com"
}
}

开发相关

项目结构

src/
├── index.ts            # 主入口点
├── cli.ts              # 命令行参数解析
├── config.ts           # 配置管理
├── server.ts           # 服务器实例创建
├── client.ts           # 领英数据抓取客户端
├── types.ts            # TypeScript类型定义
├── tools/
│   ├── index.ts        # 工具导出
│   └── linkedin.ts     # 领英数据抓取工具
└── transport/
├── index.ts        # 传输方式导出
├── http.ts         # HTTP传输
└── stdio.ts        # STDIO传输

构建项目

npm run build       # 单次构建
npm run watch       # 构建并监听文件变化

开发环境运行

npm run dev         # 构建并以HTTP传输方式运行
npm run dev:stdio   # 构建并以STDIO传输方式运行

安全注意事项

  • 凭据处理:领英凭据在工具调用时直接传递,不会被存储。
  • 速率限制:抓取器包含模拟人类操作的延迟,避免被封禁。
  • 浏览器设置:使用真实的浏览器设置,减少被检测的可能性。
  • 会话管理:每个抓取会话都是独立的,并能正确清理。

故障排除

常见问题

  1. Chrome驱动问题:服务器会自动管理Chrome WebDriver,但请确保已安装Chrome浏览器。
  2. 领英身份验证问题:如果身份验证失败:
    • 验证领英凭据是否正确。
    • 检查账户是否启用了双因素身份验证。
    • 尝试先手动登录以解决安全挑战。
  3. 抓取失败问题:如果抓取失败:
    • 尝试使用 headless: false 运行,查看具体情况。
    • 检查领英页面结构是否已更新。
    • 确保网络连接稳定。
  4. 端口冲突问题:如果端口8080已被使用:
node dist/index.js --port 3000

环境变量

可选环境变量:

  • PORT:HTTP服务器端口(默认:8080)
  • NODE_ENV:设置为 'production' 以启用生产模式

📄 许可证

本项目仅用于教育和研究目的。请遵守领英的服务条款,并负责任地使用。

贡献指南

  1. 分叉仓库
  2. 创建功能分支
  3. 进行修改
  4. 全面测试
  5. 提交拉取请求

免责声明

本工具仅用于教育目的。用户有责任遵守领英的服务条款和适用法律。作者不对软件的任何滥用负责。

  • 0 关注
  • 0 收藏,14 浏览
  • system 提出于 2025-09-22 09:09

相似服务问题

相关AI产品