| 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前送达”)。
 1.3 靠大段提示词的方法实现的 Function Call 有什么问题?复制代码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)来说:
 
 各家厂商训练出的智能体大模型,任务编排能力参差不齐,标准不一致。每个软件都要定制开发不同的大模型调用模板。
 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 的智能体
 
 |