MCP_基础实践篇
整个Cline 结合mcp server 使用的例子还是挺简单的,配置整个server 过程都可以直接让cline 端去执行,或者自己可以手工去进行mcp 的配置,还是很强大的。

MCP 出来有段时间了,但是一直没有去了解它相关的知识,印象中的mcp 其实就是相当于一个USB 线转接器,将AI 大模型和需调用外部的各种工具链接到一起,相当于一个中转工具。稍微搜索了一下,MCP 其实是由一家美国公司Anthropic 在去年2024年11月份左右推出的,随着今年(2025)三月份manus 的推出,智能体能够调用各种工具完成指定任务,顺带也把MCP 也带火了起来,作为大模型和超多工具的链接纽带,感觉对研发效能会有非常大的提升,需要了解一下。

上面在对MCP 毫无理解的情况下的初步印象,在看了一些视频介绍后,感觉还是MCP 还是非常强大的,调用各种工具也是简单配置即可使用了。举个例子, LLM 在不能调用外部工具的时候,其实只能用来做聊天, 如果要往AGI 发展,那么快捷调用各种工具辅助业务落地必不可缺.之前的解决方案是通过function call 的方式去调用各种服务,例如查天气,查地图,查时间等。 一轮封装下来,不同api 处理兼容每个调用方都要处理一遍,且要写非常多行代码。 然后MCP 相当于做了一轮封装,例如你要调百度地图服务,让百度地图服务方提供MCP 配置,Agent调用方只需要配置百度给的配置既可 ,有种像秦始皇“车同轨,书同文”的 感觉。
现在感觉学一个自己不了解的知识点时,最快最高效的方式就是问AI ,会有详尽的介绍和各种学习网页推荐:官网: Introduction - Model Context Protocol ,或者可以看看b站上面点播量高的视频,也常会有意外的收获。
1. MCP 是什么 ?
MCP (Model Content Protocol) , 模型上下文协议。MCP 可以理解为一种技术协议。一种在Agent 开发中共同约定的技术规范。
那么MCP 解决了什么痛点问题呢?
- 解决工具和数据的碎片化接入问题 :减少对接API 的编码量
- 解决跨平台切换的成本 :切换不同模型的时候自动适配,减少重复开发
- 实现上下文连续性管理 : 多步骤任务中难以维持工具调用的上下文
- 提升数据安全与本地化控制 :支持本地部署MCP 服务,敏感数据留在本地
- 构建开放的生态系统 :服务提供方自行封装MCP服务供所有用户使用
- 简化复杂的工作流开发 : 多模态协作场景需要手工编排任务流程,代码复杂度高

2. MCP 架构
MCP 分为下面几个模块:
- MCP 主机(MCP Hosts):希望通过 MCP 访问数据的程序,例如 Claude Desktop、IDE 或 AI 工具
- MCP 客户端(MCP Clients):与服务器保持 1:1 连接的协议客户端
- MCP 服务器MCP Servers):轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能
- 本地数据源(Local Resources):MCP 服务器可以安全访问的您的计算机文件、数据库和服务
- 远程服务Remote Resources):MCP 服务器可通过互联网(例如通过 API)连接到的外部系统

3. MCP 与Function Calling 的区别
MCP 和 FC 的主要区别是 :Fuction Calling 是让模型去使用工具, 但是MCP 是让多个模型分工合作。
有点类似于同步和异步的概念, 当你发出一个指令的时候,FC 会去执行你这个指令,然后你需要一直等待它的返回才能去做其他的事情,但发给MCP 之后,你可以去干其他的事情,然后等待它的返回。

3.1. function calling 的处理机制:
FC 相当于是当用户输入提示词的时候,会通过大模型去解析提示词然后再组装函数名,入参去调用封装好的工具接口,接口返回结果后,再通过大模型进行组装,以自然语言的形式返回。

举个例子:
当你问大模型“ 重庆天气如何?”
下面是function calling 的流程:


FC 通常结合LangChain 来使用:demo例子
1、工具名称
get_current_weather
2、定义工具函数
这个是对于工具的描述 主要包含了 方法的类型,方法的名字描述,以及出入参数的描述,这个文件是大模型能否更好的调用模型的关键。
weather_tool = {
'type': 'function',
'function': {
'name' : 'get_current_weather',
'description' : 'Get the current weather in a given location"',
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
},
},
'required': ['location'],
}
}
}
3、ollama请求
response: ChatResponse = client.chat(
'qwen2.5:14b',
messages=messages,
tools=[weather_tool],
)
3.2. MCP 的处理流程机制:

MCP 的区别在于告诉 大模型客户端自己有什么工具 ,让大模型识别意图后,再去调用MCP的服务。对比FC , MCP 可以大大减少客户端调用不同API 的代码量。
MCP 的运用下面部分会提到。deepseek 给出的FC 和MCP 的核心区别:

4. Cline & MCP & VSCode
Cline 是开源免费的AI 辅助编程插件,不仅可以帮开发者进行代码编辑,还具备了AI 助手的功能。看了B站的视频介绍,体验一下VSCode 结合 Cline 生成Agent ,据说比扣子还要简单。
目前支持MCP 的客户端有:

