关于 LinkedIn MCP Server
LinkedIn MCP Server 是一个用于求职搜索、职业联络和联系人收集的 Node.js MCP 服务。它通过浏览器自动化操作,并要求手动登录 LinkedIn,同时对自动操作进行速率限制。
主要功能
- 01按技能和条件搜索职位
- 02查找专业人士并发送联络消息
- 03将个人资料联系人导出为 Excel
- 04手动登录与速率限制
适用场景
- 01查找符合技能和地点的职位
- 02联系指定公司的专业人士
- 03将个人资料信息整理到表格
MCP 相关
它向 MCP 客户端提供三个 LinkedIn 自动化工具:职位搜索、建立联系并发送消息,以及抓取联系人并导出至 Excel。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
LinkedIn MCP 服务
一个用于 LinkedIn 自动化的模型上下文协议(MCP)服务,提供三种强大的工具,用于求职、拓展人脉和联系人管理。
🚀 功能
1. 职位搜索工具 (find_job_openings)
- 根据你的技能搜索最新职位
- 按地点、经验级别和工作类型筛选
- 返回格式化的职位列表,包含公司详情和直达链接
2. 自动建立联系与拓展人脉工具 (auto_connect_and_outreach)
- 自动查找相关专业人士并与其建立联系
- 发送个性化拓展消息
- 针对特定职位和公司
- 设有频率限制,以避免触发 LinkedIn 限制
3. 联系人抓取工具 (scrape_contacts_to_excel)
- 从 LinkedIn 个人资料中抓取联系信息
- 将数据导出到 Excel 电子表格
- 支持个人资料直达 URL 和搜索查询
- 收集姓名、职位、公司以及可获取的联系信息
📁 项目结构
linkedin-mcp-server/
├── src/
│ ├── index.js # Main MCP server implementation
│ └── linkedin-automation.js # Core LinkedIn automation logic
├── package.json # Dependencies and scripts
├── config.example.env # Environment configuration template
└── README.md # This documentation
🛠️ 安装
前置条件
- Node.js 18.0.0 或更高版本
- npm 或 yarn
- LinkedIn 账号
设置步骤
-
克隆并安装依赖:
npm install -
配置环境(可选):
cp config.example.env .env # Edit .env with your preferences -
启动服务:
npm start
🔧 工作原理
架构流程:
-
MCP 服务设置 (
src/index.js)- 使用工具定义初始化 MCP 服务
- 处理传入的工具请求,并将其路由到相应函数
- 将格式化后的响应返回给 MCP 客户端
-
LinkedIn 自动化 (
src/linkedin-automation.js)- 使用 Puppeteer 控制 Chrome 浏览器
- 处理 LinkedIn 登录(出于安全考虑,需手动登录)
- 实现网页抓取和交互逻辑
- 管理频率限制和错误处理
-
工具执行流程:
MCP Client → MCP Server → LinkedIn Automation → Browser → LinkedIn → Results
安全与隐私:
- 需要手动登录——不存储密码
- 频率限制——防止账号受到限制
- 无头模式选项——用于生产环境
- 错误处理——妥善处理故障
📖 工具用法
1. 查找职位
{
"name": "find_job_openings",
"arguments": {
"skills": ["JavaScript", "React", "Node.js"],
"location": "San Francisco",
"experience_level": "mid",
"job_type": "full-time"
}
}
参数:
skills(必需):用于匹配职位发布信息的技能数组location(可选):首选工作地点(默认值:"Remote")experience_level(可选):"entry"、"mid"、"senior" 或 "executive"job_type(可选):"full-time"、"part-time"、"contract" 或 "internship"
2. 自动建立联系与拓展人脉
{
"name": "auto_connect_and_outreach",
"arguments": {
"target_roles": ["Software Engineer", "Frontend Developer"],
"company_names": ["Google", "Microsoft", "Apple"],
"message_template": "Hi {name}, I'm interested in opportunities at {company}. Would love to connect!",
"max_connections": 15
}
}
参数:
target_roles(必需):目标职位名称/角色数组company_names(可选):重点关注的特定公司message_template(可选):自定义消息,可使用 {name} 和 {company} 占位符max_connections(可选):发送请求的最大联系人数(默认值:10,最大值:50)
3. 将联系人抓取到 Excel
{
"name": "scrape_contacts_to_excel",
"arguments": {
"search_query": "Product Manager at Tech Companies",
"excel_filename": "product_managers.xlsx"
}
}
或使用特定个人资料 URL:
{
"name": "scrape_contacts_to_excel",
"arguments": {
"profile_urls": [
"https://www.linkedin.com/in/johndoe/",
"https://www.linkedin.com/in/janedoe/"
],
"excel_filename": "specific_contacts.xlsx"
}
}
参数:
profile_urls(可选):要抓取的 LinkedIn 个人资料 URL 数组excel_filename(可选):保存的 Excel 文件名(默认值:"linkedin_contacts.xlsx")search_query(可选):用于自动查找个人资料的搜索查询
⚠️ 重要说明
LinkedIn 服务条款
- 本工具仅供教育和个人使用
- 请遵守 LinkedIn 的频率限制和服务条款
- 请负责任地使用,以避免账号受到限制
- 如需增强功能,可考虑使用 LinkedIn Premium 功能
限制
- 联系信息:电子邮件/电话号码通常受 LinkedIn 隐私设置保护
- 频率限制:LinkedIn 对自动化操作实施严格限制
- 选择器变更:LinkedIn 可能会更新网站结构,因此需要相应更新代码
- 账号安全:请手动登录以维护账号安全
最佳实践
- 从小规模开始:先使用较低的限制进行测试(5-10 个连接)
- 添加延迟:遵守速率限制,避免被检测到
- 个性化消息:发送有意义的连接请求
- 监控结果:检查成功率并相应调整
- 保持更新:LinkedIn 可能会更改其界面
🛠️ 开发
在开发模式下运行
npm run dev
测试
npm test
浏览器配置
- 在
.env中设置HEADLESS_MODE=true,用于生产环境 - 首次运行时,浏览器会打开以供手动登录
- 会话会持续到服务重启为止
🤝 贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 彻底测试
- 提交拉取请求
📄 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
🔮 未来增强功能
- 支持 LinkedIn Sales Navigator
- 使用 AI 提供高级消息模板
- 与 CRM 系统集成
- 自动化后续跟进序列
- 分析和报告仪表板
- 多账户管理
- Webhook 集成
免责声明:此工具仅用于教育目的。用户有责任遵守 LinkedIn 的服务条款和适用法律。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。