关于 LinkedIn Toolkit
LinkedIn Toolkit 通过本机已登录的 Chrome 会话,为 Agent 提供 LinkedIn 搜索、资料提取和外联管理能力。它适合需要本地数据处理与人工审批的自动化流程,并设有不可由客户端提高的操作上限。
主要功能
- 01搜索并提取资料与列表
- 02管理联系人标签和意向信号
- 03创建带分支的外联序列
- 04统一收件箱与回复检测
- 05人工审批队列及操作限额
- 06本地存储并支持只读 SQL
适用场景
- 01从搜索结果建立潜在联系人列表
- 02按条件安排访问、邀请和消息
- 03整理收件箱并标记回复情绪
- 04从 CSV 生成联系人研究档案
MCP 相关
提供 39 个 MCP 工具、4 个资源和 3 个提示词,可通过 stdio 或 Streamable HTTP 接入客户端;另有 HTTP API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Operator、Browser Use、计算机使用模型和 Playwright 机器人在 LinkedIn 上会受到质疑或被封禁:无头浏览器指纹、数据中心 IP、机器速度的点击。LinkedIn Toolkit 通过与 LinkedIn 页面本身相同的内部端点,为任何 Agent 提供一个安全、结构化的 API,连接到你自己已登录的 Chrome 会话;操作速度符合真人节奏,设有严格上限,并配备人工审批队列。如果你完全不使用 Agent,它也可以免费替代 Waalaxy 和 PhantomBuster。无需无头浏览器、代理、云端会话、遥测或订阅。
## 快速开始执行一条命令,然后在 Chrome 中点击三次。
npx linkedin-toolkit-mcp setup --client claude-code
这会下载适用于你所用版本的扩展程序、进行校验、将其解压到
~/.linkedin-toolkit/extension,打印配对令牌,等待扩展程序连接,
并将 MCP 配置块写入客户端自己的配置文件,同时保留其中的其他所有服务并先备份文件。--client 接受 claude-desktop、claude-code、
cursor、windsurf、vscode、n8n 或 print;添加 --dry-run 可查看它会执行哪些操作,
但不会实际更改任何内容。
然后完成 Chrome 不允许任何安装程序替你执行的三个步骤:
- 打开
chrome://extensions——在地址栏中输入;通过搜索无法找到此页面。 - 在右上角开启 开发者模式。
- 点击 加载已解压的扩展程序,然后选择安装程序打印出的文件夹。
将配对令牌粘贴到弹出窗口 → Settings → Local bridge,并检查连接是否成功:
lit status
想手动操作,或者只要扩展程序、不需要 Agent?
从 Releases 页面下载 linkedin-toolkit-extension-v*.zip,
解压到一个固定位置(Chrome 每次启动时都会从该文件夹加载扩展程序),然后完成
上述三个步骤。运行 npx linkedin-toolkit-mcp 获取配对令牌,并从
docs/clients.md 中复制适用于你客户端的配置块。
docs/install.md 提供了相同的安装步骤,并附有截图,适合从未加载过未打包扩展程序的用户。
批量取消关注——先预览,再少量操作,最后处理其余对象——请参阅 docs/install.md。在判断此功能失效之前,请先阅读“关注也包括人脉”一节:LinkedIn 的“关注中”列表不包含你的人脉;你与对方建立人脉连接时会自动关注对方,因此即使将该列表清空,动态仍会充满帖子。勾选“同时取消关注我的人脉”会改为扫描你的关注者列表,因为只有这里能查看这一状态。
每个客户端的配置文件、路径和格式:docs/clients.md · 每个生态系统各有一页。
不使用 MCP?lit serve --http 会提供 POST /actions/{action} 和生成的
GET /openapi.json。七种语言的示例。
重要
未经你的允许,不会发送任何内容。 默认启用 Copilot 模式:Agent 发出的每项写入操作都会进入队列,等待你在弹出窗口中批准。扩展程序内置了硬性上限——每天 100 次邀请、150 条消息、500 次个人资料访问、1,000 条搜索结果——任何 Agent、CLI 标志或配置文件都无法提高这些上限。开启 Autopilot 前,请先阅读安全说明。
功能
| 提取 | 个人资料(完整页面文本 + 照片)、搜索、Sales Navigator、Recruiter、帖子的点赞者和评论者、群组成员、活动参与者、公司员工、你自己的联系人和关注者、消息会话。导出为 CSV、JSON 和 SQLite。 |
| 列表和 CRM | 命名列表、标签、跨列表去重、每份个人资料上的“曾联系”标记,以及意向信号:与帖子互动、最近 90 天内换工作、在目标公司任职。 |
| 序列 | 访问、关注、发送带备注的联系邀请、发送消息、InMail、点赞、评论、等待,以及根据 N 天后是否接受/回复/未接受进行分支。支持带回退值的变量、每个步骤的 A/B 变体;收到回复后停止序列。20 个模板。 |
| 收件箱 | 统一的会话、未读消息、回复检测、情感标记、已保存的回复、稍后处理。 |
| 研究包 | 输入姓名或域名的 CSV;输出档案、补充信息后的 CSV 和列表。下文。 |
| Agent 层 | 39 个 MCP 工具、4 个资源、3 个提示词、带 OpenAPI 3.1 的 /actions HTTP API、Node 和 Python 客户端、一个 n8n 节点、6 个技能。 |
| 安全性 | 带随机抖动的人性化延迟、每小时和每日上限、工作时间、14 天预热、账户预设、审批队列、429 退避;遇到任何安全检查时(451 或重定向至检查点)自动暂停。 |
| 所有数据都在本地 | 你设备上的 chrome.storage.local、IndexedDB 和 SQLite 文件。可对所有数据进行只读 SQL 查询。无需服务端、账户或遥测。 |
与你的 Agent 配合使用
| 生态系统 | 方式 | |
|---|---|---|
| Claude Code、Claude Desktop、Cursor、Windsurf、Zed、Cline、OpenClaw、Codex CLI、Gemini CLI | npx linkedin-toolkit-mcp | 通过 stdio 使用 MCP · 各客户端的配置 |
| 远程和托管 Agent(Claude API MCP connector、ChatGPT connectors、Cloudflare Agents) | lit serve --http | 通过 Streamable HTTP 使用 MCP,令牌身份验证 · 风险 |
| OpenAI Agents SDK、Vercel AI SDK、LangChain.js、Mastra | npm i linkedin-toolkit | 类型化客户端 + 工具定义 · 示例 |
| LangChain、LlamaIndex、CrewAI、AutoGen、Google ADK、Pydantic AI、smolagents | pip install linkedin-toolkit | Python 客户端 + 各框架的 @tool 封装 · 示例 |
| n8n、Make、Dify、Flowise | n8n-nodes-linkedin-toolkit + MCP 客户端节点 | 提供搜索、个人资料、邀请、消息、收件箱节点,以及由 webhook 触发的触发器 · 工作流 |
| 任意 HTTP Agent | lit serve --http | GET /openapi.json — 面向自定义 GPT、Dify 和代码生成器的 OpenAPI 3.1 |
| Agent Skills 标准 | skills/ | 六种技能,无需修改即可在 Claude Code、OpenClaw 和任何兼容运行时中加载 |
结构化错误包含 code、message、retryAfter 和 howToFix,因此 Agent 可以自行恢复或解释问题,而不是反复重试直到碰壁。这里提供了 llms.txt 和专为 Agent 阅读并自行安装而编写的快速入门。
浏览器 Agent 与 LinkedIn Toolkit 对比
| 浏览器 Agent | LinkedIn Toolkit | |
|---|---|---|
| 会话 | 无头浏览器或远程控制的浏览器、云端配置文件 | 你自己的 Chrome、你自己的登录账号 |
| 指纹 | 合成指纹——经过修补,但依然可被检测 | 你的真实浏览器。无需修补 |
| IP | 数据中心 IP,或来源可疑的住宅代理 | 你自己的网络连接 |
| 检测 | 遭遇挑战、功能降级,随后受限 | 指纹或 IP 没有变化;活动量和节奏仍可见,这就是设置上限的原因 |
| Agent 看到的内容 | 屏幕截图、视觉令牌、脆弱的选择器 | 每个工具返回的类型化 JSON |
| 获取 100 份个人资料的成本 | 数百张屏幕截图 | 3 次工具调用 |
| 速度 | 机器速度 | 加入随机抖动的人工延迟、仅限工作时间、逐步预热 |
| 限制 | LinkedIn 施加限制之前没有限制 | 硬性上限,任何客户端都无法提高 |
| 遇到验证挑战时 | 重试,导致情况更糟 | 停止所有操作并告知人工 |
| 人工监督 | 取决于你记得实现什么 | 默认启用的审批队列 |
更详细的说明,以及实际检测机制: 为什么浏览器 Agent 在 LinkedIn 上会失败。
为什么扩展程序会失效,以及为什么这个扩展程序的设计便于修复
LinkedIn 的网页客户端现在几乎通过
GET /voyager/api/graphql?queryId=<name>.<32-hex hash>&variables=(...)提供所有数据,而这些哈希会随每次网页客户端发布而变化(当前版本:1.13.46474)。2024–2025 年一代扩展程序硬编码的旧版 REST Voyager 路径如今会返回 400、410 或 500。这就是问题的根源——不是一波封禁。本扩展程序在你自己的标签页内调用页面所调用的相同 GraphQL 查询,并将每个查询 ID 及其捕获日期和客户端版本保存在一个可刷新的表中:
docs/voyager-endpoints.md。lit endpoints check 会报告哪些端点正常、失败或尚未验证;lit endpoints doctor 会指出哈希已过时的查询 ID 及表中存放该 ID 的键,因此漂移只需作为维护任务处理,无需更改架构。
坦白说:这些 ID 确实会漂移,而重新捕获它们正是本项目最需要的贡献。这只需编辑表格,无需重写——在 LinkedIn 中打开 DevTools,在 Network 标签页中筛选 voyager/api,然后从页面发出的请求中复制 queryId;如果你更愿意用 grep 搜索,同样的哈希也以字面字符串的形式存在于 LinkedIn 的 JS 包中。
与付费工具相比
| Waalaxy Pro | PhantomBuster Starter | Sales-Mind | LinkedIn Toolkit | |
|---|---|---|---|---|
| 价格 | ~€70/月 | ~$69/月 | ~$99/月 | £0 |
| 源码 | 闭源 | 闭源 | 闭源 | 全部采用 MIT 许可证 |
| 自动化运行位置 | 他们的云端 (扩展程序仅负责导入) | 他们的云端 | 他们的云端 | 你自己的 Chrome 标签页 |
| 你的会话 | 在他们的服务器上 | 在他们的服务器上 | 在他们的服务器上 | 绝不会离开你的设备 |
| MCP 服务 | ✗ | ✗ | ✗ | ✓ |
| Agent 工具 / SDK | ✗ | ✗ | ✗ | ✓ 39 个工具,9 个框架 |
| 对你的数据执行本地 SQL | ✗ | ✗ | ✗ | ✓ |
| 审批队列 | ✗ | ✗ | ✗ | ✓ 默认启用 |
| 带分支的序列 | ✓ | 部分支持 | ✓ | ✓ |
| 帖子互动者、群组、活动 | ✓ | ✓ | 部分支持 | ✓ |
| 收件箱和情感分析 | ✓ | ✗ | ✓ | ✓ |
| 团队席位、仪表板 | ✓ | ✓ | ✓ | ✗ (需要服务器——请参阅路线图) |
| 遥测 | ✓ | ✓ | ✓ | ✗ |
竞争对手的价格为截至 2026 年 9 月查到的公开标价,仅供参考——价格会变动,也会因币种和计费周期而异,各供应商的套餐档位也不相同。功能信息来自各供应商的公开产品页面,同样截至 2026 年 9 月查阅,套餐内容也可能变动。在做决定前请查看他们的网站。欢迎通过 PR 提交更正——如果我们的功能信息有误,请提交 PR,我们会修正。
Waalaxy 一栏的来源:其当前的 Chrome 扩展程序列表,“Alien Copilot”,由 Waapi(蒙彼利埃)发布——v1.1.3,于 2026 年 8 月更新,约有 2,000 名用户,3 条评分,平均 3.0★。该扩展程序自称“你的 Waalaxy 助手,帮助你导入潜在客户”。根据该列表,扩展程序会将潜在客户导入 Waalaxy,自动化则在 Waalaxy 的服务器上使用你的会话运行。列表详情查阅于 2026 年 9 月。
研究资料包
导入一个 CSV 文件,其中包含 name、linkedin_url、email、domain、company 中任意字段。每行都会生成一份档案,并返回一个补充完善后的 CSV 和一个新列表——所有数据都在本地处理。
lit research leads.csv --out ./packs
- 匹配 — 为每行匹配个人资料或公司。对于有歧义的行,会返回候选项和置信度分数,供你选择,而不是悄悄猜测。
- 收集 — 完整的个人资料采集、公司主页、近期帖子和互动、共同联系人、关系状态。
- 信号 — 过去 90 天内的职位变动、近期发帖活动、招聘信号、员工人数范围、共同联系人、与我互动过。
- 补充信息 (可选,使用你自己的密钥,默认关闭) — 已验证的邮箱和电话号码。
- 网络信息 —
linkedin-research-pack技能 会让你的 Agent使用自己的网络搜索,查找新闻、演讲、GitHub 和播客,并将结果及来源写入资料包。扩展程序绝不会爬取开放网络。 - 输出 — 每行生成
pack.md和pack.json,并生成一个output.csv,其中包含所有原始列,以及匹配后的 URL、职位、公司、位置、信号和匹配置信度;此外还会生成一个新列表。
全程都有配额限制:匹配会消耗搜索配额,采集会消耗访问配额。处理 500 行 CSV 按设计需要多天,而且你会提前看到预计完成时间。
安全
坦诚地说:**LinkedIn 的《用户协议》禁止自动化访问。**此工具会自动化操作 LinkedIn。以下内容都无法将风险降为零。
它确实做到了以下几点:
- 在扩展程序中设置硬性上限,且优先级高于所有客户端:每天 100 个邀请、150 条消息、500 次个人资料访问、1,000 条搜索结果。
config.set会将你传入的值限制在上限内。 - 模拟真人节奏——间隔随机抖动为 8–15 秒,设有每小时上限和营业时间窗口,还可选择仅在工作日运行。机器速度的活动是账号能发出的最明显信号。
- 新账号或休眠账号设有 14 天预热期。
- 副驾驶模式——每项 Agent 写入操作都会排队等待你批准。只有人类能在弹出窗口中切换自动驾驶。即使批准了,也不代表会立即发送:引擎仍会控制发送节奏。
- **遇到 429 → 退避。遇到安全检查 → 停止。**遇到 CAPTCHA 或“确认是你本人”的检查时——无论它以 451 响应,还是像通常那样重定向到 LinkedIn 的验证页面——都会立即暂停所有请求,并保持暂停,直到你亲自完成检查并在弹出窗口中确认。代码库中没有任何重试循环。
- **绝不绕过安全措施。**不破解 CAPTCHA、不规避挑战、不使用代理、不伪造指纹、不导入 Cookie,也不会使用你未登录的账号。触发检查的原因、工具包会做什么、你应该做什么,以及我们不会构建什么,请参阅:docs/captcha-and-security-checks.md。
它不会让你隐身。在你自己的会话中运行,可以去除导致浏览器 Agent 被发现的指纹和 IP 信号——但这对你做了多少或做得多规律毫无影响,而 LinkedIn 会同时统计这两项。这正是设置上限和发送节奏且不能超过上限调整的原因:简单的识别信号消失后,它们就是仅剩的防护措施。一个每天以完美间隔发送 90 个邀请的账号,仍然是一个每天发送 90 个邀请的账号。
建议设置、应停止操作的迹象以及你的数据保护义务: docs/safety.md。
架构
flowchart LR
A["Your agent<br/>Claude · Cursor · LangChain<br/>CrewAI · n8n · curl"]
M["linkedin-toolkit-mcp<br/><i>your machine</i><br/>MCP · HTTP · SQLite · CLI"]
E["Extension engine<br/><i>your Chrome</i><br/>quotas · delays · queue<br/>campaigns · lists"]
Q["Approval queue<br/><i>you</i>"]
L["LinkedIn<br/><i>your session, your cookies,<br/>your IP, your device</i>"]
A -->|"MCP stdio / HTTP"| M
M <-->|"ws://127.0.0.1:47829"| E
E --> Q
Q -->|"you approve"| E
E -->|"Voyager API, human pace"| L
同一个引擎,多个客户端:弹出窗口、CLI、MCP 工具调用和营销活动步骤都会经过相同的 handle(action, params, origin) 分派逻辑。上限和队列位于它下方,因此没有任何绕过它们的路径——只有一条路径。完整架构 · 操作约定 · 工具参考。
CLI
lit 与服务打包在同一个 npm 包中。
lit setup --client cursor # install, pair, configure. Start here
lit status
lit search "CTO fintech London" --source salesnav --count 100 --csv out.csv
lit profile https://www.linkedin.com/in/... --full --json
lit engagers <post-url> --list "Post engagers 8 Sep"
lit invite <profile-url> --note "..." # queues in Copilot mode
lit campaign create --from sequences/warm-connect.json --list "Data leads"
lit inbox --since 24h --sentiment
lit research leads.csv --out ./packs
lit sql "select company, count(*) from profiles group by 1 order by 2 desc limit 20"
lit export --table profiles --csv
lit serve --http # HTTP MCP + /actions + /openapi.json
你的数据存储在 SQLite 文件中
你捕获的所有内容都会同步到 ~/.linkedin-toolkit/toolkit.db。Agent 可以通过只读 SQL 查询数据——无需网络、无需配额、没有速率限制——你也可以用任何 SQLite 工具打开同一个文件。
-- Who accepted an invite but never replied
SELECT p.full_name, p.company, p.headline, a.created_at
FROM actions a
JOIN profiles p ON p.public_id = a.public_id
WHERE a.action = 'outreach.invite' AND a.accepted = 1
AND p.public_id NOT IN (SELECT from_public_id FROM messages)
ORDER BY a.created_at DESC;
lit sql "select company, count(*) n from profiles group by 1 order by n desc limit 20"
Agent 可以通过 linkedin_query_sql 和 { "sql": "SELECT …" } 访问相同的数据。仅允许使用 SELECT——其他操作都会被拒绝。
Webhook
服务会向你设置的 URL 发送 POST 请求,内容为 { event, payload }——事件包括 invite_accepted、reply_received、positive_reply、campaign_step_done、campaign_completed、quota_hit、challenge_detected、queue_item_added、queue_item_sent、campaign_note_truncated、research_progress、research_completed。
lit config set webhookUrl https://your-n8n/webhook/linkedin-events
可导入的 n8n 工作流会用它们完成显而易见的流程:邀请被接受 → profile.get → 大模型起草第一条消息 → 消息进入队列 → Slack 请人审核 → 审批链接 → queue.approve。
技能
六个采用 Agent Skills 格式的任务配方。它们承载着防护原则——只陈述事实、关注配额、将审批队列作为预期去向——而不只是工具的调用顺序。
cp -r skills/* ~/.claude/skills/ # or ~/.openclaw/skills/, or ./.claude/skills/
linkedin-sourcer ·
linkedin-outreach-writer ·
linkedin-campaign-runner ·
linkedin-profile-to-dossier ·
linkedin-reply-triage ·
linkedin-research-pack
路线图
了解即将推出的内容,以及那些永远不会构建的功能——因为它们需要服务端,或会破坏本地优先的保障:docs/roadmap.md。
贡献
添加提取器是最适合作为首次贡献的工作,只需修改四个文件: 如何构建提取器。序列、技能和 Agent 集成因增量式且独立完整,合并速度最快。
请参阅 CONTRIBUTING.md,认领一个 适合新手的问题,或 发起一场 讨论。
免责声明
本软件按「原样」提供,不附带任何形式的保证。 作者和贡献者对因使用本软件而产生的任何后果不承担责任或义务,包括但不限于:
- LinkedIn 账号受限、暂停或永久封禁
- 连接、数据或账号访问权限丢失
- 违反 LinkedIn 的服务条款或用户协议
- 任何直接、间接、附带或后果性损害
使用本软件即表示你确认:
- LinkedIn 的用户协议禁止自动化工具和抓取,使用本软件可能违反该协议
- 这样做可能导致 LinkedIn 对你的账号采取措施,甚至永久封禁
- 你仅在自己的账号上使用本软件,并且使用的是你亲自登录的会话
- 你对使用本软件采取的每项操作,以及对 GDPR、UK GDPR、CCPA 或任何适用于你所收集个人数据的同等法律所规定的义务,承担全部责任
- 你完全自行承担使用风险
本工具绝不会绕过安全措施:不破解 CAPTCHA、不规避质询、不逃避检测、不使用代理、不窃取 Cookie、不共享会话,也不使用你未登录的账号。当 LinkedIn 设置障碍时,本工具会停止,并将问题交由你处理。
本软件仅供教育和研究用途。我们不鼓励或认可违反任何平台服务条款的行为。
许可证
MIT。
贡献者
本项目使用 all-contributors。此处会认可任何形式的贡献——代码、文档、序列、技能、错误报告和设计。
如需添加贡献者,请在任意 Issue 或 PR 下评论:
@all-contributors please add @username for code, doc
致谢
由 Dominic Gonsalves 构建 — LinkedIn · GitHub
如果觉得有用,请点个星,帮助其他人发现这个项目。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
