❝
MCP(Model Context Protocol,模型上下文协议)是一种开放标准协议,它让大型语言模型(LLM)能够与外部工具和数据源无缝通信,从而极大地扩展了AI的能力。
核心目标
:建立类似USB-C的标准化协议,统一AI模型与外部资源的交互接口,实现"一次集成,处处运行"。解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。

点关注不迷路
一、模型上下文协议(MCP)背景
MCP(Model Context Protocol)是由人工智能公司 Anthropic(开源Claude) 于 2024 年 11 月推出的开放协议,旨在解决 LLM 与外部数据源之间的通信标准化问题。其背景可概括为:
-
数据孤岛限制:传统 AI 模型因无法高效访问分散的本地或远程数据(如数据库、API、文件系统),导致潜力受限。 -
集成碎片化:不同数据源需定制化开发接口,增加开发成本且难以扩展(LangChain 和 LlamaIndex 整体代码的抽象层次过高)。 -
AI 生态需求:随着 LLM 应用场景扩展(如 Claude、Qwen 等),亟需统一协议连接工具、内容库及业务系统。
MCP 的提出类似于为 AI 应用打造“USB-C 端口”,实现通用连接标准。
二、为什么需要 MCP?解决哪些痛点?
现有痛点
-
数据隔离:LLM 无法直接访问企业内外部数据源(如数据库、API),需复杂定制开发。 -
安全风险:传统集成方式可能暴露敏感数据,缺乏标准化授权机制。 -
工具碎片化:不同数据源需独立适配,维护成本高。 -
上下文局限:模型依赖静态预训练数据,难以动态结合实时业务数据生成响应。
MCP 解决方案
-
统一接口:通过标准化协议连接多种数据源(文件、API、数据库等),简化集成,提供了一个通用的桥梁。 -
服务商:可以基于 MCP 开放自己的 API 和功能,融入更大的生态。 -
开发者:无需从头构建集成逻辑,直接利用现成的 MCP 服务即可增强 AI Agent 的能力。 -
安全控制:用户授权机制确保数据操作合规,支持本地部署避免数据外泄。 -
动态上下文:实时获取外部数据增强模型响应质量,如结合数据库查询生成精准答案。
解决重复造轮子的问题
MCP 的标准化设计让开发者可以复用社区贡献的资源。例如,一个支持 GitHub 操作的 MCP 服务器一旦开发完成,其他开发者就能直接调用,而无需重复实现。这种"一次开发,多次使用"的模式极大提升了效率。

三、MCP 基础概念
-
定义:MCP协议旨在解决传统AI系统与外部数据源和工具集成时的碎片化问题,为AI模型与外部世界之间的交互提供标准化接口。
-
作用:它就像AI的“通用翻译器”,让AI能够安全、可控地访问各种外部资源,如文件系统、数据库、API等,并执行具体任务。例如,当你让AI整理电脑里的会议记录时,它可以通过MCP协议直接调取文件系统,完成分类归档、生成摘要等操作。
通过两个比喻简明地解释了 MCP 的作用:
-
万能遥控器:MCP如同一个能够控制所有家电的万能遥控器,让AI助手用统一指令操作不同的企业系统,无需为每个系统配备特定的控制方式。
-
既能让"电视"播放监控视频(调用安防系统),也能让"空调"调节数据温度(调整服务器负载),还能让"音响"播报业务报告(触发语音合成)
-
AI的USB-C接口:MCP也被比作AI领域的USB-C接口,提供了一个统一标准,使AI可以轻松连接各种外设(如数据库、邮件系统、报告生成工具),避免了对多种专用接口的需求,简化了AI集成过程。
-
通过MCP,一个AI助手可以连U盘(数据库)、插打印机(邮件系统)、接显示器(报告生成),接口都一样,只是功能不同。
-
AI的通用翻译器:让AI能够安全、可控地访问各种外部资源,如文件系统、数据库、API等,并执行具体任务。例如,当你让AI整理电脑里的会议记录时,它可以通过MCP协议直接调取文件系统,完成分类归档、生成摘要等操作。
四、MCP 核心组件
MCP 主要五个核心组件:
-
MCP Host:运行 AI 模型的应用程序,例如:Pycharm、Visual Studio、Claude Desktop、Cursor、Cline。 -
MCP Client:是用来在 Hosts 应用程序内维护与 Server 之间 1:1 连接。一个主机应用中可以运行多个MCP客户端,从而同时连接多个不同的服务器。 -
MCP Server:核心部分,通过标准化协议为 Clients 提供资源(Resources)、工具(Tools)、提示词(Prompts)。 -
本地资源:本地文件、数据库等直接可访问的数据。 -
远程资源:外部 API 或云服务,例如 GitHub 或 Slack。
-
MCP Server 能力: -
Resources资源:静态数据源(如文件内容、API 响应)。 -
Tools工具:可调用的函数或服务(如 SQL 查询、第三方 API)。 -
Prompts提示词:预定义的任务模板,指导模型生成特定格式响应。 -
通讯机制: -
stdio 传输:MCP定义了一套基于JSON-RPC 2.0的消息通信协议。本地进程间通过标准输入输出交换 JSON-RPC 消息。 -
HTTP with SSE:远程通信采用服务端推送事件(Server-Sent Events)。 -
安全与控制: -
消息透明:采用纯JSON格式封装三种消息类型——请求(带唯一ID)、响应(含结果/错误)和通知(无回复)。每条消息包含方法名和参数,类似函数调用,直观表达"执行操作/获取数据"等行为。 -
开发友好:相比二进制协议(如gRPC),JSON消息可人工阅读,配合结构化日志更易调试。协议层自动处理请求响应匹配、错误传递和并发管理,开发者只需关注业务逻辑。 -
用户需显式授权工具调用,操作记录可审计。
五、MCP 工作流程
工作原理:MCP协议采用客户端-服务器架构,通过标准化的接口(如基于JSON-RPC的通信)实现上下文的动态传递和工具的灵活调用。当AI需要访问外部数据或工具时,MCP客户端会向对应的MCP服务器发送请求,服务器处理后返回结果,从而实现AI与外部资源的交互。

