合尘猫头像
关注
我把中国 AI 客服国标做成了一个 MCP Server,并发布到了官方 Registry封面图

我把中国 AI 客服国标做成了一个 MCP Server,并发布到了官方 Registry

从写代码到过 DNS 认证进官方注册中心,全程踩坑记录。

在线服务:https://savantcat.cn/mcp | 注册名:cn.savantcat/answers

起因

2026 年 9 月 1 日,GB/T 47746—2026《顾客联络服务 人工与智能客户服务协同要求》正式实施。

我把它的合规要点整理成了一份结构化的问答库:哪些场景必须自动转人工、上线要走备案还是登记、知识库怎么切分……每条答案带条款依据。

整理完发现一个问题:它是文档,只有人能读。 而企业里越来越多的活是 Agent 在干。

所以决定把它暴露成 MCP,让任何 Agent 直接调用。


一、技术选型

MCP 官方 Python SDK,用 streamable-http 传输、无状态模式。

mcp >= 1.9        transport: streamable-http (stateless)

选无状态的原因:远程部署时不需要维护 session,任何客户端一次 POST 就能拿到结果,横向扩展也简单。

启动态形:

server.run(
    transport="http",
    host="127.0.0.1",
    port=8765,
    stateless=True,
)

Nginx 侧只需要一条精确匹配,把 /mcp 转发进去:

location = /mcp {
    proxy_pass http://127.0.0.1:8765;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_buffering off;          # SSE 必须关,否则响应被缓冲住
}

proxy_buffering off 是关键。streamable-http 返回的是 text/event-stream,开着缓冲会导致客户端一直等不到数据。


二、踩坑一:421 Invalid Host header

服务本地跑得好好的,域名访问直接:

421 Invalid Host header

原因:MCP SDK 内置了 DNS rebinding 防护。默认只信任 localhost,请求头里的 Host 不是它认识的,一律拒绝。

这是好事,说明 SDK 默认是安全的。修法是显式声明信任的域名:

from mcp.server.transport_security import Transp

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/weixin_44530853/article/details/165239777

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--