关于 ManyContacts - WhatsApp Business CRM
ManyContacts - WhatsApp Business CRM 是供 AI Agent 操作 ManyContacts CRM 的 MCP 服务,适用于管理 WhatsApp 业务沟通。工具涵盖联系人、消息、营销活动和 AI 自动回复设置。
主要功能
- 01管理和筛选联系人
- 02分配、标记和整理联系人
- 03读取并发送 WhatsApp 消息
- 04运行营销活动
- 05配置 AI 自动回复
适用场景
- 01更新 CRM 联系人和销售阶段
- 02通过 Agent 处理 WhatsApp 对话
- 03配置营销活动与自动回复
MCP 相关
该 MCP 服务将 ManyContacts CRM 操作封装为 MCP 客户端可调用的工具,包括联系人管理、WhatsApp 消息、营销活动和 AI Agent 设置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
55收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
ManyContacts MCP 服务
面向 ManyContacts(WhatsApp Business CRM)的 MCP(Model Context Protocol)服务。支持 AI Agent(Claude、Cursor、Windsurf 等)以编程方式管理联系人、发送 WhatsApp 消息、运行营销活动、配置 AI 自动回复,以及执行所有 CRM 操作。
快速开始
1. 获取 CLI 令牌
npm install -g @manycontacts/cli
已有账户? 登录:
mc auth login --email [email protected] --password mypassword
mc auth whoami # verify it works
刚开始使用 ManyContacts? 创建账户并连接 WhatsApp 渠道:
# Register a new account
mc auth register --email [email protected] --name "My Company"
# Connect a WhatsApp Business channel (choose one method):
mc channels connect whatsapp-api # WhatsApp Cloud API (recommended)
mc channels connect coexistence # ManyContacts coexistence mode
mc channels connect qr # QR code pairing
# Verify everything is set up
mc auth whoami
mc channels list
2. 在 MCP 客户端中配置
Claude Desktop / Claude Code
将以下内容添加到 MCP 设置(~/.claude/claude_desktop_config.json 或类似文件):
{
"mcpServers": {
"manycontacts": {
"command": "npx",
"args": ["@manycontacts/mcp"],
"env": {
"MC_CLI_TOKEN": "your-cli-token-here"
}
}
}
}
Cursor
添加到 .cursor/mcp.json:
{
"mcpServers": {
"manycontacts": {
"command": "npx",
"args": ["@manycontacts/mcp"],
"env": {
"MC_CLI_TOKEN": "your-cli-token-here"
}
}
}
}
提示: 如果你已通过 CLI 登录(
mc auth login),令牌会存储在~/.manycontacts/config.json中,MCP 服务将自动读取,无需设置MC_CLI_TOKEN环境变量。
可用工具(共 55 个)
账户与上下文
manycontacts.context
全面了解你的 ManyContacts 账户:已连接的 WhatsApp Business 渠道、联系人/用户/标签数量、活跃 AI Agent 以及已启用的功能。执行其他操作前,请先使用此工具了解账户状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
manycontacts.org.get
获取 WhatsApp Business 组织/账户信息,包括名称、时区和所有配置设置。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
manycontacts.org.update
更新组织级设置,例如时区、自动回复消息、自动关闭行为和 webhook 配置。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
timezone | string | 否 | 时区标识符(例如 Europe/Madrid、America/New_York) |
auto_reply_open | boolean | 否 | 启用新聊天开启时的自动回复 |
auto_reply_open_text | string | 否 | 聊天开启时发送的自动回复消息 |
auto_reply_close | boolean | 否 | 启用聊天关闭时的自动回复 |
auto_reply_close_text | string | 否 | 聊天关闭时发送的自动回复消息 |
auto_reply_close_minutes | number | 否 | 自动关闭前的无活动分钟数 |
auto_reply_away | boolean | 否 | 启用离开/非工作时间自动回复 |
auto_reply_away_text | string | 否 | 离开时发送的自动回复消息 |
webhooks_forward | boolean | 否 | 启用将 webhook 转发到外部 URL |
webhooks_forward_url | string | 否 | 用于接收 webhook 事件转发的外部 URL |
manycontacts.org.schedule.get
获取营业时间安排。返回每周各天配置的工作时间,用于确定“离开”自动回复的启用时间。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
manycontacts.org.apikey
获取组织的 REST API 密钥,用于直接 API 集成。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
manycontacts.channels.list
列出所有已连接的 WhatsApp Business 和 Instagram 渠道。对于 WhatsApp 渠道,会显示电话号码和连接状态;对于 Instagram 渠道,会显示用户名。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
联系人
所有联系人操作均使用电话号码作为标识符(包含国家代码,不带 + 前缀,例如 34600000000)。
manycontacts.contacts.list
使用高级筛选条件列出 WhatsApp Business 联系人。返回分页结果,并包含 has_more 指示项。筛选条件可自由组合。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
page | number | 否 | 页码(默认值:1) |
limit | number | 否 | 每页结果数,最大为 200(默认值:50) |
open | "true" | "false" | 否 | 按对话开启/关闭状态筛选 |
assigned_to | string | 否 | 按指派的用户 ID 筛选 |
tags | string | 否 | 逗号分隔的标签 ID — 联系人必须拥有所有指定标签 |
team | string | 否 | 按团队 ID 筛选 |
stages | string | 否 | 逗号分隔的漏斗阶段 ID |
date_from | string | 否 | 筛选在此日期之后更新的联系人(YYYY-MM-DD) |
date_to | string | 否 | 筛选在此日期之前更新的联系人(YYYY-MM-DD) |
unread | "true" | 否 | 仅显示有未读消息的联系人 |
blacklist | "true" | 否 | 仅显示已拉黑的联系人 |
scheduled | "true" | 否 | 仅显示有待发送定时消息的联系人 |
注意: 同时使用
date_from和date_to时,日期范围不能超过 90 天。
响应:
{
"ok": true,
"data": [
{
"name": "John Doe",
"number": "34600000000",
"open": true,
"last_user_id": "uuid-of-assigned-user",
"source": "whatsapp",
"notes": "VIP customer",
"customFields": {},
"createdAt": "2026-01-15T10:30:00Z"
}
],
"pagination": { "page": 1, "limit": 50, "has_more": true }
}
manycontacts.contacts.get
获取特定联系人的详细信息,包括其标签、团队、漏斗阶段和自定义字段。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 带国家代码的电话号码(例如 34600000000) |
manycontacts.contacts.create
在 CRM 中创建新的 WhatsApp Business 联系人。电话号码将自动标准化(移除开头的 +)。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 带国家代码的电话号码(例如 34600000000) |
name | string | 否 | 联系人显示名称 |
notes | string | 否 | 联系人的自由文本备注 |
manycontacts.contacts.update
更新现有联系人的姓名、备注或自定义字段。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 要更新的联系人的电话号码 |
name | string | 否 | 联系人的新姓名 |
notes | string | 否 | 联系人的新备注 |
customFields | string | 否 | JSON 字符串格式的自定义字段(例如 '{"company":"Acme"}') |
manycontacts.contacts.delete
从 CRM 中永久删除联系人。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 要删除的联系人的电话号码 |
manycontacts.contacts.assign
将联系人指派给特定团队成员。被指派的用户会在个人收件箱中看到此联系人。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
userId | string | 是 | 要将联系人指派给的用户 ID(使用 manycontacts.users.list 获取 ID) |
manycontacts.contacts.unassign
移除联系人的当前用户指派。该联系人将返回到未指派的公共收件箱。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
manycontacts.contacts.close
关闭 WhatsApp 对话。已关闭的对话会被归档,不会显示在活动收件箱中。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
manycontacts.contacts.open
重新打开之前关闭的 WhatsApp 对话。该联系人会再次显示在活动收件箱中。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
manycontacts.contacts.tag.add
为联系人添加标签。使用 manycontacts.tags.list 获取可用的标签 ID。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
tagId | string | 是 | 要添加的标签 ID |
manycontacts.contacts.tag.remove
移除联系人的标签。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
tagId | string | 是 | 要移除的标签 ID |
manycontacts.contacts.team.add
为联系人添加团队。使用 manycontacts.teams.list 获取可用的团队 ID。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
teamId | string | 是 | 要添加的团队 ID |
manycontacts.contacts.team.remove
移除联系人的团队。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
teamId | string | 是 | 要移除的团队 ID |
manycontacts.contacts.set_stage
将联系人移至销售漏斗/管道中的指定阶段。使用 manycontacts.funnels.list 获取漏斗和阶段 ID。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
funnel_id | string | 是 | 漏斗 ID |
stage_id | string | 是 | 漏斗中的目标阶段 ID |
manycontacts.contacts.bulk
一次对多个联系人执行批量操作。支持关闭、打开、分配、添加标签和分配团队。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
action | "close" | "open" | "assign" | "add_tag" | "add_team" | 是 | 要执行的批量操作 |
phones | string | 是 | 以逗号分隔的电话号码(例如 "34600000000,34600000001") |
value | string | 否 | 操作所需的值:assign 使用用户 ID,add_tag 使用标签 ID,add_team 使用团队 ID。close 或 open 无需此值。 |
消息
manycontacts.messages.list
列出联系人的 WhatsApp 对话消息。以便于阅读对话的格式返回消息,包括时间戳、状态和发送者信息。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
page | number | 否 | 页码(默认值:1) |
limit | number | 否 | 每页消息数(默认值:50) |
manycontacts.messages.send.text
向联系人发送 WhatsApp 文本消息。仅在 24 小时对话窗口内有效。若要在此窗口之外发起对话,请使用 manycontacts.messages.send.template。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 接收消息的电话号码 |
body | string | 是 | 消息文本内容 |
manycontacts.messages.send.note
在联系人的对话中创建内部备注。备注仅对团队成员可见,不会发送给 WhatsApp 联系人。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 联系人的电话号码 |
body | string | 是 | 内部备注文本 |
manycontacts.messages.send.template
发送 WhatsApp Business 模板消息。要在 24 小时窗口之外发起对话或批量发送外发消息,必须使用模板。模板必须经过 Meta 预先批准。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
phone | string | 是 | 要向其发送模板的电话号码 |
templateId | string | 是 | 模板 ID(使用 manycontacts.templates.list 获取 ID) |
variables | string | 否 | 以 JSON 数组字符串表示的模板变量(例如,'["John","20%"]') |
模板
WhatsApp Business 模板是预先批准的消息格式,用于在 24 小时对话窗口之外发送外发消息。
manycontacts.templates.list
列出所有 WhatsApp Business 消息模板。显示模板名称、代码、状态、组件和媒体标记。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
status | "approved" | "pending" | "rejected" | 否 | 按审批状态筛选模板 |
manycontacts.templates.get
获取特定模板的完整详情,包括其组件(页眉、正文、页脚、按钮)、配置和媒体附件。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
id | string | 是 | 模板 ID |
manycontacts.templates.sync
通过 Meta Cloud API 同步 WhatsApp Business 模板。从已连接的 WhatsApp Business 账户获取最新模板。在 Meta Business Manager 中创建或修改模板后,此操作很有用。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
活动
活动可在预定时间向电话号码列表批量发送 WhatsApp 模板消息。
manycontacts.campaigns.list
列出所有 WhatsApp Business 批量消息活动及其统计数据(已发送、已送达、已读和失败的数量)、模板名称和预定日期。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
manycontacts.campaigns.create
创建新的 WhatsApp Business 批量消息活动。活动将在预定时间向指定电话号码发送模板消息。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 活动名称 |
templateId | string | 是 | 要使用的 WhatsApp 模板 ID(必须为 approved) |
phones | string | 是 | 以逗号分隔的电话号码(例如,"34600000000,34600000001,34600000002") |
date | string | 是 | ISO 格式的预定发送日期(例如,"2026-12-01T09:00:00") |
variables | string | 否 | 以 JSON 数组字符串表示的模板变量(例如,'["John","20%"]') |
manycontacts.campaigns.delete
删除 WhatsApp Business 活动。只能删除待处理(尚未发送)的活动。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
id | string | 是 | 要删除的活动 ID |
标签
标签是带颜色的标记,用于对 WhatsApp Business 联系人进行分类和筛选(例如,“VIP”、“支持”、“潜在客户”)。
manycontacts.tags.list
列出所有可用标签及其名称、颜色和 ID。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| (无) | — | — | 无需参数 |
manycontacts.tags.create
创建用于联系人分类的新标签。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 标签名称 |
color | string | 否 | 以十六进制代码表示的标签颜色(例如,"#ff0000")。默认为 #fab1a0 |
manycontacts.tags.update
更新现有标签的名称或颜色。
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | 要更新的标签 ID |
name | string | No | 新标签名称 |
color | string | No | 新标签颜色(十六进制代码) |
manycontacts.tags.delete
删除标签。该标签将从所有带有此标签的联系人中移除。
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | 要删除的标签 ID |
团队
团队将用户分组,以便进行分配路由和联系人整理。
manycontacts.teams.list
列出组织中的所有团队。
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | 无需参数 |
manycontacts.teams.create
创建新团队。
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 团队名称 |
manycontacts.teams.add_member
将用户添加到团队。
| Parameter | Type | Required | Description |
|---|---|---|---|
teamId | string | Yes | 团队 ID |
userId | string | Yes | 要添加到团队的用户 ID |
manycontacts.teams.remove_member
从团队中移除用户。
| Parameter | Type | Required | Description |
|---|---|---|---|
teamId | string | Yes | 团队 ID |
userId | string | Yes | 要从团队中移除的用户 ID |
manycontacts.teams.delete
删除团队。团队成员不会被删除,仅删除团队分组。
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | 要删除的团队 ID |
销售漏斗 / 管道
漏斗可帮助你跟踪联系人在多阶段销售或支持管道中的进展(例如,“新线索” -> “已确认” -> “已发送提案” -> “已成交”)。
manycontacts.funnels.list
列出所有销售漏斗 / 管道及其阶段。
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | 无需参数 |
manycontacts.funnels.create
创建新的销售漏斗 / 管道。
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 漏斗名称 |
manycontacts.funnels.add_stage
向现有漏斗添加新阶段。
| Parameter | Type | Required | Description |
|---|---|---|---|
funnelId | string | Yes | 漏斗 ID |
name | string | Yes | 阶段名称(例如,“已确认”、“已发送提案”) |
order | number | Yes | 阶段在管道中的位置(从 0 开始) |
manycontacts.funnels.update_stage
更新漏斗中阶段的名称。
| Parameter | Type | Required | Description |
|---|---|---|---|
funnelId | string | Yes | 漏斗 ID |
stageId | string | Yes | 要更新的阶段 ID |
name | string | No | 新阶段名称 |
manycontacts.funnels.contacts
列出当前位于指定漏斗中的联系人,可选择按阶段筛选。返回分页结果。
| Parameter | Type | Required | Description |
|---|---|---|---|
funnelId | string | Yes | 漏斗 ID |
stage_id | string | No | 按指定阶段 ID 筛选 |
page | number | No | 页码 |
limit | number | No | 每页结果数 |
manycontacts.funnels.delete
删除销售漏斗 / 管道及其所有阶段。漏斗中的联系人不会被删除。
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | 要删除的漏斗 ID |
用户 / 团队成员
管理有权访问 WhatsApp Business CRM 的团队成员。
manycontacts.users.list
列出组织中的所有团队成员 / 用户及其角色和详细信息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (none) | — | — | 无需参数 |
manycontacts.users.get
获取特定团队成员的详细信息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 用户 ID |
manycontacts.users.update
更新团队成员的个人资料信息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 要更新的用户 ID |
name | string | 否 | 新的用户显示名称 |
manycontacts.users.invite
通过电子邮件邀请新团队成员加入组织。对方将收到加入邀请邮件。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | 是 | 用于发送邀请的电子邮件地址 |
manycontacts.users.delete
将团队成员从组织中移除。分配给该成员的联系人将变为未分配状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 要移除的用户 ID |
AI Agent
AI Agent 会根据可配置的指令和场景自动回复收到的 WhatsApp 消息。这里只列出已启用的 Agent。
manycontacts.ai_agents.list
列出所有已启用的 AI 自动回复 Agent 及其配置。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| (none) | — | — | 无需参数 |
manycontacts.ai_agents.get
获取特定 AI Agent 的完整详细信息,包括其场景(对话流程)、指令区块和配置。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | AI Agent ID(UUID) |
manycontacts.ai_agents.update
更新 AI Agent 的配置。可以启用 / 停用 Agent,或修改其指令区块。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | AI Agent ID(UUID) |
active | boolean | 否 | 启用(true)或停用(false)Agent |
block_1 | string | 否 | Agent 指令 — 区块 1 |
block_2 | string | 否 | Agent 指令 — 区块 2 |
block_3 | string | 否 | Agent 指令 — 区块 3 |
manycontacts.ai_agents.feedback
获取 AI Agent 的反馈和对话日志,查看 Agent 的回复情况和用户满意度数据。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | AI Agent ID(UUID) |
可用提示词(共 6 个)
预先构建的提示词,可引导 AI Agent 执行常见工作流。使用这些提示词可快速完成多步骤任务。
contact-lookup
查找 WhatsApp 联系人,并获取其个人资料、标签、销售漏斗阶段和近期消息的完整摘要。
| 参数 | 必填 | 说明 |
|---|---|---|
phone | 是 | 国际格式的电话号码(例如 +34612345678) |
send-campaign
创建 WhatsApp 群发活动的分步指南:列出可用模板、询问收件人和发送时间,然后创建活动。
| 参数 | 必填 | 说明 |
|---|---|---|
| (none) | — | 交互式引导工作流 |
daily-dashboard
生成 ManyContacts 账户的完整概览,包括渠道、待处理会话、团队结构和销售漏斗。
| 参数 | 必填 | 描述 |
|---|---|---|
| (none) | — | 无需参数 |
reply-to-contact
查看与联系人的近期会话记录,然后在完整上下文的基础上发送 WhatsApp 消息。
| 参数 | 必填 | 描述 |
|---|---|---|
phone | 是 | 国际格式的电话号码(例如:+34612345678) |
message | 是 | 要发送的消息文本 |
manage-funnel
显示所有销售漏斗及其阶段和每个阶段的联系人数量,直观呈现销售管道概览。
| 参数 | 必填 | 描述 |
|---|---|---|
| (none) | — | 无需参数 |
bulk-tag-contacts
一次为多个联系人添加标签——查找或创建标签,然后批量应用。
| 参数 | 必填 | 描述 |
|---|---|---|
phones | 是 | 以逗号分隔的电话号码(例如:+34612345678,+34698765432) |
tagName | 是 | 要应用的标签名称 |
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
MC_CLI_TOKEN | 是* | ManyContacts CLI 身份验证令牌。通过 mc auth login 获取。 |
MC_API_URL | 否 | API 基础 URL(默认值:https://api.manycontacts.com) |
*如果你已通过 CLI 登录,令牌会保存在本地的
~/.manycontacts/config.json中,MCP 服务会自动读取。
身份验证
MCP 服务使用 CLI 令牌进行身份验证。每个令牌都限定于一个组织,并且权限可配置。
# Login to get a token
mc auth login --email [email protected] --password mypassword
# The token is stored at ~/.manycontacts/config.json
# Or set it explicitly via environment variable:
export MC_CLI_TOKEN=your-token-here
速率限制
- **付费账户:**每分钟 60 个请求
- **免费/试用账户:**每分钟 10 个请求
达到速率限制时,服务会返回 429 错误,并附上升级链接。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。