LinkedIn自动化工具

LinkedIn MCP Server是一个用于LinkedIn自动化的模型上下文协议服务器,提供职位搜索、自动连接和联系人管理三大功能。

  • by hardiksharmmaaaa
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 hardiksharmmaaaa/mcp_servers_

使用说明

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帐户

设置步骤

  1. 克隆和安装依赖关系:

    npm install
    
  2. 配置环境(可选):

    cp config.example.env .env
    # Edit .env with your preferences
    
  3. 启动服务器:

    npm start
    

🔧 运作原理

架构流程:

  1. MCP服务器设置 (src/index.js)

    • 使用工具定义初始化MCP服务器
    • 处理传入的工具请求并将其路由到适当的功能
    • 将格式化的响应返回给MCP客户端
  2. LinkedIn自动化 (src/linkedin-automation.js)

    • 使用Puppeter控制Chrome浏览器
    • 处理LinkedIn登录(安全手册)
    • 实现网络抓取和交互逻辑
    • 管理速率限制和错误处理
  3. 工具执行流程:

    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可能会更新其网站结构,需要更新代码
  • 账户安全:使用手动登录来维护帐户安全

最佳实践

  1. 从小做起:首先用低限值进行测试(5-10个连接)
  2. 添加延迟:遵守速率限制以避免检测
  3. 个性化消息:使用有意义的连接请求
  4. 监控结果:检查成功率并相应调整
  5. 保持更新:LinkedIn可能会更改其界面

🛠️ 发展

以开发模式运行

npm run dev

测试

npm test

浏览器配置

  • 集 HEADLESS_MODE=true 在……里面 .env 用于生产
  • 浏览器将在首次运行时打开手动登录
  • 会话将一直持续到服务器重新启动

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件

🔮 未来的增强功能

  • []支持LinkedIn销售导航
  • []具有AI的高级消息模板
  • []与CRM系统集成
  • []自动随访序列
  • []分析和报告仪表板
  • []多账户管理
  • [ ] Webhook集成

免责声明:此工具用于教育目的。用户有责任遵守LinkedIn的服务条款和适用法律。