这是一个基于模型上下文协议(MCP)的服务器,支持手动输入凭据,能够对领英(LinkedIn)个人资料进行数据抓取。该服务器可提取包括工作经历、教育背景、技能和联系方式等在内的全面个人资料数据。
npm install
安装Chrome浏览器(若尚未安装):
构建项目:
npm run build
使用HTTP传输启动服务器:
npm start
# 或者
node dist/index.js
服务器默认在 http://localhost:8080 启动。
在本地开发中使用STDIO传输:
npm run start:stdio
# 或者
node dist/index.js --stdio
--port
:指定HTTP服务器端口(默认:8080)--stdio:使用STDIO传输而非HTTP--help:显示帮助信息将以下内容添加到你的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传输方式运行
headless: false 运行,查看具体情况。node dist/index.js --port 3000
可选环境变量:
PORT:HTTP服务器端口(默认:8080)NODE_ENV:设置为 'production' 以启用生产模式本项目仅用于教育和研究目的。请遵守领英的服务条款,并负责任地使用。
本工具仅用于教育目的。用户有责任遵守领英的服务条款和适用法律。作者不对软件的任何滥用负责。