01 它是干嘛的
MCP 是一项开放协议,规定「AI 该怎么和外部的工具、数据源对话」。它本身不是一个功能,而是一本接口说明书:只要各方都照这本说明书来,AI 就能接数据库、接文件、接日历、接公司内部系统,而不用每接一样就单独写一套代码。
02 为什么会有它
2024 年之前:每接一个数据源,都要单独写一次集成
AI 想真正干活,光会聊天不够,还得能摸到外部世界——查数据库、读文件、调内部系统。但在 MCP 出现之前,这件事极度繁琐:AI 应用有 M 种,数据源有 N 种,每一种组合都要有人单独写一套对接代码。
这就是业界说的「M 乘 N 问题」。假设你有 5 个 AI 应用、10 个想接的数据源,理想情况写 15 套对接就够了,但现实是最坏情况要写 5 乘 10 等于 50 套,而且每加一个新数据源,所有 AI 应用都要跟着改一遍。这就像家里十种电器、墙上十个不同形状的插座,每买一件新电器都得请电工重新接线。
MCP 的思路是「定一个统一插头」。它规定好 AI 和外部的对话方式,于是数据源只需要实现一次「插座」,所有遵守协议的 AI 都能插上;AI 也只需要实现一次「插头」,就能接上所有遵守协议的数据源。M 乘 N 于是变成了 M 加 N,多接一样东西的边际成本大幅下降。因为设计得开放、免费,它已经被大量厂商采纳,成为这一领域事实上的通用标准之一。
03 它怎么工作
MCP 把参与方分成三层:宿主程序是用户直接用的那个 AI 应用,客户端是宿主内部负责按协议说话的模块,服务器则是把某个数据源或工具包装成标准接口的一方。三者按同一套规则一问一答。
一次工具调用的三层结构:宿主、客户端、服务器
- 1① 宿主程序发起意图
用户用的 AI 应用(宿主)判断「这次回答需要外部信息」,决定去问一个 MCP 服务器。
- 2② MCP 客户端建立连接
宿主内部的客户端模块,按协议连上目标服务器,先问清楚「你这里有哪些工具和数据」。
- 3③ 服务器列出能力清单
服务器用统一格式返回自己能提供什么,例如「查询订单」「读取日程」,双方不需要事先约好细节。
- 4④ 模型决定调用哪个工具
模型根据用户需求和这份清单,挑选合适的工具并生成调用参数,交给客户端发出去。
- 5⑤ 服务器执行并返回结果
服务器真正去查数据库、读文件、调接口,把结果按标准格式回传,模型据此继续推理或作答。
04 谁在用它
让 AI 通过一个标准服务器读取工单、库存、CRM,无需为每个 AI 工具各写一套对接。
让 Claude Code 这类代理按需访问代码库、浏览器、数据库,扩展它能干的活。
软件厂商把自己的能力做成一个 MCP 服务器,就能被所有支持协议的 AI 应用调用。
把日程、笔记、文件管理接进 AI 助手,用一个统一入口完成日常操作。
05 怎么用
普通用户通常不用自己写协议代码,只要在支持 MCP 的应用里填一下服务器地址或命令;开发者则可以自己写一个服务器把自有系统接出去。
- 01先确认你用的 AI 应用是否支持 MCP(不少主流客户端已内置支持)。
- 02找到想接的服务对应的 MCP 服务器,通常由官方或社区提供现成的。
- 03在应用的配置里登记这个服务器,常见方式是填一条启动命令或一个地址。
- 04重启应用,查看它是否列出了新出现的工具,确认连上了。
- 05(进阶)若要把自家系统接出去,按官方示例实现服务器,暴露工具与数据。
- 06连接涉及敏感数据时,先确认权限范围与数据会流向哪里,再启用。
避坑提示
- !MCP 服务器能访问什么都由它自己决定,接第三方服务器前先看清它要求哪些权限。
- !协议是规范不是实现,不同客户端的支持程度有差异,遇到问题先查官方客户端兼容表。
- !它解决的是「怎么接」而不是「模型一定用得好」,工具描述写得清楚,模型才选得准。
06 关键概念
- 协议
- 各方共同遵守的一套约定,就像插头的尺寸标准,定好了大家才能互相插上。
- 宿主 / 客户端 / 服务器
- 宿主是你用的 AI 应用,客户端是它内部按协议说话的模块,服务器是把某个外部能力包装成标准接口的一方。
- M 乘 N 问题
- M 个应用乘 N 个数据源产生的组合爆炸,MCP 把它变成 M 加 N,成本大降。
- 事实标准
- 没有强制规定,但因为用的人多、生态广,大家事实上都照着它来做。