ActionBridge 为 AI 助手提供 55 个 MCP 工具(Model Context Protocol,模型上下文协议 —— 助手用来连接各类应用的开放标准):AB Projects 的 22 个 ab_* 工具、AB Sales 的 25 个 ab_crm_* 工具,以及 AB Support 的 8 个 ab_support_* 工具。读取类工具只返回数据,不改动任何内容。写入类工具以你的身份改动数据,并记在你的名下 —— 其中团队最关注的六个任务和文档工具,还会向已关联的 Microsoft Teams 频道发布一张卡片。
ab_crm_* 工具的门槛不同:关键在于你是不是某个 AB Sales 工作区的成员。只要你能在 AB Sales 中打开这个工作区,它的 CRM 工具对你就是可用的,读写都一样 —— AB Projects 的席位规则不适用于它们。ab_support_* 工具同理:关键在于你是不是该 desk(服务台)的成员。请参阅管理订阅、计费与许可证。如何阅读下面的表格
| 标记 | 含义 |
|---|---|
| 读取 | 只返回数据,不改动任何内容。 |
| 写入 | 改动数据,并以你的名义保存。 |
| Teams 卡片 | 同时在已关联的 Microsoft Teams 频道中发布或更新一张卡片,并明确标示为 AI 活动。 |
要先建立起连接本身,请参阅通过 MCP 连接 AI 助手。
AB Projects MCP 工具
这些工具处理项目、任务、日程,以及项目的文档(Wiki)。大多数都需要一个 project_id —— 可以从 ab_get_my_projects 获取。
项目与身份
项目的状态、类型和环境是看板用来给任务分类的标签 —— 例如 In Progress、Bug 或 Production。它们合称为项目的选项。
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_get_my_projects读取 | 列出你所属的每一个项目,包括成员数量、整体进度、你在其中的角色,以及创建时间。 | 无 |
ab_get_project_members读取 | 列出一个项目的成员及其角色和成员关系 ID —— 分配任务时需要的就是这个 ID。 | project_id |
ab_get_project_options读取 | 返回一个项目的有效状态、类型和环境 ID,以及固定的优先级数值。助手在给任务设置这些字段之前,应当先调用它。 | project_id |
ab_create_task_option写入 | 给项目新增一个状态、类型或环境 —— 也就是项目的 Status、Types 和 Environments 设置页所编辑的那些列表。这些列表由整个团队的看板共用,所以已被使用的名称会被拒绝;新选项会排在列表末尾。还可以设置一个状态,让任务移入该状态时被标记为完成,或被设为指定的进度。note 是必填的,会记录在项目的变更日志中。不发 Teams 卡片。 | project_id、kind(status/type/environment)、name、note;可选描述、颜色、locale |
ab_update_task_option写入 | 重命名、更改颜色、修改描述或重新排序现有的状态、类型或环境,或者修改某个状态是否会完成任务以及它设定的进度。使用该选项的每一个任务都会立即反映这一改动。这里不能删除选项 —— 否则任务会指向一个不存在的东西。note 是必填的。不发 Teams 卡片。 | project_id、kind、option_id、note;可选名称、描述、颜色、position |
ab_whoami读取 | 身份检查:服务器为本次会话解析出的邮箱、你的 AB 用户 ID、显示名称、租户、你的认证方式,以及服务器版本。当认证或成员关系看起来不对劲时,它很有用。 | 无 |
任务与日程
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_get_my_tasks读取 | 你的活动任务 —— 已逾期、今天到期和进行中 —— 附带 ID、标题、优先级、状态、截止日期和进度。 | project_id(可选筛选);可选 limit |
ab_search_tasks读取 | 在你的所有项目中按关键字搜索任务。 | query;可选 project_id、limit |
ab_get_task读取 | 一个任务的完整详情,包括它的评论、前置任务和后续任务,以及关联的文档。 | project_id、task_id |
ab_get_schedule读取 | 你今天和本周的任务,按截止日期排列。 | 可选 project_id、limit |
ab_create_task写入 Teams 卡片 | 创建一个任务。支持描述(Markdown)、优先级(1=高,2=中,3=低)、负责人、截止日期、状态/类型/环境 ID、parent_task_id(使其成为子任务),以及 depends_on_task_ids(前一个完成后才能开始的依赖关系;循环依赖会被拒绝)。note 说明改动的原因 —— 它会出现在变更历史和 Teams 卡片中。 | project_id、title |
ab_update_task写入 Teams 卡片 | 更新任务的标题、描述、状态、进度(0–100)、优先级、负责人、类型、环境、父任务、开始/截止日期、预估工时,或依赖关系(add_predecessors / remove_predecessors)。每一次改动都会连同你提供的备注一起记录下来。 | project_id、task_id |
ab_complete_task写入 Teams 卡片 | 把任务标记为完成,并附上一条完成备注。 | project_id、task_id |
ab_add_comment写入 Teams 卡片 | 给任务的讨论串添加一条评论;这条评论同时会发布到该任务的 Teams 对话中。 | project_id、task_id、content |
文档(Wiki)
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_get_wiki_tree读取 | 一个项目的文档导航树(文件夹和页面)。 | project_id |
ab_get_wiki_article读取 | 读取一个文档的完整内容、元数据和版本信息。 | project_id、article_id |
ab_search_wiki读取 | 列出某个文件夹路径下的文档(虽然名字里带 search,它其实是浏览文件夹,而不是按关键字搜索)。 | project_id;parent_path(默认 /) |
ab_create_wiki_article写入 Teams 卡片 | 用 Markdown 创建一个文档,可以指定文件夹和标签。 | project_id、title、content |
ab_update_wiki_article写入 Teams 卡片 | 更新一个文档,并生成一个新版本。必填的 edit_note 会显示在版本历史中。 | project_id、article_id、content、edit_note |
ab_add_wiki_comment写入 | 给文档添加一条评论。保存在文档上;不发 Teams 卡片。 | project_id、article_id、content |
ab_link_task_wiki写入 | 把一个任务关联到一个文档。这个关联是双向的 —— 两边都会显示 —— 重复调用也无害。不发 Teams 卡片。 | project_id、task_id、wiki_article_id |
ab_unlink_task_wiki写入 | 解除任务与文档的关联;如果两者原本就没有关联,则什么都不做。不发 Teams 卡片。 | project_id、task_id、wiki_article_id |
AB Sales(CRM)MCP 工具
这些工具处理你的销售管道 —— 也就是线索(Lead)→ 联系人(Contact)→ 商机(Opportunity)→ 客户(Customer)这条漏斗。几乎每一个都需要一个 workspace_id —— 先调用 ab_crm_workspaces 拿到它。所有 CRM 写入都会盖上你的名字和时间,并且在 AB Sales 应用中可见,但它们都不会发 Teams 卡片。
摸清情况
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_crm_workspaces读取 | 列出你可以使用的 CRM 工作区,附带线索/联系人/商机/客户的数量。先调用这一个 —— 其他每一个 CRM 工具都需要它给出的工作区 ID。 | 无 |
ab_crm_get_sales_context读取 | 该工作区的销售背景信息,用于起草符合品牌调性的外联内容:产品及价格、销售目标、价值主张,以及是否已配置对外发信。 | workspace_id |
ab_crm_get_pipeline读取 | 销售管道概况:按阶段统计的进行中商机(数量、总额、加权金额)、工作区合计,以及 30 天内将要成交的交易。 | workspace_id |
ab_crm_get_win_patterns读取 | 从你已结束的交易中挖掘赢单的共同点 —— 成交周期、交易规模、活动节奏、行业、线索来源,以及输单时填写的原因。它至少需要 5 笔 Closed-Won(赢单关闭)交易才会给出结论(另外需要 5 笔 Closed-Lost 才能对比输单那一侧);低于这个数量时,它会告诉你历史数据还不够,而不是凭寥寥几笔交易下判断。 | workspace_id |
线索
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_crm_list_leads读取 | 列出或搜索线索(Lead),最新的排在前面。状态:New(新建) InformationFilled(资料已完善) Contacted(已联系) Qualified(已确认商机) Disqualified(已排除) | workspace_id;可选 status、label、source、query、limit |
ab_crm_get_lead读取 | 一条线索的完整信息:资料、AI 公司调研、最近的备注、最近的邮件,以及它名下的商机。助手在更新线索或给线索发邮件之前会先调用它。 | workspace_id、lead_id |
ab_crm_create_lead写入 | 创建一条线索 —— 只有名称是必填的。线索起始于 New,一旦名称、网站和邮箱都齐全,就会自动提升到 InformationFilled。每创建一条新线索,都会占用工作区每月新增线索额度中的一条;额度用完后,该工具会拒绝执行并说明原因。 | workspace_id、name;可选邮箱、网站、联系人、电话、行业、来源、备注 |
ab_crm_update_lead写入 | 更新线索的字段、状态和/或标签。标签是逐个添加或移除的(add_labels / remove_labels);线索上的其他标签会保留。设置 automation_opt_out=true 会把这条线索排除在所有自动化外联之外。 | workspace_id、lead_id |
标签
标签(有些地方称为 tags)是工作区贴在线索上、用来给线索分组的彩色标记。每个工作区共用一份标签列表,所以助手会复用已有的标签,而不是再建一个几乎一样的。
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_crm_list_labels读取 | 列出工作区的线索标签及其 ID、名称和颜色。 | workspace_id;可选 include_archived |
ab_crm_create_label写入 | 创建一个标签。如果同名标签已经存在,会被拒绝 —— 工具会指向已有的那一个。 | workspace_id、name;可选颜色 |
ab_crm_update_label写入 | 重命名标签或更改其颜色。改动会显示在带有该标签的每一条线索上。 | workspace_id、label_id;name 和/或 color |
ab_crm_archive_label写入 | 归档(移除)一个标签。它会立即从每一条线索和每一个筛选条件中消失;线索本身不会被改动。由于这会改变整个团队看到的内容,助手应当先与你确认。 | workspace_id、label_id |
客户、联系人与商机
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_crm_list_customers读取 | 列出或搜索客户(Customer),最新的排在前面。 | workspace_id;可选 search、limit |
ab_crm_create_customer写入 | 创建一个客户 —— 通常是在转化一条已确认商机的线索(Lead)时。 | workspace_id、name |
ab_crm_list_contacts读取 | 列出属于某一个客户的联系人(Contact)。 | workspace_id、customer_id |
ab_crm_list_opportunities读取 | 列出商机(Opportunity),预计成交时间最近的排在前面。状态:Open(进行中)、Closed-Won(赢单关闭)、Closed-Lost(输单关闭)。 | workspace_id;可选 status、limit |
ab_crm_create_opportunity写入 | 在一个客户或一条线索下创建商机(上级必须已经存在)。 | workspace_id、parent_type(Customer/Lead)、parent_id、name;可选金额、币种、预计成交时间 |
ab_crm_update_opportunity写入 | 推进阶段,修改金额/预计成交时间/下一步,或用 close='won' 或 close='lost' 结束这笔交易(输单时必须填写输单原因)。 | workspace_id、opportunity_id |
活动、备注与邮件
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_crm_list_activities读取 | 列出活动(通话、会议、跟进任务)—— 可以是某一条记录上的活动,也可以是今天前后已排期的一段时间窗口。 | workspace_id;可选 related_type+related_id、days_back/days_ahead |
ab_crm_create_activity写入 | 在一条线索、客户、商机或联系人上安排一次跟进(Call 通话、Email 邮件、Meeting 会议、Note 备注或 Task 任务)。它会出现在团队的待办事项中。 | workspace_id、related_type、related_id、subject |
ab_crm_complete_activity写入 | 把一个活动标记为已完成,可以顺便记录结果。 | workspace_id、activity_id |
ab_crm_add_note写入 | 给一条线索、客户、商机或联系人添加一条备注(支持 Markdown)—— 这是把通话、决定和 AI 的动作记录给团队看的方式。 | workspace_id、parent_type、parent_id、text |
ab_crm_list_notes读取 | 列出一条记录上的备注,最新的排在前面。 | workspace_id、parent_type、parent_id |
ab_crm_list_emails读取 | 一条线索、客户或联系人上的邮件往来(收件和发件),最新的排在前面,附带内容预览。 | workspace_id、parent_type、parent_id |
ab_crm_send_email_to_lead写入 | 从工作区已配置的邮箱向一条线索发送一封纯文本邮件,然后把它归档到该线索的邮件往来中,并添加一条说明它是通过 MCP 发出的备注。助手必须先与你确认收件人、主题和正文;当线索已退出自动化、工作区的自动化已暂停,或者没有配置邮箱时,发送会被拒绝。 | workspace_id、lead_id、subject、body |
每个工具准确的参数定义,随时可以从工具本身取得;上面列出的入参是一份指引,而不是一份详尽的契约。
AB Support MCP 工具
这些工具处理你的 desk 和上面的工单。每一个都需要一个 desk_id —— 先调用 ab_support_desks 拿到它。和 CRM 工具一样,它们的门槛是该 desk 的成员身份,而不是 AB Projects 的席位,并且它们都不会发 Teams 卡片。AB Support 的界面是英文的 —— 本文中保留的 desk、Use this 等英文词,就是你在应用里会看到的原文。
ab_support_draft_reply 可以在工单上留下一份回复草稿,但在你 desk 上的某个人审阅它、并用 Use this(使用这条)发送之前,客户什么也看不到。ab_support_add_note 写的是一条只有你的 desk 能看到的内部备注。工单
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_support_desks读取 | 列出你可以使用的 desk,附带各自进行中和累计的工单数量。先调用这一个 —— 其他每一个 Support 工具都需要它给出的 desk ID。 | 无 |
ab_support_list_tickets读取 | 列出或搜索一个 desk 的工单,最近有动静的排在前面,附带客户、负责人、状态、优先级,以及当前是 AI 还是人在处理它。AI 正在答复某张工单时,它的负责人显示为“AI”。 | desk_id;可选 status、search、limit |
ab_support_get_ticket读取 | 一张工单的完整内容:面向客户的对话、desk 的内部备注(单独存放,不会被误当成客户说过的话)、变更历史,以及 AI 的建议回复 —— 那只是一份草稿,并没有发出去。 | desk_id、ticket_id |
分流
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_support_ticket_statuses读取 | 该 desk 自己的状态及其 ID。状态属于某个 desk,可以被重命名和重新排序,所以助手必须去读取它们,而不能假定存在一个叫 “Open”(进行中)的状态。 | desk_id |
ab_support_update_ticket写入 | 分流一张工单:状态、负责人和/或优先级。reason 是必填的 —— 它会写入工单的历史记录,好让 desk 看到工单为什么变动,而不只是看到它变动了。不改变客户看到的任何内容。把一个人分派到 AI 持有的工单上,就会把工单从 AI 手中接过来:AI 停止答复这位客户,历史记录中显示“AI → 姓名”。 | desk_id、ticket_id、reason;可选 status_id、assignee_user_id、priority |
ab_support_add_note写入 | 给 desk 添加一条内部备注 —— 客户永远看不到它,而且它不会改变工单的状态,因为备注不是回复。 | desk_id、ticket_id、note |
ab_support_draft_reply写入 | 把一份给客户的回复草稿留作工单的建议回复 —— 也就是 AI 自己的建议所在的同一个位置,并替换掉之前的任何建议。它从不发送任何内容:由 desk 上的某个人打开工单、审阅草稿,再用 Use this 发送。收件人永远是该工单的客户,而不是助手可以自行选择的。对已关闭的工单会被拒绝;当 desk 暂时还无法发送这份草稿时(因为用量额度已用完而暂停回复,或客户已退订该工单的渠道),它会发出警告。 | desk_id、ticket_id、body |
人
| 工具 | 作用 | 主要入参 |
|---|---|---|
ab_support_get_customer读取 | 一个客户的详细资料和他们过往的工单 —— 这个人以前有没有来问过,问的是什么。customer_id 就在工单上。它还会显示某人是否已退订 SMS 和 WhatsApp。 | desk_id、customer_id;可选 limit |
每个工具准确的参数定义,随时可以从工具本身取得;上面列出的入参是一份指引,而不是一份详尽的契约。
MCP 提示词 —— 现成的斜杠命令
除了工具之外,服务器还发布 MCP 提示词:在支持这一功能的客户端(Claude、ChatGPT、Cursor 等)中,它们会以斜杠命令的形式出现。每一个都会展开成一段指令,去驱动上面那些工具 —— 你不用自己写请求,就能得到一份整理好的结果。
| 提示词 | 产出什么 | 参数 |
|---|---|---|
ab-standup | 一份每日站会简报:已逾期、今天到期和进行中。 | project_id(可选) |
ab-weekly-review | 一份周回顾:交付了什么、拖延了什么、下周有什么风险。 | project_id(可选) |
ab-create-task | 从一句自然语言的意图出发,引导式地创建任务 —— 它会取回有效的选项,提议标题/优先级/截止日期,然后创建这个任务。 | project_id、intent(两者均必填) |
ab-find-blocked | 看起来被阻塞的任务,按项目分组,阻塞最久的排在前面。 | project_id(可选) |
ab-wiki-recap | 一个项目中最近编辑过的文档的摘要。 | project_id(必填) |
MCP 资源 —— 可拉取的信息流
MCP 资源是只读的信息流,客户端无需发起工具调用就能把它们作为背景上下文附带上。这四个都是关于你自己的工作,而不是整个团队的:
| 资源 | 内容 |
|---|---|
ab://me/today | 你所属的每一个项目中今天到期的任务。 |
ab://me/week | 未来 7 天内到期的任务,加上今天的。 |
ab://me/projects | 你的项目,附带成员数量、进度和你的角色。 |
ab://project/…/overview | 每个项目一份:你在该项目中未完成的任务,以及该项目的成员名单。 |
AI 写入时会发生什么
每一次写入都走和应用完全相同的代码路径,并以你的名义保存 —— 不存在一个匿名的“机器人”作者。至于它会把动静闹多大,取决于用的是哪个工具:
| 写入类工具 | 保存在记录上 | 操作日志(审计) | Teams 卡片 |
|---|---|---|---|
ab_create_task、ab_update_task、ab_complete_task、ab_add_comment |
变更历史,附带你的 note |
会 | 会,并明确标示为 AI 活动 |
ab_create_wiki_article、ab_update_wiki_article |
新版本,附带你的 edit_note |
会 | 会,并明确标示为 AI 活动 |
ab_create_task_option、ab_update_task_option |
会 —— 项目的变更日志会记下这次改动、改动前后的值,以及你的 note |
会 | 不会 |
ab_add_wiki_comment、ab_link_task_wiki、ab_unlink_task_wiki |
会,以你的名义 | 不会 | 不会 |
全部十二个 ab_crm_* 写入类工具 |
会,盖上你的名字和时间;备注和活动会显示在该记录的历史中 | 线索、商机、备注、新建活动和已发送的邮件会记录;客户、已完成的活动和标签不会 | 不会 |
ab_support_update_ticket、ab_support_add_note、ab_support_draft_reply |
会 —— 工单的历史记录会记下这次改动和你填写的原因 | 会 | 不会 |
所以,助手创建或关闭的任务,和你自己点出来的任务一样可见 —— 同样的变更历史、同样的审计条目、频道里同样的卡片。那些更安静的写入(文档评论、任务与文档的关联、项目选项的修改、CRM 记录,以及支持工单)仍然记在你名下,在应用中也仍然看得到;它们只是不去打扰频道。
常见问题
仅仅让助手读取,也需要许可证吗?
不需要。每一个读取类工具对任何项目成员都可用,有没有授权都一样。只有 AB Projects 的那十一个写入类工具会检查席位,而且只在你的组织超过 10 个免费用户之后才检查。
为什么我的助手只看得到我的一部分项目?
这些工具只能看到你已经接受邀请、确实是其成员的项目和工作区。运行 ab_whoami 可以确认服务器为你这次连接解析出的是哪个账号 —— 大多数“工具找不到它”的反馈,原因都是这里对不上。
AI 会在我不知情的情况下给客户发邮件吗?
ab_crm_send_email_to_lead 是唯一会发信的工具,它要求你先确认收件人、主题和正文;而当线索已退出自动化、工作区的自动化已暂停,或者没有配置邮箱时,它会直接拒绝。每一次发送都会连同一条备注归档到该线索的邮件往来中。
助手能答复支持工单的客户吗?
不能直接答复。ab_support_* 这一组里没有任何工具能发送回复,所以助手的任何动作都不会传到提交工单的那个人手上。它可以读取对话、修改状态、分派负责人、设置优先级、添加一条只留在你 desk 上的内部备注,以及用 ab_support_draft_reply 起草一份回复。这份草稿会作为工单的建议回复留在那里,直到你 desk 上的某个人审阅它并用 Use this 发送 —— 或者忽略它。
为什么我的助手要问我为什么改这张工单?
因为 ab_support_update_ticket 没有 reason 就会拒绝执行。每一次状态、负责人和优先级的变更,都会带着那个原因落到工单的历史记录里,这样以后接手这张工单的同事就能看到它为什么变动,而不用靠猜。
ab_search_wiki 会搜索我的文档吗?
不会 —— 虽然名字里带 search,它其实是列出某个文件夹路径下的文档。要按内容查找文档,请用 ab_get_wiki_tree 拉出整棵树,再用 ab_get_wiki_article 逐个读取候选项。
已对照正式发布的 MCP 服务器核对,核对日期 2026 年 10 月 2 日:55 个工具、5 个提示词、4 个资源流。