关于 FastMCP server for Apollo
面向使用 Apollo.io 开展外呼的团队,提供营销活动监控、序列管理、联系人丰富和 CRM 操作工具。还支持创建序列与编辑模板,并记录写入前后的审计差异。
主要功能
- 01营销活动与邮箱健康摘要
- 02序列管理与联系人加入
- 03人员及组织信息丰富
- 04CRM 联系人、任务与标签
- 05模板与序列编写
- 06带审计记录的邮箱发送上限修改
适用场景
- 01查看每日营销活动和邮箱状态
- 02将联系人加入外呼序列
- 03查找并丰富人员或组织信息
- 04创建序列并修改邮件模板
MCP 相关
将 Apollo.io 操作作为工具提供给 MCP 客户端,涵盖营销分析、CRM 操作、信息丰富和序列编写。破坏性写入可在审计日志中记录操作前后的差异。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Apollo.io MCP 服务
FastMCP 服务将 Apollo.io REST API 的完整运营功能提供给 Claude Code。共 27 个工具,涵盖序列、营销活动健康状况、邮箱预热、人员/组织信息补全、CRM 联系人、任务、标签、额度跟踪,以及以编程方式编辑模板/序列/邮箱发送上限并记录审计日志。
大多数现有的 Apollo MCP 服务只提供人员搜索和信息补全。此服务专为大规模开展外向营销的团队打造,支持每日健康状况摘要、序列管理、邮箱送达能力监控、以编程方式将联系人加入序列,以及端到端编写序列,无需操作 Apollo UI。
快速参考
apollo_campaign_health — daily digest (start here)
apollo_messages_search days_back=1 — raw send/open/reply/bounce log
apollo_mailbox_warmup — per-mailbox deliverability state
apollo_sequences_list — all sequences + labels + stats
apollo_sequence_add_contacts ... — enroll contacts into a sequence
apollo_template_update ... — update template body + subject (with audit log)
apollo_sequence_create ... — author a new sequence end-to-end
apollo_step_create ... — add a step + template to a sequence
apollo_mailbox_update_cap ... — change daily send cap
apollo_credits_remaining — monthly credit budget check
apollo_health — self-check (also probes master key)
工具清单(27 个)
营销活动健康状况
apollo_campaign_health(days_back=1)— 汇总所有序列和邮箱的情况apollo_mailbox_warmup()— 查看每个邮箱的预热状态和每日限额apollo_sequence_get(sequence_id)— 深入查看单个序列
序列
apollo_sequences_list()— 列出所有序列及其统计数据apollo_sequence_add_contacts(sequence_id, contact_ids, send_email_from_email_account_id?)apollo_sequence_remove_contacts(sequence_id, contact_ids)apollo_sequence_set_active(sequence_id, active)— 激活或暂停
消息 / 分析
apollo_messages_search(days_back, sequence_ids?, stats?, per_page, max_pages)
人员 / 组织
apollo_people_search(...)— 免费(不消耗额度)apollo_person_enrich(...)— 每个已显示的邮箱消耗 1 个额度apollo_bulk_person_enrich(people, reveal_personal_emails?)— 每次最多处理 10 个apollo_org_search(...)apollo_org_enrich(domain)apollo_org_job_postings(organization_id)
CRM
apollo_contacts_search(...)apollo_contact_create(...)apollo_contact_update(contact_id, fields)apollo_contact_stages()
任务 / 标签 / 额度
apollo_task_create(...)apollo_labels_list()apollo_label_create(name)apollo_credits_remaining()
模板 + 序列编写(具有破坏性的写入操作)
apollo_template_get(template_id)— 获取模板当前状态apollo_template_update(template_id, subject?, body_text?, body_html?, audit_label?)— 更新模板主题和正文。写入前,将当前状态的快照保存到APOLLO_AUDIT_LOG_PATH(如果已设置),以便出现问题时可通过差异记录还原apollo_sequence_create(name, label?, permissions?, active?)— 创建新序列(默认暂停)apollo_step_create(sequence_id, position, wait_days, subject, body_text, body_html?, step_type?, include_signature?)— 一次调用即可创建步骤、触达内容和模板apollo_mailbox_update_cap(mailbox_id, daily_send_limit, audit_label?)— 更改邮箱的每日发送上限,并记录更改前后的状态。
诊断
apollo_health()— 检查 API 密钥是否有效,并提供主密钥提示
配置
将 config.example.yaml 复制为 config.yaml,并填写相应值:
cp config.example.yaml config.yaml
config.yaml 已加入 gitignore。主要字段:
| 字段 | 默认值 | 描述 |
|---|---|---|
daily_send_target | 50 | 用于健康摘要中的目标对比显示 |
monthly_credit_pool | 4000 | 当 credit_alert_pct 达到消耗比例时发出提醒 |
sequence_labels | {} | 将序列 ID 映射为易读名称 |
mailbox_labels | {} | 将电子邮件地址映射为显示名称 |
环境变量:
| 变量 | 必需 | 描述 |
|---|---|---|
APOLLO_API_KEY | 是 | 必须是 MASTER 密钥 |
APOLLO_MCP_CONFIG | 否 | 覆盖 config.yaml 路径 |
APOLLO_MCP_TIMEOUT | 否 | HTTP 超时时间,单位为秒(默认值为 30) |
APOLLO_AUDIT_LOG_PATH | 否 | Markdown 文件的路径;破坏性写入(template_update、sequence_create、step_create、mailbox_update_cap)会在其中追加变更前后的差异。要使破坏性写入工具可回滚,必须设置此项。 |
安装
打开 Claude Code,粘贴:
/plugin marketplace add adelaidasofia/apollo-mcp
/plugin install apollo-mcp@apollo-mcp
然后在环境中设置 APOLLO_API_KEY(必须是 master 密钥),并重启 Claude Code。
旧版安装方式
pip3 install -r requirements.txt
python3 -c "import server; print('OK')"
将以下内容添加到 .mcp.json:
{
"mcpServers": {
"apollo": {
"command": "python3",
"args": ["/path/to/apollo-mcp/server.py"],
"env": {
"APOLLO_API_KEY": "your-master-key-here"
}
}
}
}
编辑 .mcp.json 后,重启 Claude Code。
已知问题
-
/emailer_campaigns、/emailer_messages/search、/email_accounts、/usage_stats/*需要 MASTER 密钥。标准密钥会返回 403。apollo_health会自动检查这一点。 -
速率限制约为 60 个请求/分钟。内置的带抖动指数退避机制会自动处理 429 错误。
-
分页上限为每次调用 50 页 × 每页 100 条记录 = 5,000 条。若要查询更多记录,请按日期分段。
-
积分消耗——
apollo_person_enrich(reveal_personal_emails=True)和批量版本各消耗 1 个积分。 -
sequences_list、email_accounts、labels、contact_stages使用 5 分钟内存缓存。重启 Claude Code 可强制刷新。 -
默认 Python UA 会触发 Cloudflare 1010。 当 apollo.io 检测到
python-urllib/*或python-httpx/*用户代理时,会返回 HTTP 403,响应正文为error code: 1010。该服务会伪装成apollo-mcp/1.0 (curl/8.0.0)以绕过限制。如果你编写了调用 apollo.io 的相关脚本,请添加相同的User-Agent标头,否则你可能会花时间排查一个看似由缺少 master 密钥导致的虚假 403 错误。 -
没有可用的序列级取消订阅端点。
POST /emailer_campaigns/{id}/remove_contact_ids会返回 404。不带 ID 的版本POST /emailer_campaigns/remove_contact_ids会返回 200,但无论负载是什么都不会执行任何操作。唯一可靠的取消订阅方式是DELETE /contacts/{id},这会级联移除该联系人参与的所有营销活动。此操作具有破坏性:联系人的记录会被标记为deleted: true。apollo_sequence_remove_contacts封装了此操作。 -
GET /emailer_campaigns会创建一个空序列。 使用POST /emailer_campaigns/search列出序列。服务端已正确处理此问题,但直接调用 API 时请务必小心。 -
激活序列使用
PUT,而不是子资源。 激活或暂停序列的正确端点是PUT /emailer_campaigns/{id},请求正文为{"emailer_campaign": {"active": true/false}}。/check_contacts等子资源路径会返回 404。
脚本
scripts/daily_digest.py— 独立脚本,用于获取昨天的统计数据并将其添加到 Markdown 仪表板的开头。可通过 cron 运行,也可手动运行。scripts/bootstrap_sequences.py— 通过代码以编程方式创建序列,适合对电子邮件文案进行版本控制。脚本包含未公开的POST /emailer_touches/{id}/approve端点,该端点用于将步骤移出草稿状态。
相关 MCP
同一作者,采用相同的架构模式(FastMCP、在适用的写入操作中采用草拟 + 确认、自动导出到知识库、MIT):
- slack-mcp — 多工作区 Slack
- imessage-mcp — macOS iMessage
- whatsapp-mcp — 通过 whatsmeow 使用 WhatsApp
- google-workspace-mcp — Gmail / Calendar / Drive / Docs / Sheets
- substack-mcp — Substack 写作 + 数据分析
- luma-mcp — lu.ma 活动
- parse-mcp — markitdown / Docling / LlamaParse 路由器
- rescuetime-mcp — RescueTime 效率数据
- graph-query-mcp — 知识库知识图谱查询
- graph-autotagger-mcp — 根据知识图谱提供维基链接建议
- investor-relations-mcp — 种子轮融资流程跟踪器
- vault-sync-mcp — 双向知识库同步
遥测
此插件会在某台机器上的 Claude Code 会话中首次加载时,向 myceliumai.co 发送一条匿名安装信号。
发送的内容:
- 插件名称(例如
slack-mcp) - 插件版本(例如
0.1.0)
不会发送的内容:
- 不会发送用户标识符、姓名、电子邮件、令牌或 API 密钥
- 不会发送文件路径、消息内容或任何工作相关内容
- 去重处理后不会存储 IP 地址
**原因:**帮助维护者了解大家实际安装了哪些插件,从而将精力投入到有人使用的插件上。
**选择退出:**启动 Claude Code 前设置环境变量 MYCELIUM_NO_PING=1。此钩子将完全跳过网络调用。已发送过信号的安装会在 ~/.mycelium/onboarded-<plugin> 留下一个哨兵文件——如果要重置状态,请将其删除。
许可证
MIT
由 Mycelium AI 构建。完整安装版或团队版请访问 diazroa.com。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。