结论先行:
我向MCP客户端提问,MCP客户端向大模型转达问题,并且同步通过提示词告诉大模型,我有这个相关函数,让大模型调用,大模型调用函数后获得结果,然后组织语言回答问题
真相只有一个:完全靠你在 HTTP 请求里"夹带私货"告密的。
这不仅仅是"告诉"模型,而是每一次请求,都要把你的"家底"(工具定义)通过互联网发送给大模型。
简化图

详细图

简单理解MCP就是工具接口,第一个程序给我整了几个本地函数,直接调用,我真醉了!
我把MCP想得太简单了,真正的MCP是要让大模型自己决定和执行工具调用,而不是我们在外面硬编码判断。让我重新实现一个真正的MCP版本:
这才是真正的MCP核心思想:
🔑 关键区别
| 传统做法 | 真正的MCP |
|---|---|
| 程序员判断用什么工具 | 大模型自己判断 用什么工具 |
| 固定流程硬编码 | 动态决策和编排 |
| 工具执行完就结束 | 工具结果返回给模型 继续处理 |
大模型(OpenAI/百度/阿里)完全是第三方的,它根本不可能"看到"你本地电脑里的代码,更不可能知道你写了个叫 get_weather 的函数。
那么,连接是如何发生的?
真相只有一个:完全靠你在 HTTP 请求里"夹带私货"告密的。
这不仅仅是"告诉"模型,而是每一次请求,都要把你的"家底"(工具定义)通过互联网发送给大模型。