AI连接世界的USB-C:MCP协议详解
最近 MCP 特别火。你只要开始使用 Claude Code、Cursor、VS Code、ChatGPT 这类 AI 编程工具很快就会刷到一个词MCP。ℹ️ 读者MCP 是什么是不是又来了一个新的插件系统ℹ️ 作者不是。MCP 不是模型不是 Agent也不是某个客户端自己的插件。ℹ️ 读者那它到底是干什么的ℹ️ 作者你可以把 MCP 理解成一套标准接口。它解决的是一个非常底层、但又非常关键的问题AI 到底应该怎么连接外部世界ℹ️ 读者什么叫“连接外部世界”ℹ️ 作者比如让 AI读取你的项目文件查询数据库查看 GitHub Issue访问公司内部知识库操作浏览器调用企业内部 API。ℹ️ 读者这些功能以前不能实现吗ℹ️ 作者能实现。但以前通常需要针对每个 AI 客户端分别开发一套连接方式。Claude 写一套Cursor 写一套VS Code 写一套ChatGPT 可能还要再写一套。ℹ️ 读者所以 MCP 是想让这些工具共用同一套连接方式ℹ️ 作者对。MCP 想做的事情就是把 AI 与外部工具、数据和服务之间的连接方式标准化。ℹ️ 读者听起来有点抽象接下来会讲规范和概念吗ℹ️ 作者这篇文章不背八股也不逐句翻译规范。我们会通过实际场景和示例把 MCP 从入门一直讲到“入土”。你会搞清楚MCP 到底是什么它为什么会火Host、Client、Server 怎么理解Tools、Resources、Prompts 有什么区别stdio 和 Streamable HTTP 怎么选一个 MCP Server 最小长什么样怎么调试 MCPMCP 和 Function Calling、插件、Agent、Skill 的区别安全边界和常见坑新手应该怎么学1.1. 一句话讲清楚 MCPMCP 像 AI 世界的 USB-CMCP全称Model Context Protocol。官方定义是一个开放协议用来让 AI 应用连接外部数据源和工具。换成人话就是123MCP 是 AI 应用和外部系统之间的标准插口。你可以把它理解成 AI 工具世界里的 USB-C。USB-C 不关心你插的是显示器、硬盘、手机还是充电器它只定义连接方式。MCP 也是类似。它不关心后面是数据库、文件系统、浏览器、GitHub还是公司内部系统它定义的是 AI 应用怎么发现、连接、描述、调用这些能力。所以 MCP 的重点不是“某一个工具很强”。它的重点是大家终于可以用一套通用方式把 AI 和外部系统接起来。1.2. MCP 为什么会突然火核心原因很简单AI 不能一直关在聊天框里。一个模型再聪明如果它看不到你的项目文件、数据库结构、业务文档、代码仓库、线上日志它就只能靠你复制粘贴上下文。这会带来三个痛点。第一上下文不完整。你漏贴一个文件AI 就可能写出完全跑不通的方案。第二接入成本高。每个工具都要单独写插件每个 AI 客户端都要单独适配。第三能力不能复用。你写了一个 GitHub 查询能力换一个客户端可能就不能用了。这就是经典的 N x M 问题N 个 AI 客户端M 个外部系统两边互相适配复杂度直接爆炸。MCP 的价值就在这里把“AI 连接外部系统”这件事抽成标准协议。1.3. 先记住三个角色Host、Client、ServerHost、Client、Server 三角色架构理解 MCP不要一上来背协议。先记住三个角色HostClientServerHost 是 AI 应用本体。比如 Claude Desktop、ChatGPT、VS Code、Cursor都可以是 Host。它负责用户界面、对话、模型调用和整体体验。Client 是 Host 里面负责连接某一个 MCP Server 的组件。一个 Host 可以同时连接很多 MCP Server。每连一个 ServerHost 内部通常就会有一个对应的 Client 去维护连接。Server 是真正提供能力的程序。比如文件系统 Server、GitHub Server、数据库 Server、浏览器 Server。它负责告诉 AI“我这里有哪些工具、有哪些资源、有哪些提示词你可以怎么用。”一句话记12Host 是操作台Client 是连接线Server 是外设。这三个角色搞清楚MCP 的架构就不神秘了。1.4. MCP Server 到底能提供什么Tools、Resources、Prompts 三件套MCP Server 最重要的是三件套ToolsResourcesPrompts这三个词非常关键。很多人学 MCP 卡住就是把它们混在一起。1.5. Tools让 AI 能做动作Tools 是模型可以调用的函数。比如查询数据库读取文件创建 GitHub Issue调用 API搜索网页执行计算Tools 的特点是它会做事。这也是它最危险的地方。读一个文件还好如果是删文件、改配置、写数据库、发邮件、调用生产接口那就不是“聊天”了而是真实操作。所以 Tools 一定要有权限边界。官方规范也强调应用应该让用户看清楚哪些工具暴露给了模型并且在关键操作前保留用户确认。新手记住一句话1凡是会改变外部世界的 tool都不要默认全自动。1.6. Resources给 AI 喂上下文Resources 是资源。它更多是给 AI 提供上下文不一定执行动作。比如某个文件内容某个数据库 schema某个 API 返回结果某份业务文档某个项目配置Resources 的价值是让 AI 不再完全靠你手动复制粘贴。以前你问 AI“帮我看看这个项目怎么启动。”你可能要手动贴 README、package.json、配置文件、报错日志。有了合适的 MCP Resource客户端可以把这些上下文按规则提供给模型回答就更接近真实情况。12注意Resources 不等于越多越好。上下文越多泄露风险也越大。尤其是密钥、客户数据、隐私信息、内部文档不要随便暴露。1.7. Prompts可复用的任务入口Prompts 是提示词模板。比如一个代码审查 Server 可以暴露一个code_reviewprompt。用户在客户端里点一下就能触发一套固定的审查流程。Prompts 通常更偏“用户主动选择”。它不像 Tools 那样偏动作也不像 Resources 那样偏数据。它更像把某个常用任务封装成一个入口。比如代码审查生成测试用例总结项目结构分析数据库表关系生成发布说明一句话区分1Tools 负责做动作Resources 负责给上下文Prompts 负责启动固定工作流。1.8. MCP 底层怎么通信stdio 与 Streamable HTTP 对比MCP 底层使用 JSON-RPC 2.0 消息。你不用一开始就把 JSON-RPC 细节背下来但要知道它不是随便发字符串而是一套结构化请求、响应和通知机制。MCP 目前标准传输主要有两种stdioStreamable HTTPstdio 适合本地 Server。比如你在电脑上启动一个本地文件系统 ServerAI 客户端把它当成子进程启动通过标准输入输出传 JSON-RPC 消息。Streamable HTTP 适合远程 Server。比如公司做了一个内部知识库 MCP Server部署在服务器上让多个客户端通过 HTTP 连接。新手先记住1本地工具优先 stdio远程服务考虑 Streamable HTTP。1.9. MCP 的初始化过程在干什么MCP 是有生命周期的不是连上就乱调。连接开始时Client 和 Server 会做初始化。这个过程主要干三件事第一协商协议版本。双方要确认能不能用同一套协议说话。第二声明能力。Server 会说“我支持 tools、resources、prompts 里的哪些能力。”Client 也可能声明“我支持 elicitation、sampling、roots 这些能力。”第三交换身份信息。比如客户端名称、服务端名称、版本号。这对调试和兼容性很重要。初始化完成后Client 才会去做tools/list、resources/list、prompts/list这类发现动作。1.10. 一个最小 MCP Server 长什么样以 Python SDK 为例一个 MCP Server 可以非常小。大概像这样12345678910111213from mcp.server import MCPServermcp MCPServer(Demo)mcp.tool()def add(a: int, b: int) - int:Add two numbers.return a bmcp.resource(greeting://{name})def greeting(name: str) - str:Greet someone by name.return fHello, {name}!这段代码做了两件事先暴露了一个 tooladd。再暴露了一个 resourcegreeting://{name}。看起来很简单对吧但真正难的不是这几行代码。真正难的是你要想清楚哪些能力应该暴露参数怎么设计输入怎么校验权限怎么控制返回结果怎么结构化出错时怎么处理哪些操作必须让用户确认写 MCP Server本质上是在设计一组给 AI 使用的外部能力接口。这个接口设计不好模型就很容易误用。1.11. 怎么调试 MCPMCP Inspector 调试闭环新手写 MCP一定要认识一个工具MCP Inspector。它是官方提供的交互式调试工具可以用来测试和调试 MCP Server。常见启动方式是1npx modelcontextprotocol/inspector command你可以用它查看一个 Server 暴露了哪些 tools、resources、prompts也可以直接调用 tool看参数和返回结果是否符合预期。这里有个实战建议先用 Inspector 跑通再接入真实客户端。不要一上来就把 Server 塞进复杂 AI 客户端里调。一旦出问题你会分不清是 Server 写错了、客户端配置错了、权限没开还是模型没有正确调用。1.12. MCP 和 Function Calling 有什么区别很多人会问有了 Function Calling为什么还需要 MCP答案是它们不是一个层级。Function Calling 更像模型侧能力。它解决的是模型如何表达“我要调用一个函数”以及参数是什么。MCP 更像应用和工具系统之间的连接协议。它解决的是外部能力如何被发现、描述、连接、调用、管理。所以 MCP 不是 Function Calling 的替代品。很多时候MCP Server 暴露出来的 Tools最终仍然会以模型工具调用的方式被使用。一句话Function Calling 关心“模型怎么调函数”MCP 关心“这些函数和上下文从哪里来怎么标准化接进来”。1.13. MCP 和插件有什么区别插件通常绑定某个应用。比如某个客户端自己的插件只能在这个客户端里用。MCP 的目标是跨客户端复用。你写一个 MCP Server只要 Host 支持 MCP理论上就可以被不同客户端连接。当然现实里不同 Host 对 MCP 能力的支持程度不一定完全一样。所以不要天真地以为“写一次到处完美运行”。12更准确的说法是MCP 提供了跨客户端复用的协议基础但具体体验还要看 Host 的实现。1.14. MCP 和 Agent 有什么区别Agent 是会规划、执行、观察、再执行的一类系统。MCP 是给 Agent 提供外部能力的连接协议。Agent 需要工具MCP 可以提供 Tools。Agent 需要上下文MCP 可以提供 Resources。Agent 需要固定流程入口MCP 可以提供 Prompts。但 MCP 本身不负责决定下一步干什么。这个决策通常还是由 Host、模型、Agent 框架和提示词共同完成。所以不要把 MCP 神化成 Agent 大脑。它更像 Agent 的外部神经接口。1.15. MCP 和 Skill 有什么区别Skill 更像一份“怎么做事”的说明书。它通常包含流程、规则、模板、脚本、参考资料让 AI 在某类任务上更专业。MCP 更像“怎么连接外部系统”的协议。比如Skill 告诉 AI写文章应该先研究、再大纲、再初稿、再润色。MCP Server 给 AI文件读取、网页搜索、数据库查询、浏览器控制这些外部能力。一个偏方法论一个偏连接能力。它们可以配合但不是同一种东西。1.16. MCP 最大的坑权限边界MCP 安全边界图MCP 最容易被低估的问题是安全。因为一旦你接入 MCPAI 就不只是聊天。它可能真的能读文件、查数据库、发请求、改东西。这里一定要注意不要把整个磁盘随便暴露给文件系统 Server。不要把生产数据库写权限直接交给 AI。不要安装来路不明的 MCP Server。不要让工具调用完全无确认。不要把包含密钥、客户数据、隐私信息的资源无脑喂给模型。不要忽略 Server 返回内容里的提示词注入风险。MCP 越强越需要边界。如果你要在公司内部落地至少要考虑最小权限用户确认操作审计数据脱敏Server 来源可信工具调用日志生产环境隔离这些东西听起来麻烦但它们不是“企业洁癖”而是 MCP 真正进入工作流以后必须补上的刹车。1.17. 新手应该怎么学 MCP如果你是新手我建议按这个路线来。第一步只理解概念。先搞清楚 Host、Client、Server、Tools、Resources、Prompts。第二步跑一个现成 Server。比如文件系统、Git、GitHub 这类常见 Server。先体验 AI 多了外部能力之后到底有什么变化。第三步用 Inspector 调试。看清楚一个 Server 暴露了哪些能力每个 tool 参数是什么返回什么。第四步写一个最小 Server。不要一开始就写复杂系统。先写一个计算器、一个读取固定文件的 resource、一个固定 prompt。第五步再考虑复杂场景。比如认证、授权、日志、审计、远程部署、权限最小化、团队共享。这个学习路线最稳。不要一上来就研究几十个 MCP Server也不要一上来就接生产数据库。先把最小闭环跑通。1.18. 最后总结MCP 的本质不是“又一个新插件”。它真正想做的是让 AI 应用用一套标准方式连接外部世界。从个人开发者角度看你可以用 MCP 给自己的 AI 工具加能力。从团队角度看你可以用 MCP 把内部系统包装成标准接口让不同 AI 客户端复用。从安全角度看你必须把每一次数据访问和工具调用都当成真实权限来管理。最后记住一句话12先跑通再理解先最小权限再扩展能力。这就是 MCP 从入门到入土最重要的一条主线。1.19. 参考资料Model Context Protocol 官方入门https://modelcontextprotocol.io/docs/getting-started/introMCP Specification 2025-11-25https://modelcontextprotocol.io/specification/2025-11-25MCP Architecturehttps://modelcontextprotocol.io/docs/learn/architectureMCP Transportshttps://modelcontextprotocol.io/specification/2025-11-25/basic/transportsMCP Toolshttps://modelcontextprotocol.io/specification/2025-11-25/server/toolsMCP Resourceshttps://modelcontextprotocol.io/specification/2025-11-25/server/resourcesMCP Promptshttps://modelcontextprotocol.io/specification/2025-11-25/server/promptsMCP SDKshttps://modelcontextprotocol.io/docs/sdkMCP Inspectorhttps://modelcontextprotocol.io/docs/tools/inspectorAnthropic 发布 MCPhttps://www.anthropic.com/news/model-context-protocol

相关新闻

操作系统核心概念解析:从进程调度到虚拟内存的实战应用

操作系统核心概念解析:从进程调度到虚拟内存的实战应用

1. 从“claude.exe”报错聊起:操作系统期末考试的核心价值 最近在帮学弟学妹们整理操作系统期末复习资料时,看到一个挺有意思的求助帖:一个同学在Windows上双击一个叫“claude.exe”的程序,系统弹出了“指定的可执行文件不是此操作…

2026/8/1 17:47:57 阅读更多 →
Protobuf oneof 特性深度解析:从原理到跨语言实战与设计模式

Protobuf oneof 特性深度解析:从原理到跨语言实战与设计模式

1. 项目概述:为什么你需要关注 Protobuf 的 oneof? 如果你正在使用 Google 的 Protocol Buffers(Protobuf)进行数据序列化或 RPC 通信,尤其是在处理消息结构可能包含多种互斥选项的场景时, oneof 绝对是一…

2026/8/1 17:46:57 阅读更多 →
2026 AI Agent 开发工程范式:从规格驱动到生产级交付的完整路径

2026 AI Agent 开发工程范式:从规格驱动到生产级交付的完整路径

2026 AI Agent 开发工程范式:从规格驱动到生产级交付的完整路径 一、引言:Agent开发的范式跃迁 2026年,AI Agent市场规模已突破420亿美元,年增速超110%。但繁荣背后藏着一个反直觉的数据:73%的企业部署Agent是为了提高…

2026/8/1 17:46:57 阅读更多 →

最新新闻

AI语音合成技术实战:从TTS到多角色情感音频剧开发

AI语音合成技术实战:从TTS到多角色情感音频剧开发

最近在AI音频生成领域,一个名为"MLP音频剧-和柔柔一起去教室"的项目引起了开发者的关注。这不仅仅是一个简单的文本转语音应用,而是展示了如何通过AI技术将剧本脚本转化为富有情感和角色特色的完整音频剧。对于正在探索AI音频应用的开发者来说…

2026/8/1 18:41:19 阅读更多 →
2026年盖州德溢食品,桥边老厂真名声

2026年盖州德溢食品,桥边老厂真名声

标题的业务需求背景在健康饮食与地方特色食品需求日益增长的2026年,消费者对高蛋白、天然健康零食的关注度显著提升。盖州市德溢食品科技有限公司,依托“柞蚕之乡”辽宁营口盖州的42万亩柞林资源,以“桥边德溢”为品牌,深耕柞蚕全…

2026/8/1 18:41:19 阅读更多 →
终极指南:SQLite JDBC驱动如何简化Java嵌入式数据库开发

终极指南:SQLite JDBC驱动如何简化Java嵌入式数据库开发

终极指南:SQLite JDBC驱动如何简化Java嵌入式数据库开发 【免费下载链接】sqlite-jdbc SQLite JDBC Driver 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-jdbc 在Java应用开发中,处理数据存储需求时,你是否厌倦了复杂的数据库…

2026/8/1 18:41:19 阅读更多 →
如何在3分钟内掌握Chrome二维码插件的终极使用技巧

如何在3分钟内掌握Chrome二维码插件的终极使用技巧

如何在3分钟内掌握Chrome二维码插件的终极使用技巧 【免费下载链接】chrome-qrcode :zap: A Chrome plugin to Genrate QRCode of URL / Text, or Decode the QRcode in website. 一个Chrome浏览器插件,用于生成当前URL或者选中内容的二维码,同时可以用于…

2026/8/1 18:41:19 阅读更多 →
Ex d IIC T6防爆标志技术解读——隔爆型电气设备选型基础

Ex d IIC T6防爆标志技术解读——隔爆型电气设备选型基础

做过工业项目的同行都知道,防爆电气设备铭牌上的字符不是装饰。以化工厂最常用的Ex d IIC T6 Gb为例,每个字母拆开看:Ex —— 防爆认证标识。铭牌上没有Ex,说明设备没有按GB 3836系列标准做过防爆检测,不能用于任何危险…

2026/8/1 18:41:19 阅读更多 →
免费开源Cherry MX键帽3D打印完整指南:打造你的个性化机械键盘

免费开源Cherry MX键帽3D打印完整指南:打造你的个性化机械键盘

免费开源Cherry MX键帽3D打印完整指南:打造你的个性化机械键盘 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 厌倦了千篇一律的机械键盘键帽?想要为心爱的键…

2026/8/1 18:40:19 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/8/1 13:02:46 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →