一.Cherry Studio
再写这节内容之前补个知识点,在前几节的内容中有一个Cherry Studio(“AI 聚合工具箱”):
1.简介
Cherry Studio 是⼀款集多模型对话、智能体、知识库管理、AI 绘画、翻译等功能于⼀体的全能 AI 助⼿平台。Cherry Studio ⾼度⾃定义的设计、强⼤的扩展能⼒和友好的⽤⼾体验,使其成为专业⽤⼾和 AI 爱好者的理想选择。⽆论是零基础⽤⼾还是开发者,都能在 Cherry Studio 中找到适合⾃⼰的 AI 功能,提升⼯作效率和创造⼒。
2.官⽹
Cherry Studio 官方网站 – 全能 AI 工作站
3.安装
a. 进⼊官⽹,点击下载

b. 启动安装

4.基本使用
1. 启动应⽤后,可以直接进⾏聊天

2. 在设置⾥⾯我们对接不同⼚商的模型服务
3.
3.具体的操作⽂档(联网模式 | Cherry Studio)官⽅很详细我们这⾥不再 赘述

二.工具调用
学习这个板块,理解起来就是:有了脑⼦,有了⼈设,怎么给模型添加上双⼿?
1.概念
简单来说,⼯具调⽤(Tool Calling)就是让⼤模型“学会使⽤⼯具”。传统的⼤模型只能根据训练数据中的知识进⾏⽂本⽣成,⽆法实时获取最新信息,也⽆法执⾏具体操作(如发邮件、查天⽓、计算复杂数学题等)。
⼯具调⽤是指 LLM 在处理⽤⼾请求时,能够识别出⾃⼰⽆法独⽴完成该任务(例如:计算复杂数学题、查询实时天⽓、操作数据库),并主动输出⼀个结构化的指令(通常是 JSON 格式),告诉外部系统:“请帮我运⾏这个函数,并传⼊这些参数。”
LLM 本⾝并不运⾏代码或调⽤ API。它只是扮演“⼤脑”的⻆⾊进⾏决策,或者提取参数,⽽具体的“执⾏”是由你的后端系统或代理框架(如 LangChain)完成的。简单理解LLM是⼈的脑⼦,⼯具调⽤相当于⼈的四肢,让⼤模型具备了操作能⼒。

2.为什么需要⼯具调⽤
1. 信息过时
模型训练数据有截⽌时间,⽆法获知最新新闻、股价、天⽓等实时信息。通过⼯具调⽤可以接⼊实 时数据源。
- 未联⽹检索

- 联⽹搜索

2. 数学与精确逻辑能⼒差
LLM 是基于概率预测下⼀个字符的,处理 11123.678*8123 这种精确计算时极易出错。⼯具调 ⽤允许它将这类任务“外包”给专业的计算器或 Python 解释器。

⽤计算器计算,可以看到上⾯的值是错误的

3. 没有动⼿能⼒
原⽣ LLM 只能输出⽂本。但在实际业务中,我们希望模型能“发邮件”、“推荐⾏程和餐厅”或 “查询数据库”。⼯具调⽤为模型提供了操作外部系统的接⼝。

3.⼯作过程
我们来看下LLM调⽤⼯具的过程,这个过程中模型做的事情本质上就⼀个:根据⽤⼾输⼊,输出⼀个符合你定义的数据结构,供你后续处理。

下⾯我们来通过查询天⽓来看下⼯具内部具体的调⽤细节:
⽤⼾:就是实际使⽤应⽤的⽤⼾,⼀般通过APP或者浏览器操作
应⽤程序:⼀般是交互的⽹站或者APP
LLM模型:如DeepSeek、⾖包模型,⼀般以API的⽅式提供
外部⼯具/API: ⼀般为应⽤程序提供的服务或者由第三⽅公司提供的服务

