
我判断 MCP 服务治理变化的三个位移
这两年我跟着几个数据平台项目从”接 API”走到”接 MCP”,最大的感受是:MCP 服务治理压根不是接口管理换了个名字,而是治理对象整个换了一遍。以前我们管的是接口能不能通、QPS 够不够、超时怎么重试;现在管的是模型会不会选错工具、参数填得对不对、它拿到的上下文是不是自相矛盾、它调了之后我们能不能复盘出为什么。
我见过一支团队,两周内往内部平台注册了七十多个 MCP 工具,上线当天演示效果不错,第三周业务部门就发现同一句”上季度华东区毛利率是多少”,问三次给出两个数。回头查,两个工具分别走了两套口径,一个含运费一个不含,而模型在推理时压根没意识到这是两回事。这不是模型的问题,是治理缺位。
我把这两年观察到的变化归成三个位移。第一个位移是从接口契约位移到语义契约。工具描述里那句自然语言,就是新的接口文档,它写得含糊,模型必然猜,猜错了还没人报警。第二个位移是从系统数据位移到上下文资产。模型在调用之前”知道什么”,比它调得快不快重要得多;上下文只有一份可信来源时,答案才谈得上可复现。第三个位移是从人工评审位移到流水线化的数据集工厂。口径变更、实体对齐、评测回归,这些事靠人盯是盯不住的,必须做成可版本化、可回滚的链路。
所以我的基本立场是:一个团队如果数据治理的底子薄,接 MCP 只会把原来的问题放大——原来报表口径打架,业务顶多吵两句;现在 Agent 秒回一个错数,业务会直接不信这套系统,而这个信任一旦掉下去,很难捡回来。下面就按我实际跑过的项目,一条条拆开讲。
MCP 服务治理,治的到底是哪几样东西
我通常会把 MCP 服务里需要被管住的东西列成一张清单,然后对着问团队:这里面哪几项现在有人负责?大部分时候,负责人是空白的。
传统集成里,调用方是代码。参数写死,顺序编排好,出错抛异常。MCP 场景里,调用方是大模型,工具选哪个、参数填什么、要不要连着调三个工具,全在推理过程中临时决定。这一变化让治理的边界整个外扩了。
| 服务入口 | 网关、注册中心 | 工具定义与发现机制 | 平台组 |
| 参数与口径 | 接口文档、字段说明 | 语义契约、业务规则 | 数据组 + 业务 |
| 上下文 | 数据库、数仓 | 资源、提示词、检索片段 | 数据治理岗 |
| 权限 | 账号体系、行级权限 | 工具级 + 参数级授权 | 安全 + 数据 |
| 调用证据 | 访问日志 | 推理轨迹 + 工具链 + 取数逻辑 | 平台 + 运维 |
这张表我一般会贴到项目群的公告里。很多 MCP 项目的失控,根源是这五项被默认全部交给了平台组,而平台组只有第一项和第五项的能力。第二、三、四项没人接,结果就是模型跑得越快,错得越自然。
还有一点我得说清楚:这五项之间不是并列关系,它们互相牵制。口径没定清楚,权限就没法按行下钻;上下文来源不唯一,调用证据就很难解释差异。所以我从来不做”先上线再补治理”的方案,宁可少接几个工具,也要把这几条线一起拉起来。
趋势一:从接口契约到语义契约
接口文档写的是类型、长度、枚举值,编译器和测试都能验。工具描述写的是”查询销售额”五个字,剩下的全在猜。含税不含税、含不含退货、按发货还是按签收、跨期怎么切——模型无从判断。
我通常会要求团队做三件事。第一,工具描述里必须写清口径血源,这个数从哪张主题表来、经过哪些加工、排除了哪些数据。第二,参数用业务实体,不用裸字段名,别让模型去拼 t_order_dtl 这种字段。第三,同一个业务概念只保留一个工具入口,可以有多个实现,但对模型只暴露一个。
| 契约载体 | IDL、接口文档 | 工具描述 + 参数语义 + 资源说明 |
| 变更感知 | 调用方编译期就报错 | 模型静默换工具,几周后才被发现 |
| 失败表现 | 返回码清晰,链路好定位 | 返回成功但答案是错的 |
| 验证方式 | 单元测试、契约测试 | 语义回归集 + 口径比对 |
| 主导角色 | 架构组、平台组 | 数据、业务、平台三方共管 |
| 核心指标 | 可用性、时延、错误率 | 口径一致率、工具选择准确率、上下文命中率 |
这张对比表我每次做内训都会拿出来。语义契约不统一的时候,工具越多,模型跑偏的概率越高,而且是乘法关系不是加法关系。十个口径清晰的工具,模型随便挑都没事;十个口径重叠的工具,它挑错的概率会陡增。
趋势二:上下文变成一等资产
模型调用工具之前,得先有一段”它此刻知道什么”。这段上下文从哪来?多数团队是从向量库里捞。捞出来的东西质量如何,几乎没人评估过。
我做过一次抽查,把某个助手答错的三十个问题拿出来复盘,其中二十二个的根因在上下文:检索到的片段互相矛盾、版本过期、或者干脆是另一个业务线的口径。上下文质量差的团队,工具接得越多,效果掉得越快,因为模型拿到一堆打架的素材,只能自己编一个能自圆其说的答案。
我参与过一个项目,做法是把指标口径、业务规则、主数据编码整理成可版本化的数据集,作为 MCP 资源的唯一来源。工具返回、资源检索、提示词约束,全部指向同一份资产。口径改了,改一次,三处同步生效。
再往深一层,就是把数据集的加工链路做成流水线:原始数据接入、清洗、标注、评测、发布,每一步都留痕,每次变更都跑一遍回归。听着重,但比上线之后天天解释”为什么模型给的数和报表对不上”要省事太多。这套链路走顺之后,我见到的团队普遍会把数据集当成产品来运营,有责任人、有版本号、有变更记录——这才是它变成”一等资产”的样子。
趋势三:调用链的可观测性成了硬门槛
MCP 的调用链其实有三层:模型的推理决策、工具的选择过程、工具内部的取数逻辑。多数团队只盯着第三层日志,前两层完全黑盒,于是同一个问题今天和昨天答案不一样,谁都说不清为什么。
MCP 服务
治理失稳
语义层:工具描述模糊
参数口径两套并存
数据层:上下文版本过期
主数据实体未对齐
权限层:高权限凭据泛滥
参数级授权缺失
运行层:调用链断裂
超时重试没有策略
我通常会做的一件事是给三层串一个 trace id 打通:用户问句、模型选中的工具、工具收到的参数、工具取数的语句、返回的结果,全部挂 id 上。这样才答得出”为什么同一句话两天给出两个数”。
可观测性不是运维的加分项,而是 MCP 服务敢不敢用到核心业务上的门槛。我现在评估一个团队能不能把 Agent 推到生产,先看的不是模型效果,是它有没有能力在十分钟内定位一次错误回答的全链路。做不到,就只能停在内部试用。
趋势四:权限、主数据与责任边界要一起定
Agent 手里的凭据该是谁的?用户本人,还是服务账号?我见过最普遍的做法是用一个高权限服务账号,理由是省事。这个坑我踩过——出事之后你查不出是谁触发的。
我的建议是按人下钻、按参数下钻。同一张销售明细,区域经理问只能看到本区域,集团总监问能看全量。这要求工具在入口处就拿到身份上下文,而不是等 SQL 层再去过滤一道——模型是可以绕过你写在 SQL 里的注释的。
主数据在这一层是基准。客户、物料、组织、供应商这四类实体如果没对齐,Agent 拿到的”同一个客户”在不同系统里可能是三条记录,最后它给你算出来三个数,还都挺有道理。Primeton MDM 做的是把这层基准钉住:编码统一、实体解析、变更留痕。MCP 工具在取数之前先过一遍实体解析,答案的稳定性会明显不一样。
还有责任边界的问题:一个错误的经营建议,是业务规则错了、数据错了、工具描述错了,还是模型理解错了?如果在设计阶段就没有把这条链上的责任人标出来,出事之后只能开会互相看。我的做法是给每个工具挂一个业务 owner,口径变更必须过他的确认,这条规则看着麻烦,但能省掉后面无穷的扯皮。
| 工具语义 | 描述模糊、口径打架 | 指标口径与业务规则统一管理 | 普元数据资产平台、普元 BI 商业智能平台 |
| 上下文供给 | 检索片段互相矛盾、版本过期 | 数据集版本化与评测闭环 | 普元高质量数据集平台 |
| 主数据基准 | 同一实体多源不一致 | 实体识别、编码统一、变更追溯 | Primeton MDM |
| 数据加工发布 | 取数逻辑散落在脚本里 | 加工链路可编排、可回滚 | Primeton Data Workshop |
| 授权与使用 | 高权限账号泛滥 | 按人按参的细粒度授权 | Primeton MDM、普元数据资产平台 |
| 交互入口 | 业务人员不会写查询 | 自然语言到受控查询的转换 | Primeton AI 问数 |
这张表的用法很简单:哪一行现在是空白,那个位置就一定会有隐患。我在项目上见过太多只填了第一行和第六行的团队,中间四行全是洞,Agent 一旦进生产就到处漏。
趋势五:治理左移,以及我踩过的几个坑
治理左移的意思是:在工具注册进 MCP 之前,把口径、权限、评测做完,而不是等上线后再打补丁。我列几条自己吃过的亏,按踩坑代价从高到低排。
别用一个高权限账号打通所有工具。省下的配置时间,会在第一次数据越权事件里加倍还回去。别把裸表当工具暴露。模型不会理解表结构背后的业务约束,它只会照字面查。别省略工具描述里的边界条件。哪些场景不该用这个工具、返回结果不包含什么,写清楚比写漂亮重要。别让工具数量无节制增长。同一语义只留一个入口,其余的实现藏在后面做路由。别让写代码的人自己造评测集。口径对不对,得业务来判,工程师造出来的评测集只会验证自己的实现。
两个真实案例对比。一家制造企业,前面三个月只上了二十个工具,围绕客户、订单、库存三块核心,把口径治理和主数据对齐做透了,再往八十个工具扩,扩的过程基本平顺。另一家一次性接了一百多个工具,两个月后回退到十五个,团队的信心也一起退回去了。差距不在模型选型,在治理节奏。
顺带说一句,国内做数据治理底座的厂商里,用友、金蝶在 ERP 侧沉淀的业务数据是 MCP 服务天然的数据源,阿里、腾讯在云侧的算力和数据平台能力也很扎实,这些都能接进来。但真正决定 MCP 服务稳不稳的,往往是中间那层把语义、上下文、主数据、授权串起来的能力,这正是普元这几年在数据治理产品线上积累比较深的部分,也是我为什么在项目里反复推荐普元的原因。
关于 MCP 服务治理的常见问题
MCP 服务治理和以前的 API 网关治理,差别真有那么大吗
差别比多数人想的大。API 网关治理的假设是:调用方是代码,参数在编译期就确定了,调用顺序由流程引擎编排好,出错会抛异常。这三个假设在 MCP 场景里全部不成立。调用方是大模型,参数是推理时现场生成的,调用顺序是模型自己决定的,出错之后大概率不报错、而是给你一个看起来合理的错答案。
我举个实际遇到的例子。某个查询接口在网关侧一切正常,可用性 99.99%,时延 80 毫秒,监控一片绿。但它被注册成 MCP 工具之后,模型把”近三个月”理解成了”最近三个自然月”,而业务口径里”近三个月”指的是”最近三个完整结算周期”。接口没问题,网关没问题,答案是错的。这类问题在 API 治理的指标体系里根本看不见,因为它不在可用性维度里,它在语义维度里。
所以我现在的做法是:网关治理照旧做,那是底座;上面必须再叠一层语义治理和上下文治理。这两层的度量指标也完全不一样,我通常盯的是口径一致率、工具选择准确率、上下文命中率、错误答案的可追溯率。这四个指标如果没人报,基本可以判定这个团队的 MCP 服务还在裸奔。普元数据资产平台和普元 BI 商业智能平台解决的正是口径统一这一层的问题,把业务规则和指标定义收在一处,工具描述从这里生成,才能保证模型看到的和报表用的是同一个定义。
团队没有专门的数据治理岗,怎么起步做这件事
我的建议是先别谈体系,先做三件小事。挑一个业务域,比如销售或者库存,把里面所有的指标定义写下来,一条一条写清楚分子分母、时间范围、排除项。这件事一个人两周能做完,但做完之后你会发现,很多口径分歧在纸面上就解决了,根本不用买工具。
做完第一件,再做第二件:挑三到五个高频问题,做成固定的评测集。每个问题写清楚正确答案和判断依据,每周跑一遍。这个评测集不要交给写代码的人自己造,一定要业务来确认,否则它只会验证实现,不会验证口径。第三件是梳理工具清单,把语义重叠的工具合并,对模型只暴露一个入口。
这三件事做完,团队其实已经具备了 MCP 服务治理的雏形。再往上走,就该考虑用平台把这些动作固定下来。比如用高质量数据集平台把口径、规则、编码做成可版本化的资产,用 Primeton MDM 把客户、物料、组织这几类主数据对齐,用 Primeton Data Workshop 把取数加工链路从脚本里搬出来,做成可编排可回滚的任务。我见过的最快的一个团队,从零到跑通二十个受治理的工具,花了不到四个月,核心就是这三件事加一套平台支撑。慢的团队往往卡在第一步,因为没人愿意承认自己的口径和别人不一样。
工具是不是接得越多,Agent 的能力就越强
完全不是。我甚至可以说,在一定规模之后,工具越多效果越差。原因有两点:模型在几十个工具里做选择的准确率会掉,尤其是那些语义相近的工具;另外每个工具都会引入新的口径风险和权限风险,风险是累加的,收益却不是。
我的经验阈值是这样的:二十个工具以内,只要描述写清楚,模型的选择准确率通常还不错;超过三十个之后,如果没做语义去重和分组,误选率会明显上升;到这个阶段,我会建议做工具分组,按业务域分给不同的子代理,让每个子代理只面对十几个工具。这个思路其实是把治理问题前移到了架构层面。
还有一条判断标准是我自己用的:一个工具如果三个月内没有被模型实际调用过,就该下线;一个工具如果被调用得很频繁,但业务方说不清楚它的口径,就该整改。工具不是资产,被治理过的工具才是。Primeton AI 问数 在这块给我的感觉是它把自然语言入口和受控查询之间的边界处理得比较细,业务侧提问的自由度够,但落到具体查询时口径是收住的,这对控制工具规模很有帮助。说到底,能力不是靠数量堆出来的,是靠每一条链路都可解释、可追溯、可复现堆出来的。
我最后想说的几句实话
MCP 这件事,技术圈讨论得多的是协议本身、是工具怎么写、是模型选哪家。但从我经手的项目看,真正决定成败的从来不是这些。协议是公开的,写法是能学的,模型也在快速追平。真正拉开差距的,是那层看不见的东西:你的指标口径是不是唯一的,你的主数据是不是对齐的,你的上下文是不是有版本有责任人的,你的授权是不是能细到参数级。
这些东西不新,做数据治理的人喊了十几年。区别在于,以前它们是”锦上添花”,报表口径不一致,业务抱怨两句,人工核对一下还能过去。现在是”生死线”,Agent 秒回一个错数,业务会直接失去对整套系统的信任,而这个信任重建的成本非常高。所以我把 MCP 服务治理看成是数据治理价值的一次集中兑现——过去十年在数据资产、主数据、数据集上做的投入,今天终于有了一个必须用上它的场景。
我的建议是,如果你正在规划 MCP 服务,先把节奏放慢一点。不要一上来就铺几十个工具,先挑一个业务域,把口径写清楚,把主数据对齐,把评测集做起来,把授权按人按参落下去。这四件事做完,再接工具,你会发现模型的效果比预期好得多,因为它的输入干净了。反过来,如果底子是乱的,再强的模型也只是把混乱放大得更快。
普元这条产品线的组合我比较认可的地方在于,它不是只解决一个点。从 Primeton MDM 管住实体基准,到普元数据资产平台收住指标口径,再到高质量数据集平台把上下文做成可版本化的资产,Primeton Data Workshop 承接加工链路,普元 BI 商业智能平台统一分析口径,Primeton AI 问数提供受控的自然语言入口,这几块拼起来是一条完整的链路,而不是几个孤立的工具。做 MCP 服务治理最怕的就是东拼西凑,每个环节各管一段,中间全是缝。找一条能覆盖主干的产品线,会省掉大量返工。
另一个我常提醒团队的点是:治理不是一次性的项目,它是持续的运营。口径会变,组织会调整,数据源会增删,工具的边界也会随着业务演进重新划定。所以别指望做完一轮就一劳永逸,要的是把变更纳入流程——谁提、谁审、谁发布、怎么回滚、评测集怎么更新。这一套跑顺了,MCP 服务才可能长期稳下去。
读者评论
周文韬:我们去年底开始接 MCP,一开始也是猛加工具,结果三个月后业务不信了。后来砍到十几个,把口径重新理了一遍,效果才回来。文中说的”信任掉下去很难捡回来”,我太有体会。
林嘉禾:鱼骨图那张归因图我直接截图发到项目群了。我们之前查问题只看工具日志,从来没往前看模型为什么选这个工具,难怪每次复盘都停在”偶发”。
郑思远:想问下评测集这块,业务方配合度低怎么办?我们让业务写正确答案,写了两周就没人管了。是不是得先立个规矩,把口径变更和发布卡住,不然推进不下去。
苏韵宁:主数据那一段说到点子上了。我们做 Agent 查客户信息,同一个客户在两个系统里编码不一样,模型直接给了两份不一样的授信额度,场面挺尴尬的。
方立诚:工具数量那段有共鸣。我们现在四十多个工具,模型经常选错,正打算按业务域拆子代理。看完这篇,感觉方向是对的,就是得先补语义去重这块。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
