Why MCP?
MCP全称模型上下⽂协议(Model Context Protocol),由Anthropic于24年底开源发布:www.anthropic.com/news/model-…
使用MCP协议开发AI大模型的标准化工具箱,就好比多啦A梦的口袋,⼤模型可以利⽤这些⼯具与外界互动,获取信息并且完成任务。
为什么MCP火了起来?这就要看MCP能解决什么问题,在MCP出现之前我们使用AI的现状是什么?
⼤模型(LLM)再强,也总有不知道的东⻄,怎么办?让它“查资料”“调⼯具”成了近两年最热的技术⽅向。
从最早的 RAG(Retrieval-Augmented Generation),到 OpenAI 引领的 Function Call,再到现在 Anthropic 抛出的 MCP(Model Context Protocol),每⼀代⽅案都在试图解答⼀个问题:模型如何以更⾃然的⽅式获得外部世界的帮助(与外部世界交互)?
1. 第一阶段:复制粘贴代码/文档等上下文内容到AI客户端会话窗口
想想在chatgpt刚出来的时候,我们大多数人的用法是不是会把一些需要用到的上下文内容,比如代码/文档复制粘贴到AI对话窗口,最后把AI返回的结果复制粘贴回自己的代码编辑器/文档里面,这样反复来回调试几次
graph TB G1[AI客户端1] <--> D[用户] G2[AI客户端2] <--> D G3[AI客户端3] <--> D D --> B[浏览器] D --> C[文件系统] D --> E[数据库] D --> F[代码] style B fill:#f0f0ff,stroke:#9999ff style C fill:#f0f0ff,stroke:#9999ff style D fill:#f0f0ff,stroke:#9999ff style E fill:#f0f0ff,stroke:#9999ff style F fill:#f0f0ff,stroke:#9999ff style G1 fill:#f0f0ff,stroke:#9999ff style G2 fill:#f0f0ff,stroke:#9999ff style G3 fill:#f0f0ff,stroke:#9999ff
2. 第二阶段:AI客户端去开发各种工具并使用Function Call调用
由于复制粘贴太麻烦了,这些AI客户端开始就想办法,不需要用户自己去复制粘贴上下文内容,而是AI客户端使用function call来进行调用各种工具
3. 第三阶段:AI客户端遵循mcp协议开发工具,共享工具库
由于不同的AI客户端在调用工具时,同一种的工具每次都需要重新开发一遍,不同的AI客户端无法共享其他家已经开发好的工具,这个时候大家发现了cursor里面使用的mcp协议,完美地解决了这个问题
使用mcp统一协议之后,大家可以共建一套工具库,然后AI客户端使用这个mcp标准协议,就可以共享这些工具库来进行调用了
了解了MCP出现的前因后果,接下来我们再来详细看看什么是MCP
What MCP?
官方定义:modelcontextprotocol.io/introductio…
MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
可以看到官方的定义中将MCP比喻成USB接口,使用如下的一张图可以更加形象地表示:
图中MCP就好比USB接口,可以外接各种MCP Server包括远程服务和本地数据源服务,这些MCP Server就好比Type-C线,可以接入到这个USB接口。MCP Client客户端就可以调用这些MCP Server,到这里你就对MCP有一个大致形象化的了解了。
至于图中的MCP Host以及MCP Host跟MCP Client是什么关系?我们可以继续往下看。
MCP Quickstart
实践是检验真理的唯一标准,让我们来快速体验一下MCP
推荐使用 Cherry Studio来快速接入MCP Server,这个软件免费可用,调试体验非常方便
1、官网下载Cherry Studio
2、配置模型API Key
打开Cherry Studio,配置模型的API密钥,我这里配置的是 深度求索提供商 的模型,你也可以配置其他家的比如说火山引擎,火山引擎之前有免费的额度也可以使用
配置完API密钥之后,点击开启,深度求索右侧会显示【ON】
3、使用内置的MCP Server
刚开始快速入门,可以先使用Cherry Studio里面自带的MCP Server
点击【MCP服务器】-> 【搜索MCP】
比如添加一个对爬取网页内容的fetch mcp server,这个是Cherry Studio自带的,点击【+】添加
添加完成之后,点击【返回】到MCP服务器列表中,可以看到刚添加的mcp server,然后查看这个mcp server的详情
查看 fetch mcp server 可以使用的工具列表
在聊天助手对话框选择fetch mcp server
使用文章开头提到的mcp新闻网页快速测试:
请使用中文总结这篇新闻:https://www.anthropic.com/news/model-context-protocol
我们再详细看一下调用的mcp server 工具:fetch_txt,可以正常爬取到新闻内容,成功调用
到这里,我们已经快速体验了mcp server的使用
接下来,我们尝试使用社区的mcp server
4、使用社区的mcp server
推荐几个mcp market市场:
这里我们还是使用fetch mcp server:github.com/modelcontex…
查看它的配置方法:
这里电脑安装一下uvx
pip install uvx
删掉之前添加的内置fetch mcp server
点击【添加服务器】添加一个空白的MCP服务器
点击进入这个MCP服务器,更新名称、添加描述,将command填入命令栏,将args填入参数栏,注意每个参数占一行,这里只有一个参数直接添加就行,然后这里选择国内的包管理源,点击【保存】,保存成功后自动会开启此MCP Server
使用社区版本的fetch mcp server
请使用中文总结这篇新闻:https://www.anthropic.com/news/model-context-protocol
可以成功调用社区版本的mcp server fetch工具
到这里你已经基本学会如何使用mcp server了,纸上得来终觉浅,赶紧下载Cherry Studio快速体验一下吧
下篇文章会带领大家编写一个简单的MCP Server,最后再来讲讲MCP原理,这样大家就可以从浅入深逐步了解MCP Server啦 :)