工作步骤:
1. 注册⼯具(给⼤脑⼀份“使⽤说明书”)
在对话开始前,开发者会告诉模型:“你可以使⽤⼀个叫 get_weather 的⼯具。”
定义的 Schema(结构):
- 名字: get_weather
- 功能:获取指定城市的实时天⽓。
- 必需参数: location (字符串)
- 可选参数: unit (摄⽒度/华⽒度)
2. ⽤户提问(触发需求)
用户问: “北京现在的天⽓怎么样?需要穿外套吗?”
此时模型的思考:
“我没有实时互联⽹连接,不知道北京现在的温度。但我有⼀个 get_weather ⼯具可以查到这 个信息。”
3. 模型输出指令
模型停⽌输出⾃然语⾔,可以抽取你要求的参数,转⽽⽣成⼀段精准的 JSON 数据。(数据的真正来源 :外部API、数据库、内部系统、物联网设备等)
{
"tool_call": {
"function_name": "get_weather",
"parameters": {
"location": "北京",
"unit": "摄氏度"
}
}
}
关键点: 此时模型并不知道北京的天⽓,它只是完成了“提取参数”的⼯作。
4. 执⾏⼯具(⼿去⼲活)
你的后端程序(Python 或 Node.js)接收到了上⾯那段 JSON。
a. 程序解析出: location="北京" 。 b. 程序通过⽹络请求调⽤真正的⽓象局 API。 c. API 返回真实数据: {"temp": 12, "condition": "Cloudy", "wind_speed": "Strong"} 。
5. 汇总回复(⼤脑整理汇报)
应⽤程序把 API 返回的结果塞回给模型。现在模型的“短期记忆(Context)”⾥有了这些新鲜数 据:
- ⽤⼾意图:查北京天⽓,问是否穿外套。
- 实时数据:12度,多云,⼤⻛。
模型最终⽣成的⾃然语⾔:
“北京⽬前⽓温 12°C,多云且⻛⼒较⼤。体感温度可能更低,建议您出⻔穿⼀件厚外套或防⻛⾐。”
4.Function Calling是什么
Function Calling 是模型的⼀种原⽣能⼒,允许开发者向 LLM 描述⼀组函数的“签名”(包括函数名、功能描述、参数列表及类型)。
怎么理解呢?下⾯看下管家的这个例⼦搞清楚LLM和Function Calling 的关系。
⽐如:
你雇了⼀位知识渊博但⼿脚“瘫”了的管家(这就是 LLM)。他什么都会……但他⾃⼰完全没法动⼿——不
会拧扳⼿、不会点⼿机、也不会按计算器。
不过,管家⾯前有⼀排神奇的“功能按钮”(这就是 Function Calling 提供的函数列表),每个按钮
上都贴着标签:
🔧 修⽔管(参数:漏⽔位置、管道类型)
✈ 订机票(参数:出发地、⽬的地、⽇期)
🧮 计算器(参数:数学表达式)
这些按钮背后连着真正的执⾏者(外部系统,⽐如维修⼯、订票平台、计算器程序)。管家虽然⾃⼰按
不动按钮,但他能“思考”:
你告诉他:“厨房⽔槽漏⽔了,帮我找⼈修⼀下。”
管家⽴刻分析:哦,这事需要按 “修⽔管” 按钮。
他仔细填好参数:{“漏⽔位置”: “厨房⽔槽”, “管道类型”: “PVC”}
然后把这张“指令单”递给你(或者直接交给背后的执⾏系统)。
你(或系统)替管家按下按钮,真正的维修⼯接到单⼦就去修好了。
管家再把结果转述给你:“修好了,花了200元。”
LLM 负责“判断该按哪个钮 + 填好参数单”,Function Calling 就是“那个钮和填单的规范格式”。
可以看下DeepSeek调⽤外部⼯具的约定:Tool Calls | DeepSeek API Docs

5.Function Calling和Tool Calling的关系
Function Calling最早由 OpenAI 在 2023 年 6 ⽉推出。当时模型可以输出⼀个结构化的函数名和参数,⽅便开发者调⽤外部函数(⽐如查天⽓、发邮件)。这个名字因此流⾏起来。后来 OpenAI 在2024 年更新了功能,发现模型不仅能调⽤函数,还能调⽤内置⼯具(如⽂件搜索、代码解释器)或API 接⼝。叫“函数”不够准确,于是官⽅改称 Tool Calling。
1. 包含与被包含
⽬前主流的 API(如 OpenAI、Claude)中,Tool(⼯具) 是⼀个⼤的包装器,⽽ Function(函数)是⽬前最常⽤的⼯具类型。
2. 实际使⽤对绝⼤多数开发者⽽⾔是⼀个内容。遇到这两个词,把它们当成⼀回事即可,核⼼都是 “让 AI 调⽤外部能⼒”。
三.MCP
简单说就是:每来个⼯具写⼀套代码,有没有标准的协议?
1.MCP是什么
MCP 起源于 2024 年 11 ⽉ 25 ⽇ Anthropic 发布的⽂章:Introducing the Model Context Protocol(Introducing the Model Context Protocol \\ Anthropic)MCP是⼀种开放协议,通过标准化语⾔和接⼝,实现AI模型与外部数据源/⼯具的⽆缝交互。
MCP不是⼀个⼯具,⽽是⼀种⼯作⽅式或者规则。 核⼼⽬标:建⽴类似USB-C的标准化协议,统⼀AI模型与外部资源的交互接⼝,实现"⼀次集成,处处运⾏"。解决当前 AI 模型因数据孤岛限制⽽⽆法充分发挥潜⼒的难题,MCP 使得 AI 应⽤能够安全地访问和操作本地及远程数据,为 AI 应⽤提供了连接万物的接⼝。

MCP(模型上下⽂协议)之于 AI 应⽤,就像 USB-C 之于电⼦设备。
USB-C 统⼀了充电、数据传输和视频输出。在它出现前,你要为⼿机、硬盘、显⽰器准备不同的线缆;有了它,⼀根线、⼀个接⼝就能搞定所有,⽆论连接的是充电头、U盘还是4K显⽰器,系统都能⾃动识别并协商好供电和通信协议。
MCP 则在 AI 世界⾥扮演同样的“通⽤连接器”⻆⾊。在它出现前,每个⼤模型(Agent)要调⽤⼀个外部⼯具(⽐如查天⽓、搜索、画图),都得写⼀套专属的“驱动代码”——这种“每个⼯具⼀套接⼝”的做法,让 AI ⽣态碎⽚化严重。
有了 MCP,情况彻底改变:
- 标准化:MCP 定义了⼀套通⽤的原语,就像 USB-C 定义了电源、数据、视频等通道。
- 即插即⽤:任何符合 MCP 标准的 Server(服务端),都可以像 USB-C 设备⼀样插上就跑。客⼾端只需发送标准格式的调⽤请,就能“唤醒”服务器执⾏具体功能。
- 主从清晰:MCP Client(客⼾端) 是“主机”,负责发现和发起请求;MCP Server(服务端) 是“设备”,负责具体执⾏,就像电脑(主机)和 U 盘(设备)的关系。

2.为什么需要MCP
1. 适配⼯作量极⼤降低
在 MCP 出现之前,AI 连接外部⼯具,基本就是“硬编码”⼀对⼀⼿⼯对接。你有 M 个 AI 应⽤,N 个⼯具(数据库、⽂件系统啥的),那就得写 M × N 个集成模块。每对接⼀个新⼯具,都要从头适配⼀遍,费时费⼒。有了 MCP,M 个 AI 应⽤只需实现⼀次 MCP 客⼾端,N 个⼯具只需实现⼀次 MCP 服务器。⼀次对接,解锁整个⽣态——这才是真正的效率提升!

传统方式:N个AI模型对接M个工具,需要写N×M套代码,加个新工具所有模型都要重写一遍。
MCP方式:加一个"万能接口",所有模型和所有工具都只对接这个标准协议,新增工具一次接入,所有模型直接通用。
简单说:MCP就是AI界的"USB-C接口",统一标准,插上就能用。
我们可以想象⼀下,每个企业系统都像是不同品牌的智能家电(电视、空调、智能灯),原本每个设备都需要专属遥控器(定制接⼝)。

MCP就像⼀个预置了所有家电协议的万能遥控器:AI助⼿拿着这个遥控器,既能让"电视"播放监控视频(调⽤安防系统),也能让"空调"调节数据温度(调整服务器负载),还能让"⾳响"播报业务报告(触发语⾳合成)——所有操作都通过统⼀按键(标准化指令)完成,⽆需再为每个设备寻找专⽤遥控器。

2. 标准化的⼯具发现和使⽤
MCP标准化了⼯具的定义、托管和向 LLM 暴露的⽅式,所有 MCP Server 都以统⼀的格式(名称、参数、描述)向 Client 暴露⼯具,LLM 能轻松发现可⽤⼯具、理解架构并使⽤. ⽐如⼯具清单调⽤格式约定

⼯具调⽤格式约定

做了约定之后,这样很容易对于新的服务器的⼯具做发现和调⽤。
3. 构建开放的“⽣态”,⽽⾮孤⽴的“应⽤”
MCP是⼀个开放标准,不绑定任何特定模型、框架或供应商。避免供应商锁定:基于MCP开发的⼯具,可以被任何⽀持MCP的AI客⼾端(如Claude、⽀持MCP的GPT等)调⽤。这保障了技术投资的灵活性,不会被任何单⼀AI公司锁定。Function Calling 的接⼝格式、参数定义⽅式都由特定模型⼚商(如 OpenAI、Anthropic)定义。为⼀个模型(如 OpenAI)编写的调⽤代码,⽆法直接⽤于另⼀个模型(如 Google Gemini)。切换模型平台往往意味着要重写⼤量代码。
⽐如你基于 MCP 标准开发了⼀个“天⽓查询”的 MCP Server。⽆论是 OpenAI、Anthropic Claude还是其他⽀持 MCP 的模型,都可以直接发现并使⽤这个 Server 提供的⼯具,⽆需任何修改。
3.官⽹
1. 官⽹ :What is the Model Context Protocol (MCP)? – Model Context Protocol
2. Github : https://github.com/modelcontextprotocol
3. MCP协议地址:Versioning – Model Context Protocol

4.MCP社区
1. 魔搭 (ModelScope) 社区MCP⼴场ModelScope – MCP 广场

2. MCP World海量 MCP Servers 导航网站

3. ⽕⼭引擎MCP⼴场火山引擎-你的AI云

4.阿⾥云MCP 大模型服务平台百炼控制台

5. MCP.so https://mcp.so/

6.CLine MCP⼴场MCP Marketplace – Cline

5.MCP初体验
我们这个案例通过调⽤多个MCP 服务来感受下MCP服务的快速集成。
Trae
a.简介
Trae IDE 是字节跳动推出的AI原生集成开发环境(IDE),由传统的代码编辑器进化而来,更像是一位能与你协作完成整个开发任务的"AI开发工程师"。
b.官网
国内版本:TRAE – The Real AI Engineer | TraeCode – 你的 AI 开发工程师
国际版本:TRAE – Collaborate with Intelligence
下载安装
1.下载Trae IDE,双击启动进行安装

2.安装完成后启动,左边是文件编辑区域,右边是和AI协作区域

c.基本使⽤
Agent构建官⽹
1. 我们以创建⼀个咖啡店的官⽹为例来看下如何操作,⾸先我们新建⼀个⽬录(这里你可以直接在你的磁盘里新建一个文件夹然后打开)

2. AI聊天区域我们可以选择不同的模式

3. 我们选择Agent模式,输⼊下⾯的提⽰词
⽣成⼀个咖啡店的官⽹,使⽤简单的html,js,css来完成
4. 经过⼀段时间的等待后可以看到官⽹⽣成了。(这里可能会等几分钟)



5. 如果效果达到了我们的预期,我们选择全部保留,⽂件会保存起来

右下角有一个全部保留的标识。
6. 我们也可以添加到对话来完成修改
8. 添加到对话后,我们输⼊提⽰词

9. 可以看到已经修改

Chat⽅式构建官⽹
1. 我们新建⼀个⼯程的⽬录 ,⽤Trae打开

2. 我们输⼊提⽰词,⽣成官⽹
⽣成⼀个咖啡店的官⽹,使⽤简单的html,js,css来完成
3. ⽣成后,提⽰我们要⼿动操作
手动方式如下:

4. 我们挨个拷⻉⽣成的⽂件

5. 我们打开⽬录下⾯的⽂件查看效果

6. 如果我们要修改可以在编辑器中选择代码,然后在聊天窗⼝中输⼊内容进⾏修改,⽐如我们选择精品咖啡来点击添加到对话

快捷方式:

SOLO 模式
1. 我们新建⼀个⽂件,⽐如 E:\\code\\traeprj\\pets ,使⽤Trae打开⽂件夹,切换到solo模 式
与AI对话 (Ctrl+U):这对应的是原来的 Chat 模式。主要用于问答、解释代码、生成片段等。
Editor内AI编码 (Ctrl+I):这对应的是 Solo 模式 的核心操作方式。它让你在编辑器里直接向 AI 下达任务,AI 会自主规划并完成代码编写和文件操作。
2. Agent和solo有下⾯2个可选的模式
/plan
## /plan(计划模式)
⽤途 :⽤于⽣成实现计划,指导具体的代码修改。
适⽤场景 :
– 当你需要对现有代码进⾏修改、添加新功能或修复 bug 时
– 需要明确列出要修改的⽂件、步骤、潜在⻛险等
/spec
⽤途 :⽤于⽣成详细的技术规范⽂档,包括 PRD(产品需求⽂档)和技术架构设计。
适⽤场景 :
– 从零开始构建新的应⽤或⼤型功能
– 需要完整的需求分析和架构设计
– 涉及多个模块、复杂交互或多端适配
/goal
⽤途 :⽤于创建和追踪⻓期⽬标,管理任务进度和预算。
适⽤场景 :
– 需要持续追踪的复杂任务
3. 输⼊下⾯的提⽰词,使⽤/plan模式

我想打造⼀个⾯向中国消费者的宠物电商⽹站。⽹站需要设计简洁现代,适配⼿机端浏览。核⼼⻚⾯包
括:⾸⻚(包含轮播图、宠物推荐、热销宠物、新⽤⼾弹窗),注册登录⻚(⽤⼾可以使⽤⼿机、微信注册
登录)、商品列表⻚、商品详情⻚(展⽰宠物图⽚、尺⼨信息和⽤⼾评价),购物流程包括:购物⻋、下单
结算、⽀付(⽀持⽀付宝、微信⽀付、银⾏卡⽀付等主流⽅式)。在结算时填写收货地址,并查看历史订
单。⽀持⽤⼾通过邮件⽅式联系官⽅。整体视觉⻛格以暖⾊为主⾊调,使⽤⼤图展⽰商品,⻚⾯布局简
洁,交互动效⾃然流畅。使⽤html,js,css来完成。
4. 我们点击执⾏,让它开始执⾏计划

5.看见他生成的技术文档

6.最后我们来看下⽣成的效果,可以看到⽣成了对应的⻚⾯,因为我们没有让他使⽤后台框架,所有主要⽣成了前端⻚⾯的交互。

高德
a.简介
⾼德是中国领先的数字地图、导航及位置服务解决⽅案提供商,⽬前是阿⾥巴巴集团旗下的全资⼦公司,⾼德拥有国家甲级导航电⼦地图测绘和甲级航空摄影等资质,其优质的电⼦地图数据库是核⼼竞争⼒,⾼德已从⼀个单纯的⼯具应⽤,发展为提供“⾐⻝住⾏”⼀站式服务的综合性⽣活平台。其核⼼产品“⾼德地图”APP覆盖了海量⽤⼾,⽉活跃⽤⼾(MAU):已突破9亿,⽇定位量:借助北⽃卫星系统,⽇定位量已突破9000亿次。
b.官⽹
高德开放平台 | 高德地图API
高德地图
c.⾼德开放平台
⾼德开放平台是⼀个⾯向开发者和企业的“地图能⼒输出平台”。它将⾼德地图专业的定位、地图、 导航等底层技术能⼒,以 API(应⽤程序接⼝)和 SDK(软件开发⼯具包)的形式开放出来,让第三⽅开发者可以便捷地集成到⾃⼰开发的应⽤或⽹站中,从⽽降低开发⻔槛,并拓展⾃⾝产品的服务边界。核⼼能⼒主要包括:
- 🗺 基础地图与展⽰:提供多种样式(如动态、3D、交通地图等)的地图SDK,⽀持⾃定义样式、交互和叠加标记,满⾜APP或⽹⻚的地图展⽰需求。
- 📍 定位与搜索:提供⾼精度的GPS、⽹络定位服务,并⽀持地理编码(地址转坐标)/逆地理编码(坐标转地址),以及周边搜索、关键字搜索等功能。
- 🗺 路线规划与导航:⽀持驾⻋、步⾏、骑⾏、公交等多种⽅式的智能路线规划;提供实时路况查询和动态导航;并提供轨迹管理与智能调度⽅案。
- 🧠 前沿AI与⼤数据:借助AI提升路径规划的智能化⽔平;通过海量时空数据提供⽤⼾洞察,辅助商业决策。
- 🌐 全球化能⼒:覆盖全球200多个国家和地区,⽀持56种语⾔,拥有1.2亿海外POI数据,满⾜出海应⽤需求。

d.注册申请key
1. 注册登录控制台高德控制台

2. 创建应⽤

3.创建key

4. 创建成功后,可获取 Key 和安全密钥。

5. 查看配额

6. 如果配额觉得低或者想开发⼀些个⼈的应⽤,可以认证开发者账号,注册成为开发者。
高德控制台

Node
a.简介
在 Node.js 之前,JavaScript 运⾏时被绑定在浏览器中,作为浏览器的各种模块出现。这意味着,要想运⾏ JavaScript 代码就必须启动浏览器,JavaScript 逃不出浏览器的⼿掌⼼,它的功能受到很⼤的限制,只能作为⽹⻚脚本使⽤。
JavaScript 的⼀⽣伴随着浏览器⼤战。JavaScript 由 Netscape(⽹景)浏览器发布,但是 Netscape在和 IE 的竞争中落败,早已不复存在;后来⾕歌公司的 Chrome 浏览器异军突起,凭借强悍的性能把IE 按在地上摩擦。
⾕歌公司在 Chrome 浏览器中集成了⼀种名为“V8”的 JavaScript 引擎(也即 JavaScript 解释 器),它能够⾮常快速地解析和执⾏ JavaScript 代码。
V8 引擎使⽤ C++ 语⾔编写,可以独⽴运⾏,也可以嵌⼊到任何其它 C++ 程序中。⾕歌公司将 V8 引擎甚⾄整个 Chrome 浏览器都开源了,任何⼈都可以免费地将 V8 应⽤到⾃⼰的项⽬中。
V8 引擎的强⼤,以及当年 JavaScript 的⽕爆,使得⼀名叫 Ryan Dahl 的程序员希望在浏览器之外再为 JavaScript 构建⼀个运⾏时,让 JavaScript 能够直接在计算机上运⾏,这样 JavaScript 就能像Python、Ruby、PHP 等其它脚本语⾔⼀样⼤展宏图,不必再受限于浏览器,只能做⼀些⼩事情。
Ryan Dahl 和他的团队将这套独⽴的 JavaScript 运⾏时命名为 Node.js;为了避免被误认为是 JavaScript 框架,现在也经常简称为 Node。
Node.js® 是⼀个免费、开源、跨平台的 JavaScript 运⾏时环境,它让开发⼈员能够创建服务器、 Web 应⽤、命令⾏⼯具和脚本。

怎么理解呢?
JavaScript 就像前厅服务员
想象 JavaScript 是⼀种 “沟通指令”。以前,这种指令只能在⼀个叫 “浏览器” 的餐厅前厅⾥使 ⽤。 前厅服务员(浏览器⾥的 JavaScript)能做这些事:
- 帮客⼈点菜(点击按钮)
- 即时把菜名显⽰在菜单上(修改⽹⻚内容)
- 检查客⼈输⼊的⼿机号格式对不对(表单验证)
但服务员 不能进厨房,也不能去仓库、不能去收银后台。
也就是说,传统 JavaScript 没办法 操作电脑的⽂件、连接数据库、监听服务器端⼝ 等后端能⼒。
Node.js 就是给 JavaScript 配了⼀个“万能厨房通⾏证”
Node.js 就是⼀个 让 JavaScript ⾛出前厅、进⼊整个餐厅后厨乃⾄全店管理的⼯具包。操作电脑的⽂件、连接数据库、监听服务器端⼝ 等后端能⼒都具备了。
b.官⽹
Node.js — Run JavaScript Everywhere
c.为什么需要Node?
1. 统⼀前后端语⾔
- 团队只需会 JavaScript,就能写前端(React/Vue)和后端(API 服务)。
- 代码可以复⽤:⽐如数据校验函数,浏览器和服务器⽤同⼀份。
2. 轻量快速
- Node.js ⼀个进程(例如默认的 node app.js )通常只占⽤ ⼏⼗ MB 到 200 MB 内存。对⽐:Java 的 Spring Boot 应⽤空载时往往 200~500 MB
- Node.js 应⽤从 node app.js 到监听端⼝,通常 ⼏⼗毫秒到⼏百毫秒。Java 应⽤启动需要加载 JVM、类加载、字节码验证,往往 ⼏秒到⼗⼏秒(尤其是 Spring Boot)。
3. ⽣态极强
npm 是全球最⼤的软件包仓库,⼏乎所有现代前端⼯具(Webpack, Vite, ESLint)都依赖 Node.js。
NPM
a.简介
NPM 的全称是 Node Package Manager(Node.js 包管理器)。它是 Node.js 的官⽅包管理⼯具,主要做三件事:
- 安装包:从远程仓库下载第三⽅代码库(如 express , lodash )到你的项⽬中。
- 管理依赖:通过 package.json 记录项⽬需要的包及版本,确保环境⼀致。
- 发布包:开发者可以将⾃⼰的代码打包发布到 npm 仓库,供他⼈使⽤。
怎么理解呢? NPM 就像 ⼿机应⽤商店(App Store)。
- 你需要⼀个“计算器”功能,不⽤⾃⼰写代码,去商店搜索“计算器”App,⼀键安装( npminstall calculator )。
- 商店会记录你安装过的 App 列表( package.json )。
- 如果你开发了⼀个很棒的 App,也可以上传到商店供别⼈下载。
b.官⽹
https://www.npmjs.com/
这是 npm 公司的官⽅⽹站,也是全球最⼤的 JavaScript 包注册中⼼。
- 上⾯托管了超过 200 万个开源包(截⾄ 2025 年),每周下载量达数⼗亿次。
- 你可以在这⾥搜索包、查看⽂档、统计信息,以及管理⾃⼰的包。
c.主要功能
1.安装、卸载、更新依赖包(全局或局部) 2. 管理项⽬的包信息 3. 运⾏ 定义的脚本 4. 发布⾃⼰的包到 npm 仓库
d.使⽤⽅式

npm-install | npm Docs
- npm install <pkg> # 局部安装(当前项⽬)
- npm install -g <pkg> # 全局安装(系统级)
e.Node的安装
1. 进⼊官⽹,点击下载
Node.js — Run JavaScript Everywhere

2. 下载系统对应的安装包

3. 以windows为例说明安装步骤

4. 启动命令⾏,输⼊命令 node -v ,正常输出版本说明安装成功
win+R启动输入node -v

5. 检查npm和npx

6. 配置国内npm源
1. 查看当前镜像源
npm config get registry
2. 设置为淘宝镜像源
npm config set registry https://registry.npmmirror.com
3. 验证是否设置成功
npm config get registry

7. 配置全局包安装⽬录
- a. D:\\lib 下⾯创建⽬录
node_global
node_cache
- b. 配置包下载⽬录,注意 D:\\lib 是我电脑上的⽬录,需要根据⾃⼰的⽬录动态配置
npm config set prefix "D:\\lib\\node_global"
npm config set cache "D:\\lib\\node_cache"
- c. 配置环境变量,将 D:\\lib\\node_global 放到系统的PATH⽬录下⾯
- d. 检查配置
npm config list

f.NPM基本使⽤
1. 我们可以⽤ cowsay 这个经典的命令⾏⼯具来测试。它的功能⾮常简单:让⼀只⼩⽜(或者其他 动物)在终端⾥说出你指定的话。 2. 使⽤NPM安装测试
npm install -g cowsay
运⾏结果

3. 可以看到node_global⾥⾯安装了cowsay

4. 执⾏命令 cowsay "Hello hjq"

NPX
a.简介
npx (Node Package Executor) 是⼀个 包执⾏器。它从 npm 5.2.0 版本开始被内置在 npm 中,所以只要你安装了较新版本的 Node.js,就⾃带了 npx。 它允许你直接运⾏来⾃ npm 注册表的包,⽽⽆需先通过 npm install 将其永久安装到本地或全局。
b.主要功能
1.直接运⾏⼀个 npm 包中的命令,⽆需预先安装(可临时下载并执⾏) 2. ⾃动查找命令:优先使⽤当前项⽬的 node_modules/.bin/ ,其次使⽤全局安装,最后临时下使⽤⽅式载最新版 3. ⼀次性执⾏,执⾏后不安装包(除⾮主动安装)
c.使⽤⽅式
npx | npm Docs
npx <pkg>[@<version>] [args…] # 运⾏命令
d.为什么有了NPM还需要NPX
简单理解:npm 负责“拥有”包,npx 负责“使⽤”包。

e.NPX基本使⽤
1. 执⾏命令 npx cowsay "Hello, ⽐特!"
npx cowsay "Hello, ⽐特!"
2. 查看结果

6.MCP实战对接–高德MCP服务
前面的相关知识,我已经讲过了,接下来进行就行

1.参考快速接入-MCP Server | 高德地图API⾼德MCP配置,添加MCP配置,注意key要换成⾃⼰的
{
"mcpServers": {
"amap-maps-streamableHTTP": {
"url": "https://mcp.amap.com/mcp?key=您在高德官网上申请的key"
}
}
}
2.配置好⾼德地图


结果如下:


7.MCP实战对接–航班的MCP服务
假如我们要⻜到北京去旅游,我们需要航班信息,我们使⽤⻜常准的MCP服务MCP – 飞常准-Aviation
(为 VariFlight 航班信息服务实现的模型上下⽂协议(MCP)服务器。该服务器提供了多种⼯具来查询航班信息、天⽓数据和⻜⾏舒适度指标。)
我们进⼊⻜友开放平台飞友 AI 开放平台 | VariFlight AI Open Platform

点击注册

进⼊后台我们创建API-KEY

新⽤⼾有个赠送额度

我们在trae完成mcp的配置,注意API key换成⾃⼰的
{
"mcpServers": { // 固定入口:MCP服务器列表
"variflight": { // 服务名称(可自定义)
"command": "npx", // 执行命令:用 npx 来运行
"args": [ // 传给 npx 的参数
"-y", // -y 表示自动确认安装
"@variflight-ai/variflight-mcp" // 要运行的包名
],
"env": { // 环境变量配置
"VARIFLIGHT_API_KEY": "your_api_key_here" // 需要替换
}
}
}
}
完成配置:

8.MCP实战–实现旅游报告
这个实战就是基于我们前面的两个操作:
我们来输⼊个需求看下
我要从西安⻜到北京旅游3天,给我⽣成具体的旅游规划,景点之间借助⾼德地图⽣成具体的路线信
息,并且查询下航班信息给出合理建议,最终使⽤html,js,css的⽣成报告

可以看到调⽤了⾼德地图,⽣成了路线规划

结果演示:


四.MCP核⼼架构

MCP遵循CS(客⼾端-服务端)架构,⼀个AI应⽤可以连接到多个MCP服务器。
-
左侧:MCP 客户端 (MCP Client) 这些都是需要 AI 能力的上层应用,比如你正在使用的智能 IDE(如 Trae)、本地大模型运行工具(如 LM Studio),或者其他 AI 软件。它们通过统一的 MCP 协议 发送请求。
-
中间:MCP 协议 (MCP Protocol) 这是一个标准化的通信管道,相当于一个“通用语言”。它负责在客户端和服务器之间传递指令和数据,让任何遵循该标准的双方都能顺畅沟通。
-
右侧:MCP 服务器 (MCP Server) 这些是提供具体数据和功能的后端服务或工具,比如一个文件系统、一个数据库,或者一个查询航班信息的 API。MCP 服务器将这些能力以标准格式“暴露”出来,供客户端调用。
整个流程可以这样理解:
整个工作流程是:AI 客户端(应用) -> MCP 协议 -> MCP 服务器(工具/数据)。
请求:你在 AI 应用(客户端)里问:“帮我查一下今天北京到上海的航班”。
路由:你的应用通过 MCP 协议,将这个请求发给对应的“航班查询”MCP 服务器。
执行:航班 MCP 服务器收到请求后,去查它的数据库或调用外部 API。
返回:服务器将查到的航班信息,再通过 MCP 协议传回给你的 AI 应用。
呈现:你的 AI 应用把结果整理成你能看懂的话回复给你。
简单来说,这张图的意思就是:MCP 在 AI 应用和外部工具之间建立了一个统一的连接标准。 这样做的好处是,开发者只要遵循 MCP 标准,就能让一个 AI 应用轻松接入无数种工具,大大降低了开发成本。你之前配置的飞常准 MCP,就是图上右侧的其中一种“MCP 服务器”。
1.MCP HOST
MCP HOST是⽤⼾与 AI 交互的前端,⽐如我们使⽤Trae,是⾯向⽤⼾的 AI 应⽤ , 就像指挥中⼼。Host内嵌 MCP 客⼾端(Client),负责协议握⼿、⼯具能⼒发现、调⽤请求转发等功能。

2.MCP Client
MCP Client则像是LLM的遥控器,负责向Server发送指令并接收结果。它充当了翻译官的⻆⾊,把⾃然语⾔指令转换成Server能理解的请求格式,通常嵌⼊在 Host 中),负责处理底层事务.
- 接收来⾃ LLM 的请求
- 转发请求⾄相应的 MCP 服务器
- 将 MCP 服务器返回的结果返回给 LLM

3.MCP Server
能⼒提供⽅(例如:⽂件系统服务、数据库服务、GitHub 服务、搜索引擎服务),可本地或远程运⾏,关键是以标准格式告知能做什么,执⾏客⼾端请求并返回结果。可以理解为这是⼀个百宝箱,⾥⾯装着各种MCP Tools (⼯具),专⻔⼲脏活累活(⽐如查⽹⻚、读⽂件、查数据库)。
- 提供⼯具:Server需要定义并实现具体的⼯具(Tool),这些⼯具是MCP的核⼼价值所在。例如,它可以是⼀个天⽓查询接⼝,或者是⼀个能够执⾏数学运算的功能。
- 处理请求:当收到MCP Client的请求时,Server负责解析该请求,并根据请求的内容执⾏相应的操作。
- 返回结果:完成操作后,Server会把结果返回给Client。这可能涉及到从数据库获取信息、调⽤第三⽅API,或者其他任何形式的数据处理任务。
我们来举个⽣活的案例来看下这些⻆⾊到底是什么,⽐如周末聚餐,让智能⾳箱去查天⽓,订餐。
你对智能⾳箱(HOST)说话:“帮我看下周六的天⽓找下⽕锅店订位。” 2. 智能⾳箱(HOST)内部的 Client(调度员) 拆解任务。 3. Client(调度员)并发调⽤三个 Server: 问⼤众点评 Server → 收到“XXX路⽼版⽕锅,评分4.8” 问订餐 Server → 收到“订位成功,编号123” 问天⽓ Server → 收到“天⽓晴朗” 4. Client 把三个结果打包 返回给智能⾳箱。 5. 智能⾳箱提醒你 天⽓晴朗,XXX路⽼版⽕锅,评分4.8,订位成功,编号123

五.MCP的⼯作原理
1.MCP的⼯作原理图如下

讲解如下:
1. 用户发起自然语言请求
你对 Cherry Studio 说:"帮我查一下明天北京飞上海的航班"
2. 客户端连接到 MCP 服务端
Cherry Studio 根据你配置的飞常准 MCP 设置,尝试建立连接
3. 客户端和服务端握手成功
双方确认"咱们都懂 MCP 协议,可以开始沟通了"
4. 获取可用工具列表
Cherry Studio 问飞常准服务:"你能提供什么功能?"
5. MCP Server 返回工具清单
飞常准回复:"我能查航班、查机场信息、查航班动态……"
6. 客户端将用户请求和工具信息传递给 AI 模型
Cherry Studio 把"查航班"这个请求,连同飞常准的工具清单,一起发给 DeepSeek/Claude
7. AI 模型分析请求,决定是否调用工具以及调用哪些
DeepSeek 思考:"用户要查航班,飞常准刚好有查航班的工具,我决定调用它" → 选定 search_flight 工具
8. 如果需要调用工具,客户端向服务端发送工具调用请求
Cherry Studio 对飞常准说:"请执行 search_flight,参数是 出发=北京、到达=上海、日期=明天"
9. 服务端执行工具操作
飞常准去查自己的数据库/调用 API,拿到真实航班数据
10. 客户端将工具调用结果和用户问题提供给 AI 模型
Cherry Studio 把航班数据(比如 CA1234 8:00-10:30)和原始问题一起再发给 DeepSeek
11. AI 模型基于工具结果生成最终响应
DeepSeek 把航班数据组织成自然语言:"明天北京飞上海有这些航班……"
12. 客户端将 AI 的响应呈现给用户
你在 Cherry Studio 里看到:"明天北京飞上海有 CA1234 8:00-10:30……"
2.思想总结
| 用户 | 提出需求(自然语言) |
| MCP 客户端(如 Cherry Studio) | 负责协调:连接服务、转发请求、传递数据 |
| AI 模型(如 DeepSeek) | 负责决策:分析需求、决定调用哪个工具、怎么回答 |
| MCP 服务端(如飞常准) | 负责执行:提供工具清单、执行具体操作、返回数据 |
简单理解:AI 模型负责"脑子",MCP 服务端负责"手脚",MCP 客户端负责"神经系统"把它们连起来




