W
AI-Wiki

AI · 源文件

入库前的原始上传文件存档。点击左侧文件名可预览文件内容。

MCP协议底层原理大揭秘:与Function Call的关系及实验验证 - 今日头条.md7.1 KBit/ai/MCP协议底层原理大揭秘:与Function Call的关系及实验验证 - 今日头条.md
---
title: "MCP协议底层原理大揭秘:与Function Call的关系及实验验证 - 今日头条"
source_url: "https://www.toutiao.com/article/7483758061397295651/?wid=1782274778845"
source_site: "www.toutiao.com"
clipped_at: "2026-06-24T04:19:47.915347+00:00"
clipper: "aiwiki-url-ingest"
extractor: "toutiao_rendered"
---

# MCP协议底层原理大揭秘:与Function Call的关系及实验验证 - 今日头条

在人工智能领域,MCP作为AI大模型的标准化工具箱壳,备受关注。但很多人心中也有诸多疑问:AI大模型是如何知晓工具箱里的工具以及调用参数的?MCP与function call有着怎样的关系?是否只有支持function call的模型才能使用MCP ?今天,我们就从大模型与提示词的角度,深入探讨MCP协议的底层原理。

为了更直观地展示和验证,我们使用CloundFlare的AI gateway设计了一个小实验,抓取与AI交互的所有请求数据。

**实验步骤如下:**

**1\. 注册并配置CloundFlare的AI gateway**

若没有账号,先注册。进入[科赋锐信息科技Cloudflare \| Cloudflare](https://www.cloudflare-cn.com/)后,在左侧菜单点击AI gateway,这是CloundFlare推出的大模型API的代理功能。配置好后,大模型API会先流经CloundFlare,最终到达API提供商。添加这个目的,主要是想在后续查看MCP请求大模型的日志记录,分析MCP如何帮助我们完成任务。

![](https://p11-sign.toutiaoimg.com/tos-cn-i-axegupay5k/ab4b9d95d40743ab8bb7db455e9cbd92~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=Hu06Wi%2FF%2BJLgVSShrfB16L3OrUk%3D) 

进入AI Gateway后,点击“create gateway”,随便起个名字。创建完成后,点击右上角的API平台,选择OpenRouter。在VS Code中下载并安装Cline插件,接着选择OpenAI compatible,在对应的设置框中复制CloundFlare的链接到base URL中 ,并到OpenRouter中申请API Key,粘贴到相应位置,填写模型ID(如免费的DeepSeek V3)。

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/3ec9b283f73e44f283e17982f1b1517d~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=9OZOvgzUc4YYI1AKwtIHc4Cbc2c%3D) 

![](https://p11-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/032b721019d8478391d5c9b3bb0b7707~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=H%2B1mGILVEETOz4YfpYCKgBh6G5c%3D) 

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/0a6d518124284cb396776a56a7163ad1~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=QBEN4swmxC8xb3AHq%2B37Q%2Fm8IWM%3D) 

![](https://p11-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/cd6b605cfb194334815dfe58282a366e~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=Jv42U56ACbqygTDbbKGsNYZQSv0%3D) 

**2\. 添加MCP server**

进入Vscode的Cline点击MCP小按钮,在市场搜索与时间有关的MCP server(以“time”为例)。要注意的是,MCP server本质是运行在电脑上的程序(此处为Python编写),所以需先安装好Python运行环境 ,之后AI会自动安装该MCP server。安装过程包括创建文件夹、用PIP命令安装Python包、创建配置文件并保存(可修改配置文件添加本地时区),最后点击approve完成配置。此时可看到server里有“获取当前时间”和“进行时间转换”两个工具。

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/94161ee07c574d708853d353b272d8a7~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=ui%2BMNadncqJw8tuhTe0EIUhERfs%3D) 

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/2510127838944ac5a0ec5cd979459c08~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=Ay8gXnHEavExSZDYGNUHLUyBkF0%3D) 

![](https://p11-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/28f92aaee6db4d4c9cc2932e84d7e323~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=NpE78plv5TPNzJbLPxj%2B%2Bo9ekC0%3D) 

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/14f2c8ed2781461c81b4931b558dcc92~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=ZVb1hvTcSFuj%2Fj1%2FEMK8qAKQF4A%3D)# AI如何知晓MCP server及相关工具

新开一个对话,询问“现在的时间是什么” ,AI显示可能要调用“get current time time ”的MCP工具。我们可以在CloudFlare查看日志,重点关注系统提示词。其中提到“MCP server模型上下文协议允许系统与本地运行的MCP server之间进行通信 ,带来额外的工具及资源扩展能力,可使用use\_mcp\_tool来执行MCP协议或者access mcp resource来获取资源” ,且明确写出了可使用工具(如“get current time ”及其传参格式、“convert time ”及其传参格式) ,这就解释了AI是如何知道MCP server及可用工具的,也说明了MCP的通用性可兼容市面上几乎所有大模型,因为只要大模型能懂提示词就能使用MCP 。

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/16722672cef94046813e91ae4b01b69a~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=vUYVOaQeT3umJeXBsK3k2NWRZow%3D) 

# MCP的调用过程

1\. Cline把用户提问及MCP详细使用方法(附加在系统提示词里)传递给大模型。

2\. 大模型决定使用哪个MCP工具及传递参数的方式。

3\. Cline根据大模型决定的调用方式调用MCP server(MCP server本质是本地node JS或Python程序)。

4\. Cline拿到MCP server返回结果,加上之前上下文再次传递给大模型,大模型整理后呈现最终结果给用户。比如在上述获取时间的例子中,最终给出了当前时间,时区为上海的结果。

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/7082843c429342d7864c7d3f2e044061~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1782879579&x-signature=Oxd2XePyLdvBCFdW39MZN0UAiEI%3D) 

# MCP与function call的关系

为探究二者关系,我们以DeepSeek Re(不支持function code )为例。在GitHub可看到开发者希望DeepSeek Re支持相关功能的诉求。由于MCP相关知识附加在系统提示词里,模型只要能读懂提示词就能使用MCP ,与是否具备function call功能无关。我们在DeepSeek的API开放平台创建API Key相关信息并填写到Cline里,测试DeepSeek Re能否使用MCP ,结果显示模型推理过程调用了MCP工具并成功给出正确答案。

由此可见,MCP与function code功能相似且相互独立,没有依赖关系。MCP最大的优点是将之前各家大模型不同的code标准整合为统一的标准协议,市面上几乎所有大模型都能接入。

总之,通过这两个实验,我们对MCP协议的底层原理有了更深入了解。后续还将介绍系列好用的MCP工具,敬请期待!