{"name":"io.github.zhinikefu/zhini-ai-assistant","slug":"zhinikefu-zhini-ai-assistant","title":"知你AI助手｜多平台客户与客服数据 MCP","description":"连接个微、企微、视频号、微信小程序、公众号、服务号、微信客服、微信小店、抖音号、小红书、微博、网站及H5客服的客户资料、会话与聊天记录，供AI查询分析。","url":"https://mcp.market/server/zhinikefu-zhini-ai-assistant","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-08T06:31:41.000Z","license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-21T00:25:34.081Z","last_ok_at":"2026-09-21T00:25:34.081Z","latency_ms":1818},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/zhinikefu/zhini-ai-assistant-mcp","website":"https://ai.zhinikefu.com/","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.h5bqb.top/mcp","headers":[{"description":"输入 Bearer 加知你AI助手 API Key，例如：Bearer YOUR_API_KEY。访问 https://ai.zhinikefu.com/ 注册或登录后创建 API Key。","isRequired":true,"isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"zhini_fetch_messages","description":"读取聊天消息。支持按 sid 首次加载会话消息、按 mid 游标翻页、按 uid 查询某客户消息。适用于查看当前会话上下文、查看历史会话命中词前后文、按 UID 拉取某段时间内消息并总结诉求/投诉/售后问题。已知 uid/sid/mid 时直接调用本工具，不要先搜索。约束：sid、mid、uid 至少传一个；传 mid 时建议同时传 direction；按 uid 查询时 start_time/end_time 可选；size 最大 20。时间语义：start_time/end_time 是消息发生时间过滤，不是会话开启时间。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sid":{"type":"string","description":"会话 ID。首次按会话加载消息时传。"},"mid":{"type":"string","description":"消息 ID。按游标翻页时传；传 mid 时建议同时传 direction。"},"uid":{"type":"string","description":"知你侧客户 UID。按客户查询消息时传，可结合 start_time/end_time 限定消息发生时间。"},"direction":{"type":"string","enum":["backward","forward"],"description":"翻页方向。backward 表示更早消息，forward 表示更新消息。"},"start_time":{"type":"number","description":"查询消息开始时间，秒级 Unix 时间戳。按 uid 查询时可选，表示消息发生时间。"},"end_time":{"type":"number","description":"查询消息结束时间，秒级 Unix 时间戳。按 uid 查询时可选，表示消息发生时间。"},"size":{"type":"integer","minimum":1,"maximum":20,"default":20,"description":"返回消息数量，默认 20，最大 20。"},"include_mid":{"type":"number","enum":[0,1],"description":"为 1 时包含指定 mid；翻页查看某条消息前后文时使用。"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_get_apikey_usage","description":"查询当前请求 API Key 所属账号的总配额、账号已使用量、账号剩余量，以及当前请求 API Key 的实时已使用量。工具无业务入参；服务端使用当前请求提供的 API Key 调用配额接口，并标准化返回 total、remaining、used、current_api_key_used，其中前三项是账号整体数据，最后一项是当前请求 API Key 数据。安全边界：不允许模型传入 apikey 或内部 api_key 查询参数，也不返回完整 API Key。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_get_current_kefu","description":"获取当前调用者的客服 ID，即 kfid。用于在调用 zhini_list_active_sessions 前识别当前会话列表中哪些是自己正在接待的会话，或在用户明确说“我处理过、我接待过、我回复过、归属于我”等第一人称归属条件时构造 kfid 筛选。重要边界：用户只要求查询当天或某个时间范围内的对话、咨询过的客户时，默认范围是当前授权账号关联的所有渠道，不表示当前调用客服本人处理过，不应调用本工具或自动附加当前 kfid。本工具只输出 kfid，不输出手机号、姓名、团队、企业或负责渠道等身份信息。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_get_customer_profile","description":"按客户 UID 获取客户资料和标签，用于确认客户身份、来源、负责人、联系方式、备注和标签。适用于客服回复前、销售跟进前、复盘客户历史前。边界：只读查询，不修改客户资料、备注、负责人或标签。前置：如果用户只给姓名/手机号/微信号，先用 zhini_search_customers 找 uid；如果已经有 uid，直接调用本工具。后续：需要聊天上下文时调用 zhini_fetch_messages。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"uid":{"type":"string","minLength":1,"description":"知你侧客户 UID。通常由 zhini_search_customers 返回，也可由会话数据中的 uid 字段提供。"}},"required":["uid"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_list_active_sessions","description":"获取当前授权客服账号所负责渠道下尚未关闭、尚未结束的当前会话队列。用于查看此刻的待接待、我的会话、同事会话、AI 会话状态，或从当前队列选定会话后读取消息/客户资料。重要边界：这是当前队列快照，不是历史查询；当天或更早已经由当前授权账号、其他客服结束/关闭的会话不会返回，不能用本工具汇总某天或某段时间内的全部用户、全部接待或完整会话。需要完整用户范围时调用 zhini_search_customers；需要已结束、已关闭或历史会话时调用 zhini_search_sessions，必要时再用 zhini_fetch_messages 按消息时间验证。范围：只返回当前授权账号负责渠道下的会话，不是全企业所有会话；我的会话全部返回，同事会话最多显示 250 个，排队中/等待接待会话最多显示 100 个，达到上限时摘要应提示可能被截断。前置：需要区分“我的会话/同事会话”时，先调用 zhini_get_current_kefu 获取当前 kfid。","write_action":false,"price_micros":0,"input_schema":{"type":"object","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,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_list_channels","description":"获取渠道列表，用于把渠道名解析成 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。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"type":"string","enum":["all","miniapp","pubapp","wxbot","webplugin","h5plugin","wework_kf","douyin","douyin_private","weibo","wework_bot","wxbot_channel","xiaohongshu","minigame","wxstore"],"default":"all","description":"渠道类型。all 表示全部；也可指定 miniapp、pubapp、wxbot、xiaohongshu 等具体类型。"},"group_by_type":{"type":"boolean","default":true,"description":"是否按渠道类型聚合返回 groups，默认 true。"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_list_kefu","description":"获取当前授权范围内的客服列表，用于把客服姓名解析成 kfid。适用于“客服A负责哪些客户”“抽查某客服历史接待”“队列统计时把 kfid 转成人名”等场景。only_active=true 时只返回可用客服；name 为空时可标准化为未命名。前置：无。后续：拿到 kfid 后可调用 zhini_search_customers、zhini_search_sessions，或在 zhini_list_active_sessions 中辅助标记 mine/colleague。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"scene":{"type":["string","number"],"description":"业务场景；客户/历史筛选通常传 1。"},"only_active":{"type":"boolean","default":true,"description":"是否过滤 status=0 的客服。"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_list_tag_groups","description":"获取标签分组，用于了解标签体系、解释标签归属，或在列出某分组标签前获取 tag_group_id。边界：只读字典工具，不新增、修改或删除标签分组。前置：无。后续：已知分组后可调用 zhini_list_tags；用户直接给标签名时通常优先调用 zhini_search_tags。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_list_tags","description":"分页获取标签列表，用于在已知标签分组 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。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tag_group_id":{"type":"string","description":"标签分组 ID。可由 zhini_list_tag_groups 返回；不传时查询默认标签范围。"},"page":{"type":"integer","minimum":1,"default":1,"description":"页码，从 1 开始，默认 1。"},"page_size":{"type":"integer","minimum":1,"maximum":20,"default":20,"description":"每页返回标签数量，最大 20。"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_search_customers","description":"搜索客户通讯录，用于根据客户名、手机号、微信号、客服、负责人、明确标签、渠道、性别、联系人类型或时间范围完整召回符合条件的客户 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。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"客户昵称或名称关键词。"},"phone":{"type":"string","description":"手机号关键词。"},"user_wechat_id":{"type":"string","description":"微信号关键词。"},"kfid":{"type":"array","items":{"type":"string"},"description":"归属员工/客服 ID 列表。用户给客服名时应先调用 zhini_list_kefu 解析 kfid。"},"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。"},"tag_id":{"type":"array","items":{"type":"string"},"description":"标签 ID 列表。用户给标签名时应先调用 zhini_search_tags 解析 tag_id。"},"sex":{"type":"array","items":{"type":"number","enum":[0,1,2]},"description":"性别枚举数组：0 未知，1 男，2 女。"},"wx_contact_type":{"type":"array","items":{"type":"number","enum":[0,1]},"description":"联系人类型数组：0 联系人，1 群组。"},"add_friend_time":{"type":"array","minItems":2,"maxItems":2,"items":[{"type":"number"},{"type":"number"}],"description":"添加好友时间范围，秒级 Unix 时间戳二元组；[0,0] 表示无添加时间。"},"last_contact_time":{"type":"array","minItems":2,"maxItems":2,"items":[{"type":"number"},{"type":"number"}],"description":"最后联系时间范围，秒级 Unix 时间戳二元组；[0,0] 表示无最后联系时间。"},"page":{"type":"integer","minimum":0,"default":0,"description":"页码，从 0 开始。"},"page_size":{"type":"integer","minimum":1,"maximum":20,"default":20,"description":"每页返回客户数量，默认 20，最大 20。"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_search_sessions","description":"搜索历史会话，用于按客户名、消息关键词、消息发送时间范围、客服、渠道、明确标签、联系人类型召回包括已结束、已关闭会话在内的历史会话候选。用户只要求查询当天或某个时间范围内的对话、咨询记录时，默认查询当前授权账号关联的所有渠道范围，不代表当前调用客服本人接待或回复过；除非用户明确说“我处理过、我接待过、我回复过、归属于我”或指定某客服/渠道，否则不要自动传 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 可全部展示给模型。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"客户名称关键词。"},"msg":{"type":"string","minLength":1,"description":"消息内容关键词。适合搜索订单号、手机号片段、产品名、错误提示、投诉词、活动词等。仅当本字段非空时触发关键词历史检索限制：只支持最近半年内的记录。"},"msg_stime":{"type":"array","minItems":2,"maxItems":2,"items":[{"type":"number"},{"type":"number"}],"description":"消息发送时间范围，秒级时间戳；按该范围内包含消息的会话筛选，不表示对话开启时间。与非空 msg 组合时，关键词检索只支持最近半年。"},"kfid":{"type":"array","items":{"type":"string"},"minItems":1,"description":"客服 ID 列表。仅在用户明确指定某客服，或明确说查询当前调用者本人处理过/接待过/回复过/归属于本人的会话时传；第一人称场景可先用 zhini_get_current_kefu 获取 kfid。通用时间范围查询不要自动传当前 kfid。"},"channel_id":{"type":"array","items":{"type":"string"},"minItems":1,"description":"渠道 ID 列表。仅在用户明确指定渠道时传；用户未指定渠道时默认覆盖当前授权账号关联的所有渠道。用户给渠道名时应先调用 zhini_list_channels 解析 channel_id。"},"tag_id":{"type":"array","items":{"type":"string"},"minItems":1,"description":"标签 ID 列表。用户给标签名时应先调用 zhini_search_tags 解析 tag_id。"},"wx_contact_type":{"type":"array","items":{"type":"number","enum":[0,1]},"minItems":1,"description":"联系人类型数组：0 联系人，1 群组。"},"page":{"type":"integer","minimum":0,"default":0,"description":"页码，从 0 开始。"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"zhini_search_tags","description":"按关键词搜索标签，用于把用户明确提出的标签名解析成稳定 tag_id。典型场景：用户说“查带高意向标签的客户”“按高意向标签筛选”，先调用本工具搜索“高意向”，再用 tag_id 调用 zhini_search_customers 或 zhini_search_sessions。重要边界：自然语言中的“XXX 用户/客户”默认表示业务语义或筛选条件，不表示名为 XXX 的标签；只有用户明确提到“标签、带标签、按标签筛选”，或上下文已给出 tag_id 时才调用本工具。标签只代表已经被人工或系统标注的客户，不等于业务语义上的完整人群。空关键词应返回参数错误。include_grouped=true 时按 tag_group_id 聚合，便于用户确认同名或相似标签。","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"search_keyword":{"type":"string","description":"标签搜索关键词。不能为空，例如 高意向、售后、VIP。"},"include_grouped":{"type":"boolean","default":true,"description":"是否按 tag_group_id 聚合返回，便于模型和用户确认同名或相似标签。"}},"required":["search_keyword"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-09-20T00:24:43.587Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:24:43.564Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 3377ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 12 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.h5bqb.top/mcp","reachable":true,"authRequired":false,"latencyMs":3377,"serverInfo":{"name":"zhini-mcp-service","version":"0.1.0"}}],"packages":[],"repo":{"found":true,"owner":"zhinikefu","repo":"zhini-ai-assistant-mcp","archived":false,"pushedAt":"2026-09-08T06:31:41Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/325886772?v=4","ownerCreatedAt":"2026-09-07T04:19:26Z"},"icon":{"url":"https://ai.zhinikefu.com/assets/zhini-logo.png","source":"site","width":128,"height":128},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":null,"lastPushAt":"2026-09-08T06:31:41.000Z","score":23}}}},"grade_history":[],"reviews":[]}