Cline
定义与身份
Cline是原文实验里实际使用的客户端插件,运行在VS Code中。
在该实验中,它不是被抽象讨论的协议组件,而是用户真正操作的宿主界面:用户在其中配置模型接口、安装和管理 MCP server、发起提问、查看待调用工具,并在批准后让本地工具实际执行。
原文用 Cline 来验证 MCP 的底层工作机制,因此它处于“连接大模型与本地 MCP server 的关键执行层”位置。
配置角色
原文的实验先配置 Cloudflare AI Gateway,再在VS Code中安装 Cline 插件,通过 Cline 把后端模型请求改为经由 Gateway 转发。
具体配置方式包括:
- 在 Cline 中选择
OpenAI compatible作为接口类型。 - 把 Cloudflare AI Gateway 提供的链接填入
base URL。 - 申请并填写模型提供方的 API Key。原文示例先使用 OpenRouter 的 API Key,也提到后续实验中把 DeepSeek API 开放平台创建的 API Key 信息填写到 Cline 中。
- 填写模型 ID。原文示例给出“免费的 DeepSeek V3”作为模型 ID 示例。
这说明 Cline 在文中的一个核心角色,是作为统一前端,把不同模型提供方通过兼容 OpenAI 的方式接入同一调用入口,再借助 Gateway 观察真实请求日志。
MCP 安装与管理角色
原文将 Cline 直接作为安装 MCP server 的入口使用。
用户进入 Cline 后,点击 MCP 小按钮,在市场中搜索与时间有关的 MCP server,文中以 time 类 server 为例。
这里有两个边界条件被原文明确写出:
- MCP server 本质上是运行在用户电脑上的程序。
- 文中这个 time server 是用 Python 编写的,因此本机必须先安装 Python 运行环境。
在满足本地运行环境条件后,原文描述 Cline/AI 会自动完成安装过程中的一部分工作,安装流程包括:
- 创建文件夹。
- 使用 PIP 命令安装对应 Python 包。
- 创建并保存配置文件。
- 配置文件可按需修改,例如加入本地时区。
- 最后由用户点击
approve完成配置。
安装完成后,可在该 server 下看到两个工具:
- 获取当前时间。
- 进行时间转换。
这说明 Cline 不只是聊天入口,还承担本地 MCP server 的发现、安装、配置确认与可用工具展示职责。
在调用链中的双重职责
原文对 Cline 在 MCP工具调用链路 中的职责描述得非常明确,且具有双重性。
1. 向模型传递工具说明
Cline 会把用户问题与 MCP 的详细使用方法一起发送给大模型,其中 MCP 工具说明被附加在系统提示词中。
原文在 Cloudflare AI Gateway 日志中看到的系统提示词,明确包含类似如下信息:
- MCP 允许系统与本地运行的 MCP server 通信。
- 这会给系统带来额外的工具和资源扩展能力。
- 可通过
use_mcp_tool执行 MCP 协议相关工具调用。 - 可通过
access mcp resource获取资源。 - 系统提示词中还明确列出可用工具,如
get current time、convert time,以及各自的传参格式。
因此,模型之所以“知道”有哪些 MCP 工具、工具叫什么、参数该怎么传,并不是模型天然认识这些工具,而是因为 Cline 把这些说明注入进了系统提示词。
2. 执行对本地 MCP server 的实际调用
Cline 不仅负责把工具说明告诉模型,还负责在模型做出选择后,真正执行调用。
原文给出的调用过程是:
- Cline 把用户提问及 MCP 详细使用方法传给大模型。
- 大模型决定应当使用哪个 MCP 工具,以及参数应如何传递。
- Cline 根据模型决定的调用方式,去调用本地 MCP server。
- Cline 拿到 MCP server 的返回结果后,再连同之前上下文一起交回大模型。
- 大模型整理输出,给用户最终答案。
这里原文还补充了一个重要事实:MCP server 本质上是本地的 Node.js 或 Python 程序。也就是说,真正执行工具的是本机程序,而 Cline 是把模型决策翻译成实际本地调用的执行者。
文中示例:展示待调用工具并等待用户批准
原文用“现在的时间是什么”作为演示问题。
在这个例子中,Cline 会向用户展示模型可能要调用的 MCP 工具,原文给出的示例名称是:
get current time time
随后由用户批准,Cline 再执行该调用。
调用完成后,返回值被再次送回模型,最终模型给出当前时间结果;原文提到结果时区为上海。
这体现了 Cline 在交互层面的一个特点:它不会把本地工具调用完全隐藏,而是把“准备调用什么工具”显式展示给用户,并通过批准机制继续执行。
关键信息与边界
它不是 MCP server 本身
Cline 负责安装、管理和调用 MCP server,但它本身不是 MCP server。
原文反复强调,真正的 MCP server 是本地运行的程序,可能是 Python,也可能是 Node.js;Cline 则是宿主客户端与执行调度层。
它也不是模型能力本身
模型是否会使用 MCP 工具,取决于 Cline 是否把 MCP 工具说明注入到系统提示词,以及后续是否按模型决策执行工具调用。
因此,文中的 MCP 能力并不是模型内建出厂能力,而是“模型 + Cline + 本地 MCP server”共同形成的结果。
它支持不具备 function call 的模型参与 MCP 流程
原文专门用 DeepSeek Re 进行验证,并指出其不支持 function call/function code。
尽管如此,只要把相关 API Key 和模型信息填入 Cline,模型仍可在推理过程中使用 MCP 工具并得到正确答案。
这背后的原因是:MCP 相关知识是由 Cline 附加进系统提示词中的,模型只要能读懂提示词,就能基于这些说明决定使用 MCP。
因此,从文中实验语境看,Cline 也是证明MCP与Function Call关系的重要实验载体:MCP 与 function call 功能相似,但二者相互独立、没有依赖关系。
细节补充
- 原文实验先通过 Cloudflare AI Gateway 抓取与 AI 交互的所有请求数据,再从日志中验证 Cline 确实把 MCP 工具说明注入了系统提示词。
- time 类 MCP server 安装时,用户并非零操作;虽然 AI/Cline 会自动完成部分步骤,但仍需本地预装 Python,并在最后点击
approve完成配置。 - 配置文件不是完全固定的,原文明确提到可以修改配置文件以添加本地时区。
- Cline 展示给模型的并不只是工具名,还包括参数格式,这一点对模型正确决定调用方式至关重要。
相关条目
- MCP协议底层原理、Function Call关系与实验验证摘要
- MCP工具提示词注入机制
- MCP工具调用链路
- MCP与Function Call关系
- Cloudflare AI Gateway
- MCP
- MCP server
- VS Code