MCP 服务器

知你AI助手|多平台客户与客服数据 MCP

io.github.zhinikefu/zhini-ai-assistant
通信 销售与 CRM 需要认证 MCP 2025-11-25

此 MCP 可以做什么

Searches and analyzes customer profiles, conversations, sessions, tags, channels, and support-agent assignments across multiple messaging and social channels.

zhini_fetch_messages
获取消息
读取聊天消息。支持按 sid 首次加载会话消息、按 mid 游标翻页、按 uid 查询某客户消息。适用于查看当前会话上下文、查看历史会话命中词前后文、按 UID 拉取某段时间内消息并总结诉求/投诉/售后问题。已知 uid/sid/mid 时直接调用本工具,不要先搜索。约束:sid、mid、uid 至少传一个;传 mid 时建议同时传 direction;按 uid 查询时 start_time/end_time 可选;size 最大 20。时间语义:start_time/end_time 是消息发生时间过滤,不是会话开启时间。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'mid': {'type': 'string', 'description': '消息 ID。按游标翻页时传;传 mid 时建议同时传 direction。'}, 'sid': {'type': 'string', 'description': '会话 ID。首次按会话加载消息时传。'}, 'uid': {'type': 'string', 'description': '知你侧客户 UID。按客户查询消息时传,可结合 start_time/end_time 限定消息发生时间。'}, 'size': {'type': 'integer', 'default': 20, 'maximum': 20, 'minimum': 1, 'description': '返回消息数量,默认 20,最大 20。'}, 'end_time': {'type': 'number', 'description': '查询消息结束时间,秒级 Unix 时间戳。按 uid 查询时可选,表示消息发生时间。'}, 'direction': {'enum': ['backward', 'forward'], 'type': 'string', 'description': '翻页方向。backward 表示更早消息,forward 表示更新消息。'}, 'start_time': {'type': 'number', 'description': '查询消息开始时间,秒级 Unix 时间戳。按 uid 查询时可选,表示消息发生时间。'}, 'include_mid': {'enum': [0, 1], 'type': 'number', 'description': '为 1 时包含指定 mid;翻页查看某条消息前后文时使用。'}}, 'additionalProperties': False}
zhini_get_apikey_usage
查询 apikey 用量
查询当前请求 API Key 所属账号的总配额、账号已使用量、账号剩余量,以及当前请求 API Key 的实时已使用量。工具无业务入参;服务端使用当前请求提供的 API Key 调用配额接口,并标准化返回 total、remaining、used、current_api_key_used,其中前三项是账号整体数据,最后一项是当前请求 API Key 数据。安全边界:不允许模型传入 apikey 或内部 api_key 查询参数,也不返回完整 API Key。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
zhini_get_current_kefu
查询当前调用者 kfid
获取当前调用者的客服 ID,即 kfid。用于在调用 zhini_list_active_sessions 前识别当前会话列表中哪些是自己正在接待的会话,或在用户明确说“我处理过、我接待过、我回复过、归属于我”等第一人称归属条件时构造 kfid 筛选。重要边界:用户只要求查询当天或某个时间范围内的对话、咨询过的客户时,默认范围是当前授权账号关联的所有渠道,不表示当前调用客服本人处理过,不应调用本工具或自动附加当前 kfid。本工具只输出 kfid,不输出手机号、姓名、团队、企业或负责渠道等身份信息。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
zhini_get_customer_profile
查询客户资料
按客户 UID 获取客户资料和标签,用于确认客户身份、来源、负责人、联系方式、备注和标签。适用于客服回复前、销售跟进前、复盘客户历史前。边界:只读查询,不修改客户资料、备注、负责人或标签。前置:如果用户只给姓名/手机号/微信号,先用 zhini_search_customers 找 uid;如果已经有 uid,直接调用本工具。后续:需要聊天上下文时调用 zhini_fetch_messages。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['uid'], 'properties': {'uid': {'type': 'string', 'minLength': 1, 'description': '知你侧客户 UID。通常由 zhini_search_customers 返回,也可由会话数据中的 uid 字段提供。'}}, 'additionalProperties': False}
zhini_list_active_sessions
查询当前会话队列
获取当前授权客服账号所负责渠道下尚未关闭、尚未结束的当前会话队列。用于查看此刻的待接待、我的会话、同事会话、AI 会话状态,或从当前队列选定会话后读取消息/客户资料。重要边界:这是当前队列快照,不是历史查询;当天或更早已经由当前授权账号、其他客服结束/关闭的会话不会返回,不能用本工具汇总某天或某段时间内的全部用户、全部接待或完整会话。需要完整用户范围时调用 zhini_search_customers;需要已结束、已关闭或历史会话时调用 zhini_search_sessions,必要时再用 zhini_fetch_messages 按消息时间验证。范围:只返回当前授权账号负责渠道下的会话,不是全企业所有会话;我的会话全部返回,同事会话最多显示 250 个,排队中/等待接待会话最多显示 100 个,达到上限时摘要应提示可能被截断。前置:需要区分“我的会话/同事会话”时,先调用 zhini_get_current_kefu 获取当前 kfid。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kfid': {'type': 'string', 'description': '当前调用者客服 ID。可由 zhini_get_current_kefu 获取;传入后可标记 queue_type:mine、colleague、waiting、ai。未传 kfid 时不能判断 mine/colleague,只能识别 waiting、ai、assigned_unknown。'}}, 'additionalProperties': False}
zhini_list_channels
查询渠道列表
获取渠道列表,用于把渠道名解析成 channel_id,并解释渠道类型。适用于用户说“查公众号A的客户”“查小红书渠道的历史会话”“按渠道分析咨询来源”时,先解析渠道 ID。支持 all、miniapp、pubapp、wxbot、webplugin、h5plugin、wework_kf、douyin、douyin_private、weibo、wework_bot、wxbot_channel、xiaohongshu、minigame、wxstore;不暴露已废弃渠道。前置:无。后续:拿到 channel_id 后可调用 zhini_search_customers 或 zhini_search_sessions。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'type': {'enum': ['all', 'miniapp', 'pubapp', 'wxbot', 'webplugin', 'h5plugin', 'wework_kf', 'douyin', 'douyin_private', 'weibo', 'wework_bot', 'wxbot_channel', 'xiaohongshu', 'minigame', 'wxstore'], 'type': 'string', 'default': 'all', 'description': '渠道类型。all 表示全部;也可指定 miniapp、pubapp、wxbot、xiaohongshu 等具体类型。'}, 'group_by_type': {'type': 'boolean', 'default': True, 'description': '是否按渠道类型聚合返回 groups,默认 true。'}}, 'additionalProperties': False}
zhini_list_kefu
查询客服列表
获取当前授权范围内的客服列表,用于把客服姓名解析成 kfid。适用于“客服A负责哪些客户”“抽查某客服历史接待”“队列统计时把 kfid 转成人名”等场景。only_active=true 时只返回可用客服;name 为空时可标准化为未命名。前置:无。后续:拿到 kfid 后可调用 zhini_search_customers、zhini_search_sessions,或在 zhini_list_active_sessions 中辅助标记 mine/colleague。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'scene': {'type': ['string', 'number'], 'description': '业务场景;客户/历史筛选通常传 1。'}, 'only_active': {'type': 'boolean', 'default': True, 'description': '是否过滤 status=0 的客服。'}}, 'additionalProperties': False}
zhini_list_tag_groups
查询标签分组
获取标签分组,用于了解标签体系、解释标签归属,或在列出某分组标签前获取 tag_group_id。边界:只读字典工具,不新增、修改或删除标签分组。前置:无。后续:已知分组后可调用 zhini_list_tags;用户直接给标签名时通常优先调用 zhini_search_tags。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
zhini_list_tags
查询标签列表
分页获取标签列表,用于在已知标签分组 ID 时列出该分组下的标签,并为客户搜索或历史会话搜索提供 tag_id。page 从 1 开始;page_size 最大 20。前置:可先调用 zhini_list_tag_groups 获取分组;如果用户只提供标签中文名,优先调用 zhini_search_tags 解析 tag_id。后续:拿到 tag_id 后可调用 zhini_search_customers 或 zhini_search_sessions。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': '页码,从 1 开始,默认 1。'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 20, 'minimum': 1, 'description': '每页返回标签数量,最大 20。'}, 'tag_group_id': {'type': 'string', 'description': '标签分组 ID。可由 zhini_list_tag_groups 返回;不传时查询默认标签范围。'}}, 'additionalProperties': False}
zhini_search_customers
搜索客户
搜索客户通讯录,用于根据客户名、手机号、微信号、客服、负责人、明确标签、渠道、性别、联系人类型或时间范围完整召回符合条件的客户 UID。用户只要求查询当天或某个时间范围内咨询过的客户时,默认查询当前授权账号关联的所有渠道范围,不代表当前调用客服本人接待或回复过;除非用户明确说“我处理过、我接待过、我回复过、归属于我”或指定某客服/渠道,否则不要自动传 kfid、pic_kfids 或 channel_id。用户要求查询某天或某段时间内的全部用户、包括会话已经结束/关闭的用户时,应使用本工具分页查询,不能用 zhini_list_active_sessions 代替。重要边界:自然语言中的“XXX 用户/客户”默认是业务语义或筛选条件,不应自动转换为 tag_id。可由名称、时间、渠道、客服等结构化字段表达的条件直接使用本工具;必须根据聊天内容判断的条件,应结合 zhini_search_sessions 和 zhini_fetch_messages 识别。只有用户明确要求某标签或上下文已有 tag_id 时才按标签筛选,且 tag_id 只覆盖已标注客户。用户给客户姓名/手机号/微信号时先用本工具召回候选客户;如果匹配多个客户,应让用户确认。用户明确给出标签名、渠道名、客服名时,应先分别调用 zhini_search_tags、zhini_list_channels、zhini_list_kefu 解析 ID。禁止空条件拉全量;page 从 0 开始;page_size 最大 20。后续:拿到 uid 后通常调用 zhini_get_customer_profile 或 zhini_fetch_messages。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sex': {'type': 'array', 'items': {'enum': [0, 1, 2], 'type': 'number'}, 'description': '性别枚举数组:0 未知,1 男,2 女。'}, 'kfid': {'type': 'array', 'items': {'type': 'string'}, 'description': '归属员工/客服 ID 列表。用户给客服名时应先调用 zhini_list_kefu 解析 kfid。'}, 'name': {'type': 'string', 'description': '客户昵称或名称关键词。'}, 'page': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '页码,从 0 开始。'}, 'phone': {'type': 'string', 'description': '手机号关键词。'}, 'tag_id': {'type': 'array', 'items': {'type': 'string'}, 'description': '标签 ID 列表。用户给标签名时应先调用 zhini_search_tags 解析 tag_id。'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 20, 'minimum': 1, 'description': '每页返回客户数量,默认 20,最大 20。'}, 'pic_kfids': {'type': 'array', 'items': {'type': 'string'}, 'description': '负责人 ID 列表。用户给负责人姓名时应先调用 zhini_list_kefu 解析 kfid。'}, 'channel_id': {'type': 'array', 'items': {'type': 'string'}, 'description': '渠道 ID 列表。用户给渠道名时应先调用 zhini_list_channels 解析 channel_id。'}, 'user_wechat_id': {'type': 'string', 'description': '微信号关键词。'}, 'add_friend_time': {'type': 'array', 'items': [{'type': 'number'}, {'type': 'number'}], 'maxItems': 2, 'minItems': 2, 'description': '添加好友时间范围,秒级 Unix 时间戳二元组;[0,0] 表示无添加时间。'}, 'wx_contact_type': {'type': 'array', 'items': {'enum': [0, 1], 'type': 'number'}, 'description': '联系人类型数组:0 联系人,1 群组。'}, 'last_contact_time': {'type': 'array', 'items': [{'type': 'number'}, {'type': 'number'}], 'maxItems': 2, 'minItems': 2, 'description': '最后联系时间范围,秒级 Unix 时间戳二元组;[0,0] 表示无最后联系时间。'}}, 'additionalProperties': False}
zhini_search_sessions
搜索历史会话
搜索历史会话,用于按客户名、消息关键词、消息发送时间范围、客服、渠道、明确标签、联系人类型召回包括已结束、已关闭会话在内的历史会话候选。用户只要求查询当天或某个时间范围内的对话、咨询记录时,默认查询当前授权账号关联的所有渠道范围,不代表当前调用客服本人接待或回复过;除非用户明确说“我处理过、我接待过、我回复过、归属于我”或指定某客服/渠道,否则不要自动传 kfid 或 channel_id。用户要求查询某天或某段时间内的全部接待、完整会话或已结束会话时,应使用本工具分页查询,不能只调用 zhini_list_active_sessions。自然语言中的“XXX 用户/客户”默认是业务语义;当 XXX 必须根据聊天判断时,使用 msg 按相关表达召回候选,再用 msg_stime 限定消息发送时间范围,最后用 zhini_fetch_messages 读取完整上下文并由模型分类,不要先把 XXX 当成标签名。只有用户明确提到标签或已有 tag_id 时,标签才作为筛选条件或补充信号。关键词命中只是召回信号,不等于最终分类。条件性限制:仅当 msg 非空时,关键词历史检索只支持最近半年内的记录;msg 未传或为空、仅使用其他筛选条件(包括 msg_stime)时不受这条关键词专属限制。重要时间语义:msg_stime 表示消息发送时间范围,用于筛选时间段内包含消息的会话,不表示对话开启时间;旧字段 stime 已移除,不要传入。禁止空条件拉全量;page 从 0 开始;本工具不接收数量参数,底层查询默认每次返回 30 条,MCP 可全部展示给模型。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'msg': {'type': 'string', 'minLength': 1, 'description': '消息内容关键词。适合搜索订单号、手机号片段、产品名、错误提示、投诉词、活动词等。仅当本字段非空时触发关键词历史检索限制:只支持最近半年内的记录。'}, 'kfid': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': '客服 ID 列表。仅在用户明确指定某客服,或明确说查询当前调用者本人处理过/接待过/回复过/归属于本人的会话时传;第一人称场景可先用 zhini_get_current_kefu 获取 kfid。通用时间范围查询不要自动传当前 kfid。'}, 'name': {'type': 'string', 'minLength': 1, 'description': '客户名称关键词。'}, 'page': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': '页码,从 0 开始。'}, 'tag_id': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': '标签 ID 列表。用户给标签名时应先调用 zhini_search_tags 解析 tag_id。'}, 'msg_stime': {'type': 'array', 'items': [{'type': 'number'}, {'type': 'number'}], 'maxItems': 2, 'minItems': 2, 'description': '消息发送时间范围,秒级时间戳;按该范围内包含消息的会话筛选,不表示对话开启时间。与非空 msg 组合时,关键词检索只支持最近半年。'}, 'channel_id': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': '渠道 ID 列表。仅在用户明确指定渠道时传;用户未指定渠道时默认覆盖当前授权账号关联的所有渠道。用户给渠道名时应先调用 zhini_list_channels 解析 channel_id。'}, 'wx_contact_type': {'type': 'array', 'items': {'enum': [0, 1], 'type': 'number'}, 'minItems': 1, 'description': '联系人类型数组:0 联系人,1 群组。'}}, 'additionalProperties': False}
zhini_search_tags
搜索标签
按关键词搜索标签,用于把用户明确提出的标签名解析成稳定 tag_id。典型场景:用户说“查带高意向标签的客户”“按高意向标签筛选”,先调用本工具搜索“高意向”,再用 tag_id 调用 zhini_search_customers 或 zhini_search_sessions。重要边界:自然语言中的“XXX 用户/客户”默认表示业务语义或筛选条件,不表示名为 XXX 的标签;只有用户明确提到“标签、带标签、按标签筛选”,或上下文已给出 tag_id 时才调用本工具。标签只代表已经被人工或系统标注的客户,不等于业务语义上的完整人群。空关键词应返回参数错误。include_grouped=true 时按 tag_group_id 聚合,便于用户确认同名或相似标签。
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['search_keyword'], 'properties': {'search_keyword': {'type': 'string', 'description': '标签搜索关键词。不能为空,例如 高意向、售后、VIP。'}, 'include_grouped': {'type': 'boolean', 'default': True, 'description': '是否按 tag_group_id 聚合返回,便于模型和用户确认同名或相似标签。'}}, 'additionalProperties': False}
已添加
zhini_get_apikey_usage
2026年9月17日 12:53
已添加
zhini_search_sessions
2026年9月17日 12:53
已添加
zhini_search_customers
2026年9月17日 12:53
已添加
zhini_list_channels
2026年9月17日 12:53
已添加
zhini_list_kefu
2026年9月17日 12:53
已添加
zhini_fetch_messages
2026年9月17日 12:53
已添加
zhini_search_tags
2026年9月17日 12:53
已添加
zhini_list_tags
2026年9月17日 12:53
已添加
zhini_list_tag_groups
2026年9月17日 12:53
已添加
zhini_get_customer_profile
2026年9月17日 12:53
已添加
zhini_list_active_sessions
2026年9月17日 12:53
已添加
zhini_get_current_kefu
2026年9月17日 12:53