以 PostgreSQL 数据库查询为例,典型流程如下:
-
初始化连接:Client 启动 Server 进程并获取能力列表(Tools/Resources/Prompts)。 -
用户查询:用户提问(如“查询金额最高的订单”)。 -
LLM 决策:模型判断需调用工具(如 SQL 查询),Client 向 Server 发送请求。 -
执行与返回:Server 执行工具(生成 SQL 并查询数据库),结果返回给 LLM 生成最终响应。 -
用户展示:响应经授权后展示,支持查看原始数据来源(如 SQL 语句)。
六、MCP 与 Function Calling 的区别

|
|
|
---|---|---|
生态支持 |
|
|
安全性 |
|
|
七、MCP Server 分类及应用
MCP Server是MCP服务的核心,主要从官方、第三方以及社区MCP Server三个角度对关注度较高的应用进行细分。
官方MCP Server
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
第三方MCP Server
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
社区MCP Server
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
八、MCP在网页爬取的场景的最佳实践
假设需通过 MCP 实现动态网页数据抓取:
-
构建爬取工具:
-
定义 WebCrawlerTool
,参数包含 URL 和解析规则(如 XPath)。
-
将工具部署为 Server,暴露 call_tool
方法执行爬取逻辑。
-
LLM 根据用户问题(如“获取某新闻网站头条”)生成工具调用请求,返回结构化数据。
-
限制爬取频率,通过用户授权控制敏感操作。
标准开发流程
-
定义功能:明确MCP服务器将提供哪些功能,比如文件管理、数据库查询、网络服务等。 -
实现MCP层:遵循标准化的MCP协议规范进行开发,包括消息格式、通信逻辑等。 -
选择传输方式:在本地传输(如stdio)或远程传输(如服务器发送事件/WebSockets)之间选择。 -
创建资源/工具:开发或连接MCP将要交互的特定数据源和服务,如文件系统、数据库、API等。 -
设置客户端:在MCP服务器和客户端之间建立安全稳定的连接通道。
九、应用场景
-
行程规划助手:AI助手通过MCP服务器无缝检查日历可用时间、预订航班、发送确认邮件等,无需为每个工具单独开发集成代码。 -
高级IDE(智能代码编辑器):开发环境通过MCP协议连接文件系统、版本控制、包管理器和文档系统,实现更丰富的上下文感知能力和更智能的代码建议。 -
复杂数据分析:AI分析平台通过统一的MCP层自动发现并与多个数据库、可视化工具和模拟系统进行交互,无需手动管理连接。 -
文件管理:让AI助手整理文件、归档、生成摘要等,如通过MCP服务器访问本地文件系统。 -
信息查询:直接搜索本地文档或询问PDF内容,获取所需信息。 -
沟通辅助:根据报告起草Slack消息,或总结团队聊天。 -
网络服务:通过MCP服务器获取天气、地图导航或新闻简报。
十、总结与展望
总结:
-
价值:统一了 LLM 与外部系统的交互标准,降低集成成本,提升模型实用性。 -
局限:暂不支持复杂逻辑(如循环)、远程连接依赖本地中转。
展望:
-
远程连接:2025 年路线图计划支持 OAuth 2.0 认证与无状态服务。 -
生态扩展:更多企业和社区加入(如 Block、Apollo),推动工具标准化。 -
行业应用:在医疗、金融等领域结合私有数据增强模型专业化能力。
学习建议
如果你对MCP协议感兴趣,可以从以下几个方面入手:
-
了解基础概念:先掌握MCP协议的定义、作用和架构等基础知识。 -
学习技术细节:深入研究MCP协议的通信机制、数据格式以及各个组件的具体实现方式。 -
参考官方文档和社区资源:Anthropic官方提供了详细的MCP协议文档和示例代码,同时社区中也有许多开发者分享的经验和教程。 -
实践操作:尝试搭建一个简单的MCP服务器,或者使用现有的MCP客户端连接到不同的MCP服务器,体验其功能。
引用
-
[0]https://mcpcn.com -
[1]https://www.anthropic.com/news/model-context-protocol -
[2]https://modelcontextprotocol.io/development/roadmap -
[3]https://github.com/modelcontextprotocol -
[4]https://mcp.so/servers -
[5]https://github.com/punkpeye/awesome-mcp-servers -
[6]https://github.com/appcypher/awesome-mcp-servers -
[7]https://github.com/modelcontextprotocol/python-sdk
关于我
点关注不迷路
# RAG专题、# Prompt专题、# ASR+TTS专题