夜雨聆风学习资料网

ARTICLE · 981126

MCP到底有什么用?换一个AI,工具为什么又要重新接?

MCP到底有什么用?换一个AI,工具为什么又要重新接?
继续沿用我们的模拟客服AI。
上一期刚接好查询订单、查询物流和创建工单三个工具,新的需求又来了:
客服AI要用,IDE里的AI助手要用,运营部门正在试用的另一个AI也想用。
功能明明还是那三个,我却要换一种格式重新描述工具、处理调用结果,再单独适配认证方式。
同一个订单接口,像被要求配三种不同的插头。
做到这里,我才发现,麻烦已经不在订单接口了,而在AI和工具中间那层重复连接。
如果换一个AI,就要重新接一遍工具
Function Calling解决了一个重要问题:
模型能够根据用户的问题,判断要调用哪个函数,并生成函数需要的参数。
例如用户问:
“订单20260828001到哪里了?”
模型可以提出调用queryOrder,并带上订单号。
Java程序执行查询,再把结果交给模型回答。
在一个客服系统里,这套流程已经能用。
可当另一个AI应用也想调用queryOrder时,它可能有自己的工具格式、连接方式和返回结果要求。
再换一个客户端,又要重新适配。
如果有十个工具、五个AI应用,连接关系很容易越写越乱。
这就像每家电器公司都设计自己的插座。
电视能插A口,冰箱只能插B口,换个房间还得重新买转换器。
大家缺少的不是更多插头,而是一套共同认可的连接方式。
MCP就是来处理这件事的
如果我们把查询订单、读取文件、创建工单这些能力,按照一种统一的格式对外提供,会怎样?
支持这种格式的AI应用连接进来后,可以先询问:
“你这里有哪些能力?”
服务端回答:
“我能查询订单、查询物流,还能创建工单。这些工具分别需要这些参数。”
AI应用理解以后,就可以选择合适的工具并发起调用。
这套连接规范,就是MCP。
MCP全称Model Context Protocol,中文通常叫模型上下文协议。
它是一套连接AI应用与外部数据、工具和服务的开放标准。
简单理解,MCP想做的事情,就是给AI工具准备一个相对统一的插口。
MCP里面到底装了什么?
继续看查询订单的例子。
我们可以搭建一个订单MCP Server,对外提供三类东西:
Resources,也就是可以读取的资料和数据。
Tools,也就是可以执行的能力,例如查询订单、创建工单。
Prompts,也就是预先准备好的提示模板或使用方式。
客服AI所在的应用负责连接这个MCP Server,获取它公开的能力。
当用户询问订单时,大致会经历:
AI应用连接订单MCP Server。
MCP Server告诉它有哪些工具。
模型判断需要调用queryOrder。
客户端把订单号发送给MCP Server。
MCP Server再调用原来的订单API。
查询结果返回给模型,最后生成客服回复。
真正访问订单系统的,依然是我们原来的Java服务和业务API。
MCP没有把订单接口变没,也没有代替Function Calling。
它主要统一的是AI应用发现、理解和使用外部能力的方式。
API解决系统之间怎么通信。
Function Calling解决模型想调用哪个函数、需要什么参数。
MCP解决不同AI应用如何用更统一的方式连接、发现和调用这些外部能力。
为什么很多公司开始开放MCP?
看到这里,外面越来越多公司提供MCP Server,就不难理解了。
第一,它们不想为每个AI应用单独写连接器。
做好一个MCP入口,理论上可以让多个支持MCP的客户端连接,减少重复适配。
第二,它们希望自己的产品进入用户正在使用的AI工作流。
以前我们要打开网站,找到页面,再点击功能。
接入MCP后,用户可能直接在AI助手里说:
“帮我看看这个项目有哪些未关闭的问题。”
“查询最近几笔支付记录。”
AI就能通过官方提供的工具完成操作。
GitHub提供官方MCP Server,让AI工具能够在权限范围内访问代码仓库、Issue和Pull Request等能力。
Stripe也提供MCP Server,让AI Agent调用部分支付相关工具并查询知识资料。
公司开放MCP,等于为自己的产品增加了一个AI入口。
第三,官方自己提供,比用户到处找第三方插件更容易控制权限、版本和操作范围。
哪些功能能读取,哪些功能能修改,调用时需要什么身份,都可以由服务提供方明确规定。
开放MCP,不等于开放数据库
“MCP是开放协议”很容易让人产生另一个误会:
公司是不是把数据免费开放给所有AI了?
当然不是。
有些公司会开源MCP Server代码,有些只提供远程MCP服务。连接以后,通常仍然需要登录、授权或者配置访问凭证。
你能看到哪些数据、能调用哪些工具,依旧受账号权限控制。
MCP更像给大楼修了一个统一规格的大门。
有门,不代表谁都能进;门禁、工牌和访问记录仍然存在。
安装陌生的MCP Server也不能只看功能多不多。
它可能接触文件、代码、订单甚至支付数据。优先选择官方来源,检查它公开了哪些工具,只授予必要权限,涉及修改、删除和付款的操作保留人工确认。
回到最开始的模拟项目。
查询订单、查询物流和创建工单这三个功能,不需要消失,也不用全部重写。
我们可以在原有API外面增加一个MCP Server,把这些能力按照统一协议提供出去。
以后支持MCP的客服AI、IDE助手或者其他应用,都有机会通过同一种方式连接它们。
Function Calling像教一个AI怎么使用工具。
MCP更像把工具箱做成大家都看得懂的规格。
这也是很多公司愿意开放MCP的原因:它们开放的不是全部数据,而是一个受权限控制、能进入更多AI应用的官方入口。

相关学习资料