前言
MCP 即模型上下文协议(Model Context Protocol),是一种开放的通信协议,是人工智能领域的 “USB 接口”。MCP在大模型和外部数据源(数据、工具、开发环境等)之间建立了双向且更加安全的连接,使用单一的标准协议取代碎片化的集成方式。如果把 LLM 比作人的大脑,MCP 就是手脚。LLM 不断提升智能下限,MCP 则是不断提升创意上限。
一、为什么要用MCP服务
MCP 的出现给开发者提供了更多的选项,省去了接口代码的编写和维护工作。
二、安装 mcp-server 插件
进入插件市场界面
在扩展菜单搜索 mcp-server
安装插件
安装完成
三、搭建要发布的工作流
3.1 创建空白应用
填写信息
选择开始节点
3.2 开始节点
开始节点添加作者参数
3.3 LLM 节点
添加 LLM 节点
3.4 输出节点
添加输出节点
3.5 发布应用
四、配置 MCP Server 插件
设置 API 端点,主要填写端点名称、待发布的 APP、APP Type、APP输入参数四项。
Endpoint Name:Endpoint 名称,本示例为 poem。
App:选择要发布为 MCP Server 的 Dify 应用,选择上面创建的工作流写诗大神。
App Type:应用类型(Chat 或 Workflow),本示例为工作流。
App Input Schema:定义应用的输入参数,帮助外部系统理解与该应用的交互方式,格式为 JSON。
输入参数内容如下:
properties:列出应用接收的所有参数以及类型。本示例的参数只有一个,author。
description:用于向 MCP Client 说明此应用的主要功能,帮助系统在需要时自动发现并调用。
required:声明调用应用时必须提供的参数。对于聊天类应用(Agent/Chatflow),参数通常是必须的。
{"name":"poem","description":"模仿输入的作者风格写诗歌","inputSchema":{"title":"poem","type":"object","properties":{"author":{"title":"author","description":"作者","type":"string"}},"required":["author"]}}保持配置后将会自动生成 Endpoint URL。我们后续用到的是 GET 后面的 URL 地址。
五、在 Dify 中调用 MCP Server
5.1 添加 MCP 服务(HTTP)
进入添加 MCP 服务页面
服务端点 URL
使用 mcp-server 的地址替换url,使用 docker 部署需要将将配置中的 localhost 或 127.0.0.1 替换为 host.docker.internal
http://host.docker.internal/e/0u6reudmtotl68g3/mcp
服务器标识符:使用 mcp-server 的服务名
content-mcp-server
配置完成
5.2 创建智能体应用
创建空白应用
填写信息
创建应用
系统提示词
调用mcp工具回答用户问题,先获取工具列表,再选中可用的工具,最后返回工具结果中的诗歌原文及解析。
添加工具
测试