第 1 篇MCP 是什么——AI 世界的万能插座你有没有遇到过这种情况——用 ChatGPT 或者 Claude 的时候想让 AI 读一下我本地的文件或者查一下数据库或者发个邮件结果它说抱歉我无法访问外部资源。然后你就得自己去查、复制、粘贴。体验瞬间断档。这不是 AI 不够聪明而是它被关起来了。AI 模型本身就像一个超级大脑但这个大脑没有手、没有眼睛、也连不上网。它所有的知识都来自训练数据你问它今天的股价它只能说我的知识截止到 X 年 X 月。那么问题来了能不能给 AI 模型装上一套感官和手脚这就是 MCP 要做的事。1.1 从 USB-C 说起先聊一个完全不相关的东西——充电线。在 USB-C 统一标准出现之前你桌上是这样的手机一根线、平板一根线、耳机一根线、相机一根线。每换一个新设备就得多备一根线。乱不乱乱。烦不烦烦。USB-C 出现之后呢一根线充所有。管你什么牌子什么设备插上就行。MCP 干的也是类似的事。在 MCP 出现之前每个 AI 应用想对接外部工具都得自己写一套集成代码。A 公司想让 AI 读数据库自己写一套。B 公司想让 AI 查文件自己写一套。C 公司想让 AI 调用 API又自己写一套。每家的接法都不一样换个 AI 模型就得重来。MCPModel Context Protocol就是给这个场景定了个USB-C 标准。它是一套开放协议规定了 AI 模型怎么跟外部工具和数据源对话。一句话总结MCP 是一个让 AI 模型安全访问外部工具和数据的统一接口标准。有了它你写一次工具所有支持 MCP 的 AI 都能用。反过来AI 只要支持 MCP就能接上所有 MCP 工具。1.2 MCP 怎么工作的MCP 的架构很简单就三个角色你的 AI 应用 ←→ MCP 协议 ←→ MCP 服务器数据源 / 工具MCP 客户端就是你的 AI 应用比如 Claude Desktop、VS Code 里的 AI 插件。它负责跟用户对话也需要调用外部工具。MCP 服务器每个服务器暴露一组能力比如我能查文件、“我能搜网页”、“我能读数据库”。服务器是轻量级的程序专注做好一件事。MCP 协议两者之间的通信规则——怎么说、说什么、格式是什么。你不需要关心底层怎么传数据MCP 协议帮你搞定。1.3 MCP 的三件套MCP 定义了三种核心能力理解了它们就理解了 MCP 的 80%。Resources资源—— AI 的眼睛Resources 让 AI 能读东西。文件内容、数据库记录、API 返回结果……都是资源。每个资源有一个 URI 标识就像网页的 URL 一样。比如file:///home/user/notes.txt或者database://users/123。AI 说帮我读一下这个文件。MCP 服务器就去拿到内容返回给 AI。简单说Resources AI 能读取的数据。Tools工具—— AI 的手重点Tools 让 AI 能做事。除了读还要能写、能执行、能操作。比如搜索网页、发送邮件、创建文件、执行计算。Tools 和 Resources 最大的区别是Tools 有副作用。读一个文件不改变任何东西Resources但发一封邮件确实把邮件发出去了Tools。所以 Tools 通常需要用户确认后才执行。简单说Tools AI 能调用的操作。Prompts提示模板—— 提前写好的咒语Prompts 是预定义的提示模板。比如你经常让 AI “把这段文字翻译成英文”可以把这条指令做成一个 Prompt 模板一键调用。简单说Prompts 可复用的指令模板。这三个合起来MCP 服务器就能告诉 AI“我能读这些、能做这些、还能用这些模板跟你配合。”1.4 MCP 是怎么通信的聊完了有什么再说怎么传。MCP 底层使用JSON-RPC协议通信。JSON-RPC 是一种轻量级的远程调用协议说白了就是——两边约定好所有消息都写成 JSON 格式按照固定的结构来传。一条消息大概长这样{jsonrpc:2.0,id:1,method:tools/call,params:{name:search_web,arguments:{query:今天的天气}}}别被格式吓到本质上就是“我要调用 search_web 这个工具参数是查询今天的天气”。MCP 支持两种传输方式stdio客户端和服务器在本地通过标准输入/输出通信。适合本地运行的工具安全、简单。SSEServer-Sent Events通过 HTTP 通信适合远程服务器。比如你的 MCP 服务器跑在云上AI 客户端在本地它们通过 SSE 连接。通信流程大致是1. 客户端发起连接初始化 2. 双方交换能力信息我支持这些功能 3. 正常运行客户端发请求服务器返回结果 4. 断开连接整个过程就像打电话拨号 → 互相确认身份 → 开始说话 → 挂断。1.5 所以 MCP 不是什么很多人一听到 MCP会把它想得很重。来澄清几个误解MCP 不是一个新的框架。它就是一个协议规范。就像 HTTP 不是软件而是一套规则。MCP 不绑定任何 AI 模型。OpenAI 可以用、Anthropic 可以用、开源的 Llama 也可以用只要实现了协议就行。MCP 不是 Agent。Agent 是一个能自主决策、规划、执行任务的系统。MCP 只是 Agent 用来调用工具的管道。有了 MCP写 Agent 确实更方便但 MCP 本身不是 Agent。MCP 不要求你重写现有系统。你想暴露一个已有的 API写一个薄薄的 MCP 服务器包装一层就行。1.6 小结现在你应该对 MCP 有个整体的印象了MCP 是一个开放协议统一了 AI 和外部工具的通信方式。核心概念有三Resources读、Tools写/操作、Prompts模板。通信基于JSON-RPC支持stdio本地和SSE远程两种传输方式。MCP 不是框架、不是 Agent、不绑定任何厂商。下一篇我们会亲手写一个 MCP 服务器把今天讲的概念落成代码。纸上谈兵结束开始动手。下一篇第 2 篇手写一个 MCP Server——从零到跑通
第 1 篇:MCP 是什么?——AI 世界的“万能插座“
发布时间:2026/5/27 22:40:09
第 1 篇MCP 是什么——AI 世界的万能插座你有没有遇到过这种情况——用 ChatGPT 或者 Claude 的时候想让 AI 读一下我本地的文件或者查一下数据库或者发个邮件结果它说抱歉我无法访问外部资源。然后你就得自己去查、复制、粘贴。体验瞬间断档。这不是 AI 不够聪明而是它被关起来了。AI 模型本身就像一个超级大脑但这个大脑没有手、没有眼睛、也连不上网。它所有的知识都来自训练数据你问它今天的股价它只能说我的知识截止到 X 年 X 月。那么问题来了能不能给 AI 模型装上一套感官和手脚这就是 MCP 要做的事。1.1 从 USB-C 说起先聊一个完全不相关的东西——充电线。在 USB-C 统一标准出现之前你桌上是这样的手机一根线、平板一根线、耳机一根线、相机一根线。每换一个新设备就得多备一根线。乱不乱乱。烦不烦烦。USB-C 出现之后呢一根线充所有。管你什么牌子什么设备插上就行。MCP 干的也是类似的事。在 MCP 出现之前每个 AI 应用想对接外部工具都得自己写一套集成代码。A 公司想让 AI 读数据库自己写一套。B 公司想让 AI 查文件自己写一套。C 公司想让 AI 调用 API又自己写一套。每家的接法都不一样换个 AI 模型就得重来。MCPModel Context Protocol就是给这个场景定了个USB-C 标准。它是一套开放协议规定了 AI 模型怎么跟外部工具和数据源对话。一句话总结MCP 是一个让 AI 模型安全访问外部工具和数据的统一接口标准。有了它你写一次工具所有支持 MCP 的 AI 都能用。反过来AI 只要支持 MCP就能接上所有 MCP 工具。1.2 MCP 怎么工作的MCP 的架构很简单就三个角色你的 AI 应用 ←→ MCP 协议 ←→ MCP 服务器数据源 / 工具MCP 客户端就是你的 AI 应用比如 Claude Desktop、VS Code 里的 AI 插件。它负责跟用户对话也需要调用外部工具。MCP 服务器每个服务器暴露一组能力比如我能查文件、“我能搜网页”、“我能读数据库”。服务器是轻量级的程序专注做好一件事。MCP 协议两者之间的通信规则——怎么说、说什么、格式是什么。你不需要关心底层怎么传数据MCP 协议帮你搞定。1.3 MCP 的三件套MCP 定义了三种核心能力理解了它们就理解了 MCP 的 80%。Resources资源—— AI 的眼睛Resources 让 AI 能读东西。文件内容、数据库记录、API 返回结果……都是资源。每个资源有一个 URI 标识就像网页的 URL 一样。比如file:///home/user/notes.txt或者database://users/123。AI 说帮我读一下这个文件。MCP 服务器就去拿到内容返回给 AI。简单说Resources AI 能读取的数据。Tools工具—— AI 的手重点Tools 让 AI 能做事。除了读还要能写、能执行、能操作。比如搜索网页、发送邮件、创建文件、执行计算。Tools 和 Resources 最大的区别是Tools 有副作用。读一个文件不改变任何东西Resources但发一封邮件确实把邮件发出去了Tools。所以 Tools 通常需要用户确认后才执行。简单说Tools AI 能调用的操作。Prompts提示模板—— 提前写好的咒语Prompts 是预定义的提示模板。比如你经常让 AI “把这段文字翻译成英文”可以把这条指令做成一个 Prompt 模板一键调用。简单说Prompts 可复用的指令模板。这三个合起来MCP 服务器就能告诉 AI“我能读这些、能做这些、还能用这些模板跟你配合。”1.4 MCP 是怎么通信的聊完了有什么再说怎么传。MCP 底层使用JSON-RPC协议通信。JSON-RPC 是一种轻量级的远程调用协议说白了就是——两边约定好所有消息都写成 JSON 格式按照固定的结构来传。一条消息大概长这样{jsonrpc:2.0,id:1,method:tools/call,params:{name:search_web,arguments:{query:今天的天气}}}别被格式吓到本质上就是“我要调用 search_web 这个工具参数是查询今天的天气”。MCP 支持两种传输方式stdio客户端和服务器在本地通过标准输入/输出通信。适合本地运行的工具安全、简单。SSEServer-Sent Events通过 HTTP 通信适合远程服务器。比如你的 MCP 服务器跑在云上AI 客户端在本地它们通过 SSE 连接。通信流程大致是1. 客户端发起连接初始化 2. 双方交换能力信息我支持这些功能 3. 正常运行客户端发请求服务器返回结果 4. 断开连接整个过程就像打电话拨号 → 互相确认身份 → 开始说话 → 挂断。1.5 所以 MCP 不是什么很多人一听到 MCP会把它想得很重。来澄清几个误解MCP 不是一个新的框架。它就是一个协议规范。就像 HTTP 不是软件而是一套规则。MCP 不绑定任何 AI 模型。OpenAI 可以用、Anthropic 可以用、开源的 Llama 也可以用只要实现了协议就行。MCP 不是 Agent。Agent 是一个能自主决策、规划、执行任务的系统。MCP 只是 Agent 用来调用工具的管道。有了 MCP写 Agent 确实更方便但 MCP 本身不是 Agent。MCP 不要求你重写现有系统。你想暴露一个已有的 API写一个薄薄的 MCP 服务器包装一层就行。1.6 小结现在你应该对 MCP 有个整体的印象了MCP 是一个开放协议统一了 AI 和外部工具的通信方式。核心概念有三Resources读、Tools写/操作、Prompts模板。通信基于JSON-RPC支持stdio本地和SSE远程两种传输方式。MCP 不是框架、不是 Agent、不绑定任何厂商。下一篇我们会亲手写一个 MCP 服务器把今天讲的概念落成代码。纸上谈兵结束开始动手。下一篇第 2 篇手写一个 MCP Server——从零到跑通