最近,AI界最火热的恐怕就是MCP了。作为一个新的知识点,学习的开始,先摘录一些信息,从发展历程、通俗介绍到具体案例,这样可以快速理解MCP。
MCP发展历程
来自@i陆三金
Anthropic 开发者关系负责人 Alex Albert:我眼中的 MCP 时间线
11 月:我们低调地通过一篇博客文章将其开源,我发布了一条公告推文。鉴于当时规范还处于早期阶段,它获得的关注远超我的预期。我们意识到这里对某些标准有很大的需求。
12 月:我们举办了两场 MCP 小型黑客马拉松以保持势头。假期来临,我们埋头改进规范、文档和服务器。
1 月 : 人们回到办公室,开始问“嘿,anthropic 一直在研究的这个 MCP 是什么东西?”
2 月:人们的兴趣开始增长,MCP 开始流行起来。越来越多的客户端应用程序开始提供支持。第三方存储库和网站变得无处不在。外部团体/公司开始举办自己的 MCP 活动。
3 月:MCP 浪潮席卷整个行业。主要企业合作伙伴将其视为新标准。其他实验室也开始承诺支持。
过去的几个月简直疯狂至极。令人兴奋的是,MCP 还有巨大的提升空间。四月及以后会是什么样子呢?
MCP介绍
来自@宝玉老师
MCP 目前更多是开发者玩具,普通用户不需要特别关注,等到生态起来了配置简单了直接用现成的好的 MCP 服务就好了。
目前大语言模型的局限在于无法直接连接外部真实环境,比如不知道今天是哪一天,不知道外面天气如何,不能用计算器,不能搜索、访问网页。就像你有台电脑,除了键盘鼠标显示器啥都没有,不能上网,不能接扫描仪、摄像头等等。
MCP 是一种协议(MCP:model context protocol),用来规范大语言模型和外部工具通信的。就像你电脑上的 USB 协议,有了 USB 协议,你的电脑就可以接上各种外界设备,比如 USB 接口的摄像头,可以录入视频了;比如 USB 接口的 扫描仪,可以扫描文档了;比如 USB 网卡,可以上网冲浪了。
MCP 就是大语言模型的 USB 协议,开发者们可以基于这套协议开发各种服务,比如去搜索网页的、连接你本地微信聊天记录的服务、天气预报的服务等等。
那么大语言模型怎么知道该调用什么服务呢?这里你需要有一个注册服务的操作,现在就是一个 JSON 配置文件,把各个服务都配置在里面,就像你电脑有个 USB Hub,你的一堆设备都插在 USB Hub 上,电脑能感知到有哪些设备插上 USB Hub 了。
当然大语言模型的 HUB 更智能,不需要你自己去选哪个设备(服务),模型会根据你的要求去从已经注册的服务中选取合适的服务。
比如说你的聊天应用注册了几个 MCP 服务:天气预报、网络搜索、查询本地微信聊天历史(参考这条微博:网页链接 )等。
你问 ChatBot:未来三天上海天气怎么样?
ChatBot 知道自己是没办法回答这个问题,但是它知道注册的 MCP 服务中有天气服务,就把用户的问题转变成参数:日期范围(03/18/2025-03/20/2025),城市:上海,然后去调用天气服务,天气服务返回给模型这三天的天气结果,然后模型拿到结果后就可以回复用户:今天明天是晴天,适合户外;后天要下雨记得带雨伞。
然后你再问 ChatBot:给我总结一下昨天XX群的聊天历史
ChatBot 没有你的聊天历史,但是它可以去找微信聊天历史查询 MCP 服务,传入参数(日期:03/17/2025),于是服务返回昨天的聊天历史给 ChatBot,ChatBot 去总结汇总,告诉用户结果。
如果你是开发者,可以先做一点简单的应用了解是什么,如果觉得可以提供有价值的服务,也可以先抢占生态位,去做一些应用,并且考虑怎么接入支付,以后可以通过卖 MCP 服务赚钱,未来还是有些机会的。
对于用户来说,现在的 MCP 还是比较初级的状态,用起来并不容易,并不会马上让你的使用体验发生很大变化,保持了解保持观望,如果有真正能让你日常工作提升效率的MCP应用场景,那就一定要去试试,也许你早点用上之后,就可以大幅提升效率,而你自己不需要做任何开发工作,就好比你给电脑买了一个新的 USB 设备,给你提供了很多便利。
MCP在Agentic RAG系统中的力量
来自@黄建同学
在今天的生产环境中运行的大多数RAG系统在某种程度上都是具有代理的。代理的实现方式取决于具体的使用场景。
- 当我们打包多个数据源时,至少在数据源选择和检索阶段会存在一定的代理。
- 这就是MCP如何在这种情况下丰富你的Agentic RAG系统的演化过程:
- 用户查询分析:我们将原始用户查询传递给基于LLM的代理进行分析。
➡️ 原始查询可能会被重写,有时多次,以创建要在流程中传递的单个或多个查询。
➡️ 代理决定是否需要额外的数据源来回答查询。 - 如果需要额外数据,将触发检索步骤。我们可以接触到多种数据类型,例如实时用户数据、用户可能感兴趣的内部文档、网络上可用的数据等。
- 用户查询分析:我们将原始用户查询传递给基于LLM的代理进行分析。
MCP的介入点:
✅ 每个数据域都可以管理自己的MCP服务器,暴露数据使用的具体规则。
✅ 可以在每个域的服务器级别确保安全性和合规性。
✅ 新的数据域可以以标准化的方式轻松添加到MCP服务器池中,无需重写代理,从而使系统在程序、情节和语义记忆方面的演化解耦。
✅ 平台构建者可以以标准化的方式向外部消费者暴露他们的数据,使得轻松访问网络上的数据成为可能。
✅ AI工程师可以继续专注于代理的结构。
- 如果不需要额外数据,我们尝试直接通过LLM组合回答(或多个回答或一组操作)。
- 然后对答案进行分析、总结并评估其正确性和相关性:
➡️ 如果代理决定答案足够好,就会返回给用户。
➡️ 如果代理决定答案需要改进,我们尝试重写用户查询并重复生成循环。
MCP案例:用 MCP 让大模型自动批量解读文献
具体直接参见文章
《用 MCP 让大模型自动批量解读文献,保姆级教程来了!》
MCP列表
MCP(Model Context Protocol) 是由 Anthropic 于去年 11 月提出的开放标准,用于解决 AI 助手(智能体)与数据系统之间的连接问题。在 MCP 出现前,每当智能体需要与不同来源的数据交互时,都需要针对特定 API 编写定制化代码,这极大限制了智能体的扩展能力和应用范围。
MCP 提供了一个统一的适配层,使智能体可以通过标准化接口与各种数据源和工具进行交互。简单来说,MCP 服务器将智能体的数据请求转换为目标 API 需要的格式,然后再将返回的数据标准化为智能体可读取的形式。这使开发者无需为每个新工具或数据源重复开发连接逻辑。
对 Mobin Chowdhury、Mohammd Shihab Hossain 等人搜集的 MCP 服务器列表进行了翻译,方便大家查询使用。这个列表涵盖了 浏览器控制、数据库、云平台、命令行、通信、数据科学、开发工具等多个领域的 MCP 服务器
列表链接:
https://www.caprompt.com/mcp-servers-list?continueFlag=23f0bd1aa25e0cf8e91ff3ce0478421f
其他文章
《6000字+6个案例:写给普通人的MCP入门指南》