我把 AI 客服国标做成了 MCP,让 Agent 一问即得

📅 2026-09-12 · 👤 合尘猫 · 🧰 开源实践

上个月有个做 AI 客服的朋友来找我,问了一个很实在的问题:

“这个国标,我到底算不算达标?”

我当时也答不上来。因为这个标准——GB/T 47746—2026《顾客联络服务 人工与智能客户服务协同要求》——有 40 多页,条款密度极高,而“AI 客服怎么算达标”这件事,散落在第 4 章到第 9 章里。

人工一页页翻,效率极低。而且大概率翻完还是不确定。

所以我做了一个东西:把这个标准的合规问答,做成 Agent 能直接调用的工具。

在线地址(公开只读,不用装、不用 Key):https://savantcat.cn/mcp

>

源码仓库:https://gitee.com/savantcat/mcp-savantcat


先说清楚这个标准的分量

标准号 GB/T 47746—2026
名称 顾客联络服务 人工与智能客户服务协同要求
类型 推荐性国家标准(GB/T)
发布 2026-05-25
实施 2026-09-01(已经实施了)
发布机构 国家市场监督管理总局 / 国家标准化管理委员会
归口 SAC/TC 264

这是中国第一个聚焦“人工客服与智能客服协同机制”的国家标准。

它的核心要求挺反直觉:AI 客服不能只看“答得对不对”,还要看“答不了的时候会不会转人工”。 标准里有 5 类场景,被明确要求必须自动转人工。

对任何在用 AI 客服的企业,这不是“要不要做”的问题,是绕不过去的问题。


为什么做成 MCP,而不是做个网页

这是关键的一个设计选择。

如果做成网页,你还是得自己一页页看、自己找条款、自己抄。它只是把纸质标准变成了电子标准,没有解决“我该怎么问”的问题。

做成 MCP 就不一样了——Agent 自己就能问。

任何支持 MCP 的客户端(Claude Desktop、Cursor、Cline,或者你自研的 Agent)连上之后,你可以直接说:

所有答案都标注标准条款依据。 不是“AI 说的”,是“标准第几章第几条说的”。

这一点对于合规场景是刚需——你拿着一句没有出处的“应该可以”,没法跟审核的人交代。


五个工具

工具 作用
list_questions 列出全部合规问答(可按集群过滤)
search_answers 按关键词检索问答,返回最相关的 N 条
get_answer 取单条完整答案(正文 + 要点 + 条款依据 + 常见追问)
self_check_list 取国标自查清单,企业对照自查
standard_info 标准元信息(发布/实施日期、归口、篇幅、核心要求)

数据侧是 data/ 下三个文件:12 条原子问答全文、轻量索引、集群元信息。每条问答都带 sources 字段标注条款出处。


怎么接

Claude Desktop,编辑 claude_desktop_config.json


{
  "mcpServers": {
    "savantcat-answers": {
      "url": "https://savantcat.cn/mcp"
    }
  }
}

Cursor,编辑 .cursor/mcp.json,内容一样。

Hermes Agent


mcp_servers:
  savantcat-answers:
    connect_timeout: 20
    enabled: true
    url: https://savantcat.cn/mcp

任意 MCP 客户端,标准 streamable-http 握手就行:


curl -X POST https://savantcat.cn/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-06-18","capabilities":{},
                 "clientInfo":{"name":"my-agent","version":"1.0"}}}'

不用 API Key,公开只读。


想换成自己行业的内容?可以自托管

这个 MCP 的架构是数据与代码分离的。你只要把 data/ 里的 JSON 替换成自己的内容,就能变成“你所在行业的合规问答 MCP”。


pip install -r requirements.txt
python server.py
python server.py --transport http --host 0.0.0.0 --port 8765 --stateless
python server.py --selftest

也有 Dockerfile,三条命令起来。


一个部署时必踩的坑

这个坑我踩了,写出来给你省时间:

MCP SDK 默认开启 DNS-rebinding 防护,只放行 localhost 你用真实域名访问,会得到 421 Invalid Host header

很多人的第一反应是把防护关掉——别这么干。

正确的做法是把你的域名加进白名单(保留防护)。本项目就是通过 TransportSecuritySettings 做的,见 server.py 里的 DEFAULT_ALLOWED_HOSTS,部署前改成你自己的域名。

遇到限制,先想“怎么在规则内解决”,别急着拆安全机制。


最后说两句

回到开头朋友那个问题。现在我的回答是:

不用背标准,让 Agent 记住就行。

标准是死的,条款是密的,人的记忆是有限的。但一个挂在那里的 MCP 工具,你随时问、随时答、每条都带出处。

这件事的价值不在于省了多少翻文档的时间,在于——你终于敢确定地回答“我达标了”。

标准已经实施了,工具也上线了。公开只读、不要 Key,直接接:

https://savantcat.cn/mcp

源码在这里,MIT 协议,可以自托管改成你自己行业的标准:

https://gitee.com/savantcat/mcp-savantcat

我做的其他几个开源工具都放在这个门面里:

https://gitee.com/savantcat/savantcat-portfolio

我们下期见。


#AI客服 #国家标准 #MCP #AIAgent #企业合规


你在做 AI 客服吗?对照国标自查过没有?欢迎在评论区聊聊你卡在哪一步。

>

觉得这篇有用,点个 在看,让更多需要的人看到它。

🎁 想跟上AI行业变化?

加入知识星球,获取更多AI实战内容与行业洞察

立即加入 →

本文由 合尘猫 原创,首发于 https://savantcat.cn,转载须注明出处。