在Cline上调用MCP服务之MCP实践篇

目录

引言

上一篇《模型上下文协议(Model Context Protocol,MCP)初见概念篇》我们说到什么是模型上下文协议MCP并对其原理有所了解。今天我们就来实践一番。我们以Visual Studio Code上的Cline插件调用MCP为例来直观感受下MCP的调用流程实践,以此来加深对MCP概念的理解。

一、准备工作

1、安装 Visual Studio Code

Visual Studio Code(简称"VS Code" )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器。

就是这么个玩意:

这一步就不赘述了,开发的同学应该都能操作。 本文默认大家已经装好了VS Code。

2、安装Cline插件配置支持模型

Cline是一款专注于提升开发者效率的开源 Visual Studio Code 插件‌,深度集成 AI 模型与开发工具链,实现智能代码生成、自动化任务执行及跨模态开发支持。其核心定位是通过 AI 技术简化编码流程,适配复杂开发场景。

点击左侧的拓展,搜索"Cline",点击安装。

安装完之后我们点击左侧的插件图标,将看到如下的界面,点击下方按钮。

看到如下界面,填写API Provider。

这里你可以根据自己的实际情况选择使用何种Provider。比如性能更好的claude3.7,廉价实惠的deepseek,或者免费的OpenRouter api 及本地的Ollama方案之类的也行。

我们就以OpenRouter api 为例,选中后点击获取api key。

账号自己选,小马选的是google账号。

但当然是选免费的呀。

点击授权,会提示打开VS code,同意open后密钥key会自动填入插件。

然后我们在model的地方搜"free"免费模型,选中"deepseek-chat"。

如下,Cline的整个model支持就配置好了。

我们先简单试一下效果。

我问了"你好",它识别出了只是简单地问候,没有明确的任务需求。细心的小伙伴可能看出来了,下方对话框有两种按钮: "Plan"和"Act"。

Plan:计划模式,Cline会读取项目状态和相关文件收集信息并生成一个详细执行计划,该模式不会执行任何修改操作。

Act:执行模式,用户确认计划后,Cline 将按照计划完成任务,会执行文件创建、修改操作。

二、安装MCP Server并调用MCP Server

我们找到上面的"MCP Servers",点击后我们在"Marketplace"可以看到很多MCP Server可以安装。

我们以安装"Fetch"插件为例来演示。Fetch此 MCP 服务器提供了获取各种格式的 Web 内容的功能,包括 HTML、JSON、纯文本和 Markdown。

搜索找到插件,并点击安装。

正常情况下,随着点击安装之后,模型首先会去读取当前MCP服务的git仓库安装文件说明,并一步步执行安装命令,直到安装成功,类似下图。

如果安装成功,如下按钮会亮起绿灯。如果是红灯,则表示MCP接入未成功。

成功后细心的同学还会发现,有个类似下图的json文件。

这个文件可重要了,它相当于MCP Server在Agent内的注册动作。如果我们不操作安装按钮,直接配置该json文件,也是可以完成MCP Server 接入的哈。那安装过程到底是经历了哪些流程呢?稍后我们再来介绍这块。

小马之所以这么描述"如果成功"那是因为小马在Window安装该插件失败了,亮红灯了。据说很多人在Window安装MCP都各种问题失败。

有的说如果是"uv"或"uvx"等执行命令的报错,可以尝试将命令改为cmd来运行。如下:

反正小马试了,无果。那么无解了吗?并不是,其实还有本地安装的方法。

三、本地手动安装MCP Server

我们刚刚是想装"Fetch"插件,于是我们直接点击插件的详情或者直接找到插件的git仓库https://github.com/zcaceres/fetch-mcp。

我们可以看到readme介绍了MCP Server的功能以及具备的工具。

呀,不对,我们是来看安装方法的。

于是看着安装法子,我们得先保证本地有安装好node环境。可以先node -v 检查一下。如果没有版本号输出那就先装一下node(也很简单,官网下一个直接傻瓜式下一步即可)。确保了node环境之后,我们把仓库代码clone下来。然后CMD客户进入代码目录下,执行相关的安装命令。

什么?有error?小马先不管,任性。直接执行npm start 命令将服务run起来。This will start the Fetch MCP Server running on stdio.

别急,我们还剩最后一步。将配置中{ABSOLUTE PATH TO FILE HERE}改成本地的服务的地址。

bash 复制代码
{
  "mcpServers": {
    "fetch": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}

如下图,我们可以看到绿灯亮起来了。欧耶!fetch MCP Serve接入成功啦!

于是小马迫不及待地想验证下了。输入问题之后,小马看到的界面是如下这样子的。

它没反应了。于是排查了后发现大概率是模型的接口调用达到当日上限了,今天不能调了,它没办法思考了。所以这块要注意啦,OpenRouter 免费并不是无限额的。

但是,基本也就是这个样子了,八九不离十,小马先找了个类似的案例来借助大家理解,等明日上限打开小马再考虑回头补充下效果图示。

这组案例图片,API先是思考了任务,调用了firecrawl MCP Server 爬取网站内容之后使用fetch MCP Server markdown formats 返回结果。

如此也就意味着,我们如果有MCP的仓库,直接可以根据安装说明和json配置任意安装。比如GitHub上专门收集的MCP仓库:https://github.com/punkpeye/awesome-mcp-servers/blob/main/README-zh.md

好了,隔天来补的正版的效果体验图示,如下。

我重新执行了昨天的任务问题,这次正常得到响应。

它爬取了整个URL的页面返回HTML格式。然后告诉我说它无法直接访问到文章内容,需要我进一步提供文章关键段落内容来分析,但事实上我看抓取到的html内容里已经包含了文章内容。Agent能力问题这里就不深入追究了。

结尾

至此,在Cline上调用MCP服务的实践就告一段落了,通过本地手动安装MCP Server我们不仅解决了在Window上安装可能存在的问题更重要的是我们进一步理解了MCP Server运行原理。

相关推荐
__Benco11 分钟前
OpenHarmony平台驱动开发(十一),PIN
人工智能·驱动开发·harmonyos
拓端研究室TRL12 分钟前
CNN-LSTM、GRU、XGBoost、LightGBM风电健康诊断、故障与中国银行股票预测应用实例
人工智能·神经网络·cnn·gru·lstm
零炻大礼包23 分钟前
【coze】意图识别(售前售后问题、搜索引擎去广告)
人工智能·coze
小小毛桃24 分钟前
使用PyTorch训练马里奥强化学习代理的完整指南
人工智能·pytorch·python
南玖yy32 分钟前
内存安全革命:工具、AI 与政策驱动的 C 语言转型之路
c语言·开发语言·c++·人工智能·安全·c++23·c++基础语法
Dipeak数巅科技35 分钟前
数巅智能携手北京昇腾创新中心深耕行业大模型应用
人工智能·数据分析·商业智能bi
明朝百晓生37 分钟前
【Survival Analysis】【机器学习】【3】deepseek流程图
人工智能·机器学习
mzak37 分钟前
Linux系统(OpenEuler22.03-LTS)部署FastGPT
linux·人工智能·fastgpt
仙人掌_lz1 小时前
为特定领域微调嵌入模型:打造专属的自然语言处理利器
人工智能·ai·自然语言处理·embedding·强化学习·rl·bge
亚里随笔1 小时前
StreamRL:弹性、可扩展、异构的RLHF架构
人工智能·架构·大语言模型·rlhf·推理加速