使用说明
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或纱线
- 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)- 使用Puppeter控制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(可选):首选工作地点(默认:“远程”)experience_level(可选):“入门级”、“中级”、“高级”或“高管级”job_type(可选):“全职”、“兼职”、“合同制”或“实习”
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的高级功能以增强功能
局限性
- 联系方式:电子邮件/电话号码通常受到LinkedIn隐私设置的保护
- 速率限制:LinkedIn对自动操作实施严格限制
- 选择器更改:LinkedIn可能会更新其网站结构,需要更新代码
- 账户安全:使用手动登录来维护帐户安全
最佳实践
- 从小做起:首先用低限值进行测试(5-10个连接)
- 添加延迟:遵守速率限制以避免检测
- 个性化消息:使用有意义的连接请求
- 监控结果:检查成功率并相应调整
- 保持更新:LinkedIn可能会更改其界面
🛠️ 发展
以开发模式运行
npm run dev
测试
npm test
浏览器配置
- 集
HEADLESS_MODE=true在……里面.env用于生产 - 浏览器将在首次运行时打开手动登录
- 会话将一直持续到服务器重新启动
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🔮 未来的增强功能
- []支持LinkedIn销售导航
- []具有AI的高级消息模板
- []与CRM系统集成
- []自动随访序列
- []分析和报告仪表板
- []多账户管理
- [ ] Webhook集成
免责声明:此工具用于教育目的。用户有责任遵守LinkedIn的服务条款和适用法律。