关于 mcp-career-change-signal-engine
mcp-career-change-signal-engine 是通过 Apify Actor 检查指定联系人监控列表的 MCP 服务。它返回离职、新职位、替代人选及职位关闭后的新员工等变动信号,并附带证据和来源日期。
主要功能
- 01检测离职和新职位
- 02查找可能的替代人选及职位关闭后的新员工
- 03提供证据和来源日期
- 04起草个性化开场语
- 05生成 Slack、HubSpot 和外联载荷
- 06按监控列表保存状态
适用场景
- 01查看曾合作客户中谁更换了工作
- 02联系人入职新职位后起草外联内容
- 03职位关闭后寻找潜在新员工
MCP 相关
向 MCP 客户端提供 `watch_career_changes` 工具。它启动 Apify Actor、等待运行完成,并返回数据集行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| people | array | 是 | 监控列表,每人一个对象:person_name、profile_url(可选)、company_domain、company_name、title、work_email、relationship(prospect、mgl、deal_contact、customer_champion)、external_id、crm_id、deal_id、known_history(HeyReach 副本、Proofed LinkedIn reader 行或通用职位记录)、last_reading(包含 state_source caller)。引擎只读取这些人员。每次运行最多读取 max_people_per_run 人。 |
| bounces | array | 否 | 可选的退信信息:work_email、bounce_type、smtp_code、smtp_text、bounced_at。 |
| replies | array | 否 | 可选的回复文本:external_id、work_email 或 profile_url,text、received_at、channel、is_auto_reply。文本会经过分类后丢弃;仅保留其 sha1。 |
| features | object | 否 | 开关:replacement、closed_posting、contact_data、first_line、icp、include_promotions。除 include_promotions 外,默认均为开启。 |
| icp_tiers | object | 否 | 可选的公司域名到层级的映射,会显示在入职记录中。不会阻止任何记录。 |
| read_mode | enum | 否 | stored_first:先使用你提供的 known_history,再使用你的密钥。live_only:忽略 known_history。stored_only:仅使用 known_history,不调用密钥。stored_first | live_only | stored_only |
| concurrency | integer | 否 | 同时读取的人数。 |
| suppression | object | 否 | emails、profile_urls、opted_out_emails、opted_out_profile_urls、company_domains、company_names。被抑制的人员会在读取前丢弃,且不产生费用。 |
| webhook_url | string | 否 | 可选:通过签名的 Standard Webhooks POST,每个请求最多发送 100 行信号数据。 |
| providerKeys | object | 否 | 你自己的密钥:serper 或 serpapi(网页搜索)、prospeo、bounceban(验证器)、findymail、exa。绝不会写入状态、输出、日志或 webhook。密钥由你作为运行输入传入;actor 绝不会存储。 |
| state_source | enum | 否 | actor:引擎在命名存储中保留各次运行之间的状态。caller:你为每个人发送 last_reading,并自行保留状态。actor | caller |
| max_spend_usd | integer | 否 | 在即将产生超出此金额的费用前停止运行。 |
| watch_list_id | string | 否 | 为列表命名。当 state_source 为 actor 时,状态按监控列表 ID 保存。 |
| first_run_mode | enum | 否 | report:首次运行返回找到的所有变化。baseline:首次运行保存状态且不返回任何内容,仅对 contact_checked 计费。report | baseline |
| sender_context | string | 否 | 用于第一行草稿的可选主题短语,例如:规模化内容制作。 |
| webhook_secret | string | 否 | 签名密钥;whsec_ 值会进行 Base64 解码。由你提供的密钥,作为运行输入发送;Actor 不会存储。 |
| posting_changes | array | 否 | 可选的 Account Hiring Watch 行。招聘信息关闭后,该公司会启动新一轮招聘搜索。 |
| max_people_per_run | integer | 否 | 列表长度超过此值时,会在任何读取或扣费前使运行失败。默认值为 150,最多 1,000。 |
| sweep_interval_days | integer | 否 | 当 state_source 为 actor 时,在此天数内读取过的人员将跳过。 |
| linkedin_reader_dataset_id | string | 否 | 可选:同一 Apify 账户中 Proofed LinkedIn reader 运行的数据集 id。行按个人资料 URL 与人员关联。 |
| max_replacement_candidates | integer | 否 | 每位离职者建议的候选人数。每个人都需要确认。 |
详细介绍
职业变动信号引擎 MCP 服务
这是一个 MCP 服务,适用于 Apify 上的 Mamba Labs Career Change Signal Engine Actor。Career Change Signal Engine 会读取你的关注名单,只返回自上次检查以来发生的变化:谁离职了、谁去了哪里、谁接替了他们,以及职位空缺关闭后谁加入了。每一行都会说明人员是如何匹配的、哪个来源提供了结果,以及该来源有多旧。
包含内容
功能介绍
读取联系人关注名单,只返回自上次运行以来发生的变化:谁离职了、谁去了哪里、谁接替了他们,以及职位空缺关闭后谁加入了。每一行都包含证据、来源日期、细分群组、首句草稿,以及 Slack、HubSpot、HeyReach 和 Instantly 的载荷。传入人员(必需),还可选择传入回复、退信、发布内容变更、抑制名单,以及你自己的提供商密钥(providerKeys);它不会抓取 LinkedIn,也不持有自己的密钥。状态按 watch_list_id 保存。未成功的运行会作为错误返回,并附带其运行 ID。需要 APIFY_TOKEN,每次调用都会消耗 Apify 点数。
所有工作都在 Apify 上运行。此软件包是一个轻量客户端,用于启动 Actor 运行、等待运行完成,并返回数据集中的行。
快速开始
你需要 Node.js 18 或更高版本,以及拥有 API 令牌的 Apify 账户。
将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json)、Cursor 或任何 MCP 客户端中:
{
"mcpServers": {
"mamba-career-change-signal-engine": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-career-change-signal-engine"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
重启客户端。此时会出现 watch_career_changes 工具。
前提条件
- Node.js 18 或更高版本。
- 从 console.apify.com/account/integrations 获取 Apify API 令牌,并将其设置为
APIFY_TOKEN。服务无需令牌即可列出其工具;调用工具时则需要令牌。
提示词示例
- “检查我过去的 50 位冠军,并告诉我谁离职了、去了哪里。”
- “运行我的关注名单,并为每位换了工作的人员起草一句开场白。”
工具
watch_career_changes。一个工具。参数示例:
{
"people": [
{
"person_name": "Jane Doe",
"company_domain": "example.com",
"company_name": "Example Inc",
"title": "Head of Content",
"external_id": "example-1"
}
],
"watch_list_id": "default"
}
输入
与实时 Actor 买家相关的所有输入,均保持不变。省略的输入采用 Actor 自身的默认值。
| 输入 | 类型 | 必填 | 描述 |
|---|---|---|---|
people | array | 是 | 你的关注名单,每人对应一个对象:person_name、profile_url(可选)、company_domain、company_name、title、work_email、relationship(prospect、mgl、deal_contact、customer_champion)、external_id、crm_id、deal_id、known_history(HeyReach 导出内容、Proofed LinkedIn 读取器行,或通用角色)、last_reading(带有 state_source caller)。引擎只读取这些人员。每次运行最多读取 max_people_per_run 人。 |
watch_list_id | string | 否 | 为名单命名。当 state_source 为 actor 时,状态按 watch list id 保存。 |
state_source | string | 否 | actor:引擎在命名存储中保留运行间的状态。caller:你为每个人发送 last_reading,并自行保留状态。 |
read_mode | string | 否 | stored_first:先读取你的 known_history,再读取你的密钥。live_only:忽略 known_history。stored_only:只读取 known_history,不调用密钥。 |
first_run_mode | string | 否 | report:首次运行返回发现的所有变化。baseline:首次运行保存状态,不返回任何内容,仅收取 contact_checked 费用。 |
max_people_per_run | integer | 否 | 如果名单长度超过此值,运行会在读取或收费前失败。默认值为 150,最多为 1,000。 |
providerKeys | object | 否 | 你自己的密钥:serper 或 serpapi(网页搜索)、prospeo、bounceban(验证器)、findymail、exa。绝不会写入状态、输出、日志或 webhook。你自己的密钥,作为运行输入发送;Actor 绝不会存储。 |
linkedin_reader_dataset_id | string | 否 | 可选:同一 Apify 账户上 Proofed LinkedIn reader 运行的数据集 id。通过个人资料 URL 将各行与人员关联。 |
replies | array | 否 | 可选的回复文本:external_id 或 work_email 或 profile_url、text、received_at、channel、is_auto_reply。文本会经过分类后丢弃;只保留其 sha1。 |
bounces | array | 否 | 可选的退信:work_email、bounce_type、smtp_code、smtp_text、bounced_at。 |
posting_changes | array | 否 | 可选的 Account Hiring Watch 行。已关闭的招聘信息会在该公司启动新的招聘搜索。 |
suppression | object | 否 | emails、profile_urls、opted_out_emails、opted_out_profile_urls、company_domains、company_names。被抑制的人员会在读取前移除,且不产生费用。 |
icp_tiers | object | 否 | 可选的公司域名到层级的映射,会显示在已匹配的行上。不会阻止任何行。 |
features | object | 否 | 开关:replacement、closed_posting、contact_data、first_line、icp、include_promotions。除 include_promotions 外,默认均开启。 |
sender_context | string | 否 | 可选的主题短语,用于起草首句,例如:大规模内容制作。 |
max_replacement_candidates | integer | 否 | 每位离职人员可提议的候选人数。每个人都需要确认。 |
max_spend_usd | integer | 否 | 在费用将超出此上限前停止运行。 |
sweep_interval_days | integer | 否 | 当 state_source 为 actor 时,在此天数内读取过的人员会被跳过。 |
concurrency | integer | 否 | 同时读取的人员数量。 |
webhook_url | string | 否 | 可选:签名的 Standard Webhooks POST,每个请求最多发送 100 行信号。 |
webhook_secret | string | 否 | 签名密钥;whsec_ 值会经过 base64 解码。你自己的密钥,作为运行输入发送;Actor 绝不会存储。 |
定价
在 Apify 上按事件付费,费用计入你的 Apify 账户。价格以 USD 计。
| 事件 | 免费计划 | Bronze | Silver | Gold |
|---|---|---|---|---|
contact_checked,每次检查联系人 | $0.02 | $0.019 | $0.018 | $0.017 |
signal_delivered,每行交付的变化 | $0.068 | $0.0646 | $0.0612 | $0.0578 |
apify-actor-start,每次运行启动 | $0.001 | $0.001 | $0.001 | $0.001 |
你的密钥
该 actor 不持有自己的服务商密钥。所有付费服务商密钥都由你提供,作为输入传入,并由 Apify 作为机密输入存储。没有密钥时,actor 会跳过该步骤,并在运行中说明原因。
Actor 完整文档
apify.com/mambalabs/career-change-signal-engine
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。