Dify MCP 保姆级教程来了!
1. MCP介绍
1.1 大语言模型 VS 智能体Agent?
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
而一旦大语言模型能操作工具,例如:联网/地图/查天气/函数/插件/API 接口/代码解释器/机械臂/灵巧手,它就升级成为智能体 Agent,能更好地帮助人类。今年爆火的 Manus 就是这样的智能体。
众多大佬、创业公司,都在 All In 押注 AI 智能体赛道。
也有不少爆款的智能体产品,比如 Coze、Manus、Dify。
1.2 以前的智能体是怎么实现的?
在以前,如果想让大模型调用外部工具,需要通过写大段提示词的方法,实现“Function Call”。
比如在 openai 中这是一个用于处理客户订单配送日期查询的工具调用逻辑设计。以下是关键点解读:
一、工具功能解析
\1. 核心用途
函数名 get_delivery_date 明确用于查询订单的配送日期(预计送达时间)。触发场景:当用户询问包裹状态(如“我的包裹到哪里了?”或“预计何时送达?”)时自动调用。
\2. 参数设计
必需参数:仅需提供 order_id(字符串类型),无需其他字段。逻辑合理性:订单ID是唯一标识,足以关联物流信息(如快递单号、配送进度等)。
\3. 技术实现要求
开发者需在后端实现该函数,通过 order_id 关联数据库或物流API获取实时配送状态(如预计送达时间、当前物流节点等)。
二、客服对话流程示例
假设用户提问:“Hi, can you tell me the delivery date for my order?”
助手应执行以下步骤:
\1. 识别意图:用户明确要求“delivery date”,符合工具调用条件。\2. 参数提取:需引导用户提供 order_id(因消息中未直接包含该信息):
“Sure! Please provide your order ID so I can check the delivery schedule.”
\3. 工具调用:获得 order_id 后,后台执行 get_delivery_date(order_id=“XXX”)。\4. 返回结果:向用户展示函数返回的配送日期(如 “您的订单预计在2025年6月25日18:00前送达”)。
- 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,
- )
复制代码 1.3 靠大段提示词的方法实现的 Function Call 有什么问题?
对开发者(你)来说:
要写一大段复杂提示词,程序员的语文水平一般都比较捉急面对相同的函数和工具,每个开发者都需要重新从头造轮子,按照自己想要的模型回复格式重新撰写、调试提示词
对软件厂商来说(百度地图)来说:
百度地图发布的大模型工具调用接口,和高德地图发布接口,可能完全不一样。没有统一的市场和生态,只能各自为战,各自找开发者接各自的大模型。
对大模型厂商(DeepSeek)来说:
各家厂商训练出的智能体大模型,任务编排能力参差不齐,标准不一致。
每个软件都要定制开发不同的大模型调用模板。
1.4 秦王扫六合:MCP协议

Anthropic 公司(就是发布 Claude 大模型的公司),在 2024 年 11 月,发布了 Model Context Protocol 协议,简称 MCP。
MCP 协议就像 Type-C 扩展坞,让海量的软件和工具,能够插在大语言模型上,供大模型调用。
MCP 协议是连接【大模型(客户端)】和【各种工具应用(服务端)】的统一接口。

1.5 几个 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 的智能体
|