- Published on
AI探秘-大话MCP
- Authors
- Name
- noodles
- 每个人的花期不同,不必在乎别人比你提前拥有
MCP(Model Context Protocol)是由Anthropic发布了一种大模型与外部数据源工具的集成标准.通过MCP,大模型就能高效的访问和利用外部资源. 本文先从MCP的一些基础概念出发,最后通过大话的方式理解MCP整个实现的交互过程.
为什么需要MCP
- 模型幻觉 当我们问大模型一个它不了解的问题,有可能所问非所答.
- 失效问题 大模型基于数据进行训练,所以我们得到的答案有可能是过时的
- 功能扩展 希望大模型有更多能力,比如文件读写而不是简单的会话
通过MCP标准的定义赋予了大模型更多的能力,丰富大模型的功能.
主要概念
MCP Host
通常是LLM的宿主应用.主要负责
- 创建管理MCP Client
- 与大模型LLM交互
- 实现安全策略
MCP Client
MCP Client通过与MCP Server交互获取Server可用的Tools,在大模型调用的时候,MCP Client会完成对MCP Server Tools的调用并返回结果给大模型.
MCP Server
MCP Server提供给MCP Client工具调用.MCP Server和MCP Client通过双向的JSON-RPC通知,支持的通信方式:
- stdio 通过标准的输入输出管道通信
- Streamable HTTP + SSE 基于SSE通信
MCP架构

大话MCP
下面是我与大模型关于MCP的对话
🤖 大模型: 大家好,我是初出茅庐但是自带光环的大模型LLM1.0初代机.不瞒你说,在我出生之前我经历的各种数据的历练和学习,所以我敢打包票-这个世界没有我不知道的问题. 如果有,那么它不是一个问题.(傲慢预期).
🙋 我: 那你是不是只能基于你已有的训练数据进行回答呀?
🤖 大模型: 你这么说会让别人觉得我不睿智.我已有的训练集已经囊括开天辟地,无所不包了!!!
🙋 我: 你知道的东西的确多,但是他们会过时吗?
🤖 大模型: 你这人,跟你相亲一定吃顿饭就把你拉黑,怎么就不能夸夸人家的优点呢?(面露难色)
🙋 我: 那看来是的呀.没事的只要你能答非所问就行.
🤖 大模型: 我一定能答非所问呀.你刚才说相亲的问题我可以推荐你去吃安静的饭店吃烧烤.
🙋 我: 好吧,那这样的餐厅还是挺不好找的.你除了会回答问题还能干些什么吗?
🤖 大模型: 我这个能力就很强了好不!!!(一脸傲娇).强者之专注于一件事就成了.
从上面的我与大模型的对话之中,发现大模型有数据失效、模型幻觉、功能不好扩展的问题.后来我遇到的大模型魔王2.0,下面是我与它的对话
🤖 大模型: 没有人能知道所有问题,我也是只能在我有限的知识里面尽可能的回答大家
🙋 我: 那你认识大模型LLM1.0初代机吗?它就没你那么谦逊
🤖 大模型: 认识的.因为有它才有我.
🙋 我: 怎么理解?
🤖 大模型: 人们在于大模型1.0初代对话的过程中,发现了它能力上的不足.这些问题在我身上已经不再是问题了.我变成了更加强大的大模型.
这一切都是因为MCP. 🙋 我: 这个是什么东西呀???
🤖 大模型: 就是我本身拥有更多的能力并且你们可以通过配置为我附加更多的能力.
🙋 我: 没懂(有点囧)
🤖 大模型: 我给你举个例子吧,就拿你去餐厅相亲可以吗?
🙋 我: 看出你身上有它的影子了.你说吧绕不开这个话题了.
🤖 大模型: 我其实本身没有推荐餐厅的能力.但是你可以通过配置(MCP)的方式为我配置上.这样我就有这个能力了.
🙋 我: 那你是怎么推荐餐厅的呀?
🤖 大模型: 你可以通过System Prompt的方式问我问题.
🙋 我: 你教我吧大师.
🤖 大模型: 简单点理解就是你需要在提问的时候按照一定的格式提问.这样我就能知道你需要使用推荐餐厅这个工具.我会调用工具结合 其他的信息来回答你.
🙋 我: 明白了.我想你的确是一个优秀的大模型,但是你以后可以不提相亲推荐餐厅的问题了吗?
🤖 大模型:
