微信扫码
添加专属顾问
我要投稿
从聊天机器人到智能体Agent的进化,Dify MCP带你玩转AI工具调用新范式! 核心内容: 1. 大语言模型与智能体Agent的本质区别 2. 传统Function Call实现方式的局限性分析 3. Dify MCP保姆级教程详解
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
而一旦大语言模型能操作工具,例如:联网/地图/查天气/函数/插件/API 接口/代码解释器/机械臂/灵巧手,它就升级成为智能体 Agent,能更好地帮助人类。今年爆火的 Manus 就是这样的智能体。
众多大佬、创业公司,都在 All In 押注 AI 智能体赛道。
也有不少爆款的智能体产品,比如 Coze、Manus、dify。
在以前,如果想让大模型调用外部工具,需要通过写大段提示词的方法,实现“Function Call”。
比如在 openai 中这是一个用于处理客户订单配送日期查询的工具调用逻辑设计。以下是关键点解读:
假设用户提问:“Hi, can you tell me the delivery date for my order?”
助手应执行以下步骤:
“Sure! Please provide your order ID so I can check the delivery schedule.”
tools = [
{
"type": "function",
"function": {
"name": "get_delivery_date",
"description": "Get the delivery date for a customer's order. Call this whenever you need to know the delivery date, for example when a customer asks 'Where is my package'",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The customer's order ID.",
},
},
"required": ["order_id"],
"additionalProperties": False,
},
}
}
]
messages = [
{"role": "system", "content": "You are a helpful customer support assistant. Use the supplied tools to assist the user."},
{"role": "user", "content": "Hi, can you tell me the delivery date for my order?"}
]
response = openai.chat.completions.create(
model="gpt-4o",
messages=messages,
tools=tools,
)
对开发者(你)来说:
对软件厂商来说(百度地图)来说:
对大模型厂商(DeepSeek)来说:
每个软件都要定制开发不同的大模型调用模板。
Anthropic 公司(就是发布 Claude 大模型的公司),在 2024 年 11 月,发布了 Model Context Protocol 协议,简称 MCP。
MCP 协议就像 Type-C 扩展坞,让海量的软件和工具,能够插在大语言模型上,供大模型调用。
MCP 协议是连接【大模型(客户端)】和【各种工具应用(服务端)】的统一接口。
1. 调用Unity的MCP接口,让AI自己开发游戏。
https://www.bilibili.com/video/BV1kzoWYXECJ
2. 调用Blender的MCP接口,让AI自己3D建模。
https://www.bilibili.com/video/BV1pHQNYREAX
3. 调用百度地图的MCP接口,让AI自己联网,查路况,导航。
https://www.bilibili.com/video/BV1dbdxY5EUP
4. 调用 Playwright 的MCP接口,让 AI 自己操作网页。(后面的保姆级教程讲的就是这个)
只要“扩展坞”上插的“工具”够多,每个人都能几分钟,搭积木手搓出,类似 Manus 的智能体
MCP 为【大模型】与【外部数据和工具】的【无缝集成】提供了标准化协议和平台。
不需要用户写提示词。
极大降低了大模型调用外部海量工具、软件、接口的难度。
Unity 和百度地图,看上去截然不同的软件,但都可以让大模型按照相同的协议去调用各自的功能。AI 一眼就知道有哪些工具,每个工具是什么含义。
点点鼠标,就可以把同一个大模型,挂载到不同的软件和工具上。
在上图中,上方代表 MCP 客户端软件,比如 Cusor、Claude Desktop,下方代表 MCP 服务端,比如海量的软件和 API 接口。
MCP 客户端软件(例如 Cursor)就相当于浏览器。
智能体就相当于网站或者 APP。
mcp.so 这样的 MCP 广场,就相当于 App Store 或者 Hao123。
不同的浏览器,用相同的 HTTP 协议,就可以访问海量的网站。
不同的大模型,用相同的 MCP 协议,就可以调用海量的外部工具。
互联网催生出搜索、社交、外卖、打车、导航、外卖等无数巨头。
MCP 同样可能催生出繁荣的智能体生态。
类比互联网的 HTTP 协议,所有的智能体都值得用 MCP 重新做一遍。
MCP Host:人类电脑上安装的客户端软件,一般是 Dify、Cursor、Claude Desktop、Cherry Studio、Cline,软件里带了大语言模型。
MCP Server:各种软件和工具的 MCP 接口,比如: 百度地图、高德地图、游戏开发软件 Unity、三维建模软件 Blender、浏览器爬虫软件 Playwrights、聊天软件 Slack。尽管不同软件有不同的功能,但都是以 MCP 规范写成的 server 文件,大模型一眼就知道有哪些工具,每个工具是什么含义。
有一些 MCP Server 是可以联网的,比如百度地图、高德地图。而有一些 MCP Server只进行本地操作,比如 Unity 游戏开发、Blender 三维建模、Playwright 浏览器操作。
Host 就是 Dify、Cursor、Cline、CherryStudio 等 MCP 客户端软件。
如果你同时配置了多个 MCP 服务,比如百度地图、Unity、Blender 等。每个 MCP 服务需要对应 Host 中的一个 Client 来一对一通信。Client 被包含在 Host 中。
每个支持 MCP 的软件,都有一个 MCP Server 文件,里面列出了所有支持调用的函数,函数注释里的内容是给 AI 看的,告诉 AI 这个函数是做什么用的。
MCP Server 文件就是给 AI 看的工具说明书。
例如百度地图 MCP 案例:
https://github.com/baidu-maps/mcp/blob/main/src/baidu-map/python/src/mcp_server_baidu_maps/map.py
每个以@mcp.tool()开头的函数,都是一个百度地图支持 MCP 调用的功能。
你也可以按照这个规范,自己开发 MCP Server,让你自己的软件支持 MCP 协议,让 AI 能调用你软件中的功能。
几张图片来自公众号:西二旗生活指北
1.1-1.10 的这部分教程引自 Datawhale 成员同济子豪兄的《跟同济子豪兄一起学MCP》知识库
知识库地址:https://zihao-ai.feishu.cn/wiki/RlrhwgNqLiW7VYkNnvscHxZjngh
官方介绍:Dify MCP 插件指南:一键连接 Zapier,轻松调用 7000+ App 工具
在 v1.0.0 之前,Dify 平台面临一个关键挑战:模型和工具与主平台高度耦合,新增功能需要修改主仓库代码,限制了开发效率和创新。为此,Dify团队重构了 Dify 底层架构,引入了全新的插件机制,带来了以下四大优势:
Dify Marketplace:作为插件聚合、分发与管理平台,为所有 Dify 用户提供丰富的插件选择。插件开发者可将开发好的插件包提交至 Dify Plugins 仓库,通过 Dify 官方的代码和隐私政策审核后即可上架 Marketplace。Dify Marketplace 现共有 120+ 个插件,其中包括:
模型:OpenAI o1 系列(o1、o3-mini 等)、Gemini 2.0 系列、DeepSeek-R1 及其供应商,包括硅基流动、OpenRouter、Ollama、Azure AI Foundry、Nvidia Catalog 等。工具:Perplexity、Discord、Slack、Firecrawl、Jina AI、Stability、ComfyUI、Telegraph 等。更多插件尽在 Dify Marketplace。请通过插件帮助文档查看如何将开发好的插件发布至 Marketplace。
Dify 插件帮助文档 >> https://docs.dify.ai/zh-hans/plugins/introduction
在 Dify 的丰富插件市场中也提供了一个好用的 MCP SEE 插件,方便我们将 SEE MCP 服务放在我们的工作流中。让 AI 拥有更加强大的能力。
在已安装的插件列表中找到 MCP SSE,然后点击去授权。
使用下面的结构进行配置即可。
{
"mcpServers":{
"server_name1":{
"transport":"sse",
"url":"http://127.0.0.1:8000/sse",
"headers":{},
"timeout":50,
"sse_read_timeout":50
},
"server_name2":{
"transport":"sse",
"url":"http://127.0.0.1:8001/sse"
},
"server_name3":{
"transport":"streamable_http",
"url":"http://127.0.0.1:8002/mcp",
"headers":{},
"timeout":50
},
"server_name4":{
"transport":"streamable_http",
"url":"http://127.0.0.1:8003/mcp"
}
}
}
本次教程不教大家部署 SSE 传输的 MCP Server,直接连接托管的 MCP 服务器。
MCP 目前国外的平台较多,国内比较头部的 MCP 平台目前是(20250622)魔搭社区。
比如我们选择了 12306 的 mcp 应用,点击链接即可生成一个由魔搭社区托管的 SSE 地址。
{
"mcpServers": {
"12306-mcp": {
"type": "sse",
"url": "https://mcp.api-inference.modelscope.net/ids/sse"
}
}
}
拿到 sse 地址即可实现个人配置。
我们点击到工具测试菜单,可以看到 MCP 具备的工具能力,可以了解到这个 MCP 具有哪些应用方式。
这里我们再尝试另一个,力扣的 MCP
力扣是一个算法练习的平台,比如你想学习一些编程语言,做一些小练习就可以到力扣上试试。
同样的我们也能得到对应的 SSE 地址。
大家注意哦,这次我们用的是魔搭托管的MCP服务。也就是会有Hosted的字样,如果是local的需要大家本地部署。这里本地部署我们就不过多介绍了,学有余力的小伙伴可以自行尝试。
在高德地图的加成下可以快速完成与地图相关的大模型任务。
注册认证地址:https://console.amap.com/dev/id/phone
进入【应用管理】,点击页面右上角【创建新应用】,填写表单即可创建新的应用。
进入【应用管理】,在我的应用中选择需要创建 Key 的应用,点击【添加 Key】,表单中的服务平台选择【Web 服务】。
创建成功后,可获取 Key 和安全密钥。
{
"mcpServers": {
"amap-amap-sse": {
"url": "https://mcp.amap.com/sse?key=您在高德官网上申请的key"
}
}
}
智谱 AI 的介绍咱们在之前和大家说过,这里我们展示一下搜索的 MCP。
获取 Key 的方式和大模型一致,这里就不赘述啦。大家贴上 key 即可。
{
"mcpServers": {
"zhipu-web-search-sse": {
"url": "https://open.bigmodel.cn/api/mcp/web_search/sse?Authorization=YOUR API Key"
}
}
}
目前支持 MCP 的接口越来越多,将来会有更多更好用的 MCP 出现。这里距离了一些方便大家学习和使用哦。
这里我们需要做的是先配好 MCP SSE / StreamableHTTP 插件。如何配置呢之前给大家看过啦。这里我们写一个智能体辅助我们修改从魔搭社区获取的链接~
prompt 如下:
你需要将用户输入的mcp 配置json 转为目标json,或是用户直接输入 url 或是用户输入url 和用户名,都需要以目标json的结构返回。
例如用户输入:
{
"mcpServers":{
"12306-mcp":{
"type":"sse",
"url":"https://mcp.api-inference.modelscope.net/123/sse"
}
}
}
返回json:
{
"12306-mcp":{
"url":"https://mcp.api-inference.modelscope.net/123/sse",
"headers":{},
"timeout":60,
"sse_read_timeout":300
},
}
我们拿 12306 的 MCP 配置测试一下:
看上去还是挺简单的。
搞定后会出现这样的字样~
目前支持 MCP 的应有有如上图所示的三种,因为需要 agent 支撑。我们制作一个 Agent 应用。
你叫“火车侠”,是12306-MCP专属AI助理,专注于铁路出行服务。你的核心任务是:
调用MCP工具时先获取工具列表,在选择12306-MCP来回答。需要了解清楚本MCP如何使用。查询车票、规划行程,提供最优推荐。
大模型对话界面
MCP调用截图
真实时刻表
大模型返回结果,确实是准确无误的,比直接用 app 查方便,也很适合老人用!
Thought: 现在我已经获取了明天(2025-06-23)银川到中卫的所有火车车次信息,包括车次类型、出发到达时间、历时以及各座位类型的余票情况。信息完整且无需进一步补充,接下来需要将结果整理成自然语言回答用户。Action:
2025年6月23日银川到中卫的火车车次信息如下(按出发时间排序):
K195次:01:15银川站发车,03:28抵达中卫站,历时2小时13分。硬座24.5元(有票)、硬卧70.5元(剩余18张)、软卧108.5元(剩余4张)、无座24.5元(有票)。
Z311次:03:52银川站发车,06:47抵达中卫站,历时2小时55分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(剩余19张)、无座24.5元(有票)。
K1087次:06:10银川站发车,08:37抵达中卫站,历时2小时27分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(有票)、无座24.5元(有票)。
2635次:06:22银川站发车,09:12抵达中卫站,历时2小时50分。硬座21.5元(有票)、硬卧67.5元(有票)、软卧105.5元(有票)、无座21.5元(有票)。
7511次:06:41银川站发车,10:36抵达中卫站,历时3小时55分。硬座18.5元(有票)、无座18.5元(有票)。
C8221次(城际):06:57银川站发车,08:12抵达中卫南站,历时1小时15分。二等座37元(有票)、一等座60元(有票)、商务座112元(剩余10张)。
7531次:07:17银川站发车,15:38抵达中卫站,历时8小时21分。硬座46.5元(有票)、无座46.5元(有票)。
D8953次(动车):07:48银川站发车,09:03抵达中卫南站,历时1小时15分。二等座65元(有票)、一等座104元(有票)、无座65元(有票)。
D2749次(动车):08:12银川站发车,09:27抵达中卫南站,历时1小时15分。二等座65元(有票)、一等座104元(有票)、无座65元(有票)。
D8941次(动车):08:35银川站发车,09:50抵达中卫南站,历时1小时15分。二等座82元(有票)、一等座131元(有票)、无座82元(有票)。
C8209次(城际):08:40银川站发车,10:01抵达中卫南站,历时1小时21分。二等座51元(有票)、一等座82元(有票)、无座51元(有票)。
D2763次(动车):10:00银川站发车,11:21抵达中卫南站,历时1小时21分。二等座82元(有票)、一等座131元(有票)、无座82元(有票)。
D8933次(动车):12:05银川站发车,13:29抵达中卫南站,历时1小时24分。二等座82元(有票)、一等座131元(有票)、无座82元(有票)。
D2767次(动车):13:47银川站发车,15:08抵达中卫南站,历时1小时21分。二等座82元(有票)、一等座131元(有票)、无座82元(有票)。
C8211次(城际):14:45银川站发车,16:06抵达中卫南站,历时1小时21分。二等座65元(有票)、一等座104元(有票)、无座65元(有票)。
K41次:15:13银川站发车,18:10抵达中卫站,历时2小时57分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(剩余5张)、无座24.5元(有票)。
D8945次(动车):15:55银川站发车,17:10抵达中卫南站,历时1小时15分。二等座82元(有票)、一等座131元(有票)、无座82元(有票)。
C8213次(城际):18:30银川站发车,19:51抵达中卫南站,历时1小时21分。二等座51元(有票)、一等座82元(有票)、无座51元(有票)。
D8937次(动车):19:22银川站发车,20:37抵达中卫南站,历时1小时15分。二等座74元(有票)、一等座119元(有票)、无座74元(有票)。
K1517次:19:52银川站发车,22:49抵达中卫站,历时2小时57分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(剩余7张)、无座24.5元(有票)。
T303次:20:26银川站发车,23:03抵达中卫站,历时2小时37分。硬座24.5元(有票)、硬卧70.5元(剩余1张)、软卧无票、无座24.5元(有票)。
K359次:20:35银川站发车,23:32抵达中卫站,历时2小时57分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(有票)、无座24.5元(有票)。
C8207次(城际):21:00银川站发车,22:27抵达中卫南站,历时1小时27分。二等座56元(有票)、一等座89元(有票)、无座56元(有票)。
K1295次:21:31银川站发车,次日00:13抵达中卫站,历时2小时42分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(有票)、无座24.5元(有票)。
K815次:22:40银川站发车,次日01:20抵达中卫站,历时2小时40分。硬座24.5元(有票)、硬卧70.5元(有票)、软卧108.5元(有票)、无座24.5元(有票)。
注:部分车次(如7534次)为途径灵武、宁东等站的区间车,已过滤仅保留银川站发车的直达车次。您可根据出行时间和预算选择合适车次,建议通过12306 App或官网实时查询余票并购票。
deepseek R1 和 V3 效果似乎不好,我后面换了豆包的 doubao seed 1.6 250615 模型,效果会更好一些。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-06-21
一文了解dify实现智能分析助手的三种方式
2025-06-18
DIFY对轰,左右互搏之术-用智能体测试智能体
2025-06-17
万字演讲:Dify 插件如何助力 AI Agent 应用开发?
2025-06-17
dify 1.4.3版本深度解析:全面优化与功能增强指南
2025-06-17
不止聊天!打造你的专属AI工作流,群晖Dify最新部署攻略
2025-06-15
dify自定义插件
2025-06-13
如何利用Dify实现问答系统的高效内容审查?含源码解析与实战优化指南
2025-06-13
dify 1.4.2 版本深度解析:性能飞跃、功能革新与稳定性全面升级,打造企业级AI开发新标杆
2025-04-05
2025-04-02
2025-04-04
2025-03-31
2025-03-29
2025-04-01
2025-03-28
2025-04-03
2025-05-08
2025-04-18
2025-06-17
2025-05-29
2025-05-28
2025-05-22
2025-04-27
2025-04-15
2025-03-20
2024-12-19