该实践参考b站视频:MCP是啥?技术原理是什么?一个视频搞懂MCP的一切。Windows系统配置MCP,Cursor Cline使用MCP_哔哩哔哩_bilibili
4.1. Vscode内安装Cline

4.2. Cline 配置模型
API Provider 选择OpenRouter , Model 选择deepseek 的V3 ,目前是免费的, AK 点击get key 按钮即可获取 ,会

确认后会自动回填到cline 。

配置好后测试一下,写入提示词发送即可返回:

4.3. 安装MCP Server
Mcp server 本身就是运行在电脑上的一个nodejs 程序 ,Mcp 服务器一般都是python 或者node 写的,安装方式有所不同,下面一nodejs 为例, 本地需要安装nodejs 运行环境 , 输入以下命令 能够输出版本号证明已经安装成功。

cline 已经上线了MCP Servers 的应用市场,可根据github starts 的排序找到受欢迎的MCP Server

下面以github 使用为例子:
点击安装:

安装后cline 会自动打开一个聊天窗口来指引你安装MCP Server

点击 【run command】 然后就会提示去生成github 的key ,感觉这个功能好像mannus 的人工确认功能。

调到了github 的key生成路径

设置一些必要的权限后即可生成github 的token

复制生成的 token 给到cline 即可进行配置

这里可以看到github 旁边有个绿点,安装完毕 ,也可以看到该server 提供了查找,创建github仓库等26个工具

4.4. 修改MCP Server 配置
cline 会自动生成并且执行配置指令, 可看到下面的 mcp Servers 配置::


4.5. 使用GitHub 的MCP Server
1、查找个人的github仓库
输入提示词 ,不用指定工具,cline 自动会去寻找安装好的mcp server 进行调用,它很快就能GitHub MCP服务器提供的"search_repositories"工具 ,调用结果还是很快就能找到对应的自己的仓库信息的,一眼就可以看到个人主页的头像了,蛮方便的。这个时候有一点使用manus 的感觉了,输入指令完成任务,难怪网上有几个小时快速复刻manus功能,确实也不是很复杂。

cline 根据调用到github mcpserver的结果,整合返回给到大模型ds,然后deepseek会整合结果输出对应的仓库列表。

2、让cline去创建一个仓库

点击生成的仓库链接就可以看到实际已经创建好的仓库地址。

4.6. 总结
整个Cline 结合mcp server 使用的例子还是挺简单的,配置整个server 过程都可以直接让cline 端去执行,或者自己可以手工去进行mcp 的配置,还是很强大的。
mcp server 的配置例子:
{
"mcpServers": {
"github.com/modelcontextprotocol/servers/tree/main/src/github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "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"
},
"disabled": false,
"autoApprove": []
}
}
}
5. MCP Servers 平台
MCP Servers 这个网站上面目前已经有6000+ 的MCP Servers 服务了,相关mcp 配置也可以直接找到,感觉过不了多久,大概会有成上百万个开箱即用的mcp servers 了吧~~ AI 生态一统化,AGI 时代感觉很快就可以到来了~

还有开源项目:GitHub - punkpeye/awesome-mcp-servers: A collection of MCP servers. 也按照分类收录了大量的MCP Server ,里面的项目的可以结合CherryStudio 进行配置使用,后面再另起一篇文章试用一下~ ,CherrayStudio 是开源的AI 客户端,对比cline 这个插件对大模型的调用使用上面会更加直观。

感觉这样再发展下去的话,展望一下,是不是可以有一个更强大的客户端,把各种官方工具安装进来,然后输入提示词就可以直接去操作本机服务了,就是之前貌似听说的输入指令一键调度手机端各个app服务执行任务的功能?科技发展日新月异~~每次AI学习都有不一样的惊喜发现~
上面讲的是如何使用MCP Server ,那么如何开发一个MCP Server 呢?后面另起一篇文章来实践一下~
附件
相关网站 :
- 网站: MCP Servers
学习资源推荐
1. 理论基础与官方文档
- 官方文档:Model Context Protocol 官网,涵盖协议设计、架构和开发指南814。
- 论文与白皮书:Anthropic 发布的《MCP 技术白皮书》,深入解析协议设计理念(参考网页 6、7)。
- 书籍推荐:《The Elements of Agentic AI》,第 4 章详解 MCP 在自主 AI 工作流中的作用11。
2. 实战教程与工具
- CSDN 博客:《一文带你入门 MCP》,含 PostgreSQL 数据库查询的完整代码示例8。
- GitHub 仓库:社区维护的 Awesome MCP Servers,收录 2000+ 个服务器实现(如天气查询、代码生成)1114。
- Python 开发实战:通过 MCP Python SDK 快速搭建服务器,示例代码见网页 10 的待办清单服务器15。
3. 生态与案例分析
- MCP 市场地图:a16z 整理的 MCP 生态图谱,展示客户端、服务器、托管平台等关键角色11。
- 行业应用报告:中信建投证券的《MCP 促进 Agent 产业发展》,分析协议在金融、医疗等领域的落地场景12。
4. 视频与社区
- YouTube 频道:搜索“MCP Tutorial”,推荐 StatQuest 的 MCP 工作原理动画解析10。
- 开发者论坛:Anthropic 官方论坛的 MCP 讨论区,活跃开发者分享调试技巧14。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)