拓冰建站拓冰建站
首页 / 资讯中心 / 正文

零代码实战:用 Dify 工作流搭建 MCP Server,TaoToken 统一 Key 接入 3 小时上线

1. 为什么用 Dify 工作流搭 MCP Server 是条捷径MCP Server 说白了就是给大模型提供“外部工具”的服务端模型通过它调用天气查询、数据库检索、内部 API 这些能力。传统做法是自己写一个 HTTP 服务实现 MCP 协议里的 tools/list、tools/call 等方法再处理 SSE 流式返回光协议适配就能耗掉大半天。Dify 的工作流模式把这件事拉低了一个数量级你在画布上拖几个节点把输入输出理清楚再用 MCP 适配插件把工作流暴露成符合协议的 SSE 接口一个可被模型调用的工具就成型了。适合谁适合想快速验证 MCP 工具链、又不想从零啃协议细节的开发者尤其是手里已经有 Dify 环境、想把它接进 Claude Code 或自建 Agent 的人。我这次的目标很明确3 小时内跑通“Dify 工作流 → MCP ServerSSE→ 模型调用 → 返回结果”的端到端链路并且所有模型请求统一走 TaoToken 的 Key 和 API 通道避免在多个平台之间来回切配置。下面按实际搭建顺序拆开讲每一步都给可复制的配置和验证命令。2. 前置准备Dify 环境与 TaoToken 统一 Key2.1 Dify 侧需要确认的三件事第一Dify 版本。工作流模式和 MCP 适配插件在社区版较新版本里才有建议用 1.x 之后的版本登录后台能看到“工作流”应用类型即可。第二插件市场可访问能在应用里搜索到 MCP 相关适配插件。第三有一个可用的模型供应商配置因为工作流里的 LLM 节点要能正常跑通。如果你还没配模型可以直接用 TaoToken 作为统一入口。它的 API 地址是https://taotoken.net/api兼容主流模型调用格式一个 Key 就能覆盖对话、编码等场景省去每个供应商单独配一遍的麻烦。2.2 拿到 TaoToken Key 并写入 Dify登录 TaoToken 控制台在 API Keys 页面创建一个新 Key复制保存。然后在 Dify 的“设置 → 模型供应商”里选择兼容 OpenAI 格式的自定义供应商填入API Basehttps://taotoken.net/apiAPI Key你刚创建的那串模型名称按你实际要用的填比如对话类模型保存后点“测试”能返回结果就说明通道通了。这一步很关键因为后面工作流里的 LLM 节点、以及 MCP 工具被模型调用时的推理都依赖这条通道。注意Key 只显示一次创建后立刻存到密码管理器或环境变量里别直接写进会提交到 Git 的配置文件。2.3 本地准备一个能发 SSE 请求的终端验证阶段我会用 curl所以确保你的终端能访问 Dify 所在地址。如果是本地 Docker 部署通常是http://localhost:5001这类如果是服务器部署换成对应域名或 IP。后面所有 curl 命令都基于这个地址。3. 可复制配置工作流节点 SSE 服务端骨架 settings.json3.1 在 Dify 里搭一个最小工作流新建应用选“工作流”模式命名比如weather_mcp_demo。画布上放三个节点开始节点定义一个输入变量city_name类型 string必填。代码节点或 LLM 节点这里我用代码节点做模拟数据避免依赖真实天气 API。Python 代码大致如下def main(city_name: str) - dict: # 模拟数据真实场景替换为实际 API 调用 fake { 北京: {temperature: 25℃, weather: 晴}, 上海: {temperature: 27℃, weather: 多云}, 广州: {temperature: 30℃, weather: 阵雨}, } data fake.get(city_name) if not data: return {error: f未收录城市{city_name}} return { city: city_name, temperature: data[temperature], weather: data[weather], tip: 数据仅供演示, }结束节点输出变量指向代码节点的结果类型 object。保存并发布工作流记下应用的 API 访问地址和 Key在“访问 API”页面能看到。3.2 安装并配置 MCP 适配插件在应用插件市场搜索 MCP 适配类插件安装后进入配置。核心参数transport选sse因为模型侧需要流式接收tool nameweather_querytool description查询指定城市的天气输入城市名返回温度与天气状况parameterscity_namestringrequired鉴权开启 JWT 或 Bearer 校验设置一个密钥比如mcp_demo_secret配置保存后插件会暴露一个 SSE 端点形如http://你的Dify地址/mcp/sse?toolweather_query具体路径以插件页面显示为准不同版本可能略有差异。3.3 settings.json 配置片段接入模型侧如果你用的是支持 MCP 的客户端比如 Claude Code 或自建 Agent在它的settings.json里加一段{ mcpServers: { dify_weather: { url: http://你的Dify地址/mcp/sse?toolweather_query, transport: sse, headers: { Authorization: Bearer mcp_demo_secret } } } }同时模型推理通道指向 TaoToken{ model: { base_url: https://taotoken.net/api, api_key: 你的TaoTokenKey, model_name: 你选用的模型 } }这样模型侧既知道去哪调用工具也知道用哪个通道做推理配置集中在一处改起来不散。4. 验证请求curl 打通 MCP 工具调用4.1 先验证 SSE 端点能连上打开终端执行curl -N http://你的Dify地址/mcp/sse?toolweather_query \ -H Authorization: Bearer mcp_demo_secret-N表示禁用缓冲方便看到流式输出。如果连接正常你会看到服务端保持连接并等待事件。此时另开一个终端发调用请求。4.2 发起一次工具调用MCP over SSE 的调用通常分两步先建立 SSE 连接拿到 session再向消息端点 POST 请求。简化验证可以直接 POST 到插件的调用地址curl -X POST http://你的Dify地址/mcp/call \ -H Authorization: Bearer mcp_demo_secret \ -H Content-Type: application/json \ -d { tool: weather_query, arguments: {city_name: 北京} }预期返回类似{ city: 北京, temperature: 25℃, weather: 晴, tip: 数据仅供演示 }如果走 SSE 流式返回会以data:开头分块推送内容一致。4.3 在模型侧做一次真实调用把 3.3 的 settings.json 配好启动你的 MCP 客户端问一句“北京今天天气怎么样”。模型会先通过 TaoToken 通道做推理判断需要调用weather_query然后向 Dify 的 SSE 端点发起请求拿到结果后再组织成自然语言回复。整个链路跑通说明工作流、MCP 适配、统一 Key 三部分都对上了。5. 本篇常见错排查5.1 403 或鉴权失败最常见的原因是 JWT/Bearer 密钥不一致。检查三处插件配置里的密钥、curl 命令里的Authorization头、settings.json 里的 headers三者必须完全相同。另外注意 Bearer 后面有一个空格少这个空格也会 401。5.2 SSE 连接建立后收不到数据先确认工作流本身能单独跑通在 Dify 后台点“运行”输入city_name看是否有输出。如果工作流正常但 SSE 无数据多半是插件的事件推送配置没开或者 transport 选成了 stdio。回到插件配置确认 transport 为 sse。5.3 模型不调用工具模型侧不触发工具调用通常是 tool description 写得太模糊。把描述改成明确的动作句比如“当用户询问某个城市的天气时调用此工具参数为城市名”。另外确认 settings.json 里 MCP 服务已正确加载客户端启动日志里能看到dify_weather注册成功。5.4 TaoToken 通道返回模型不存在检查模型名称是否拼写正确以及该模型是否在你的 TaoToken 账户权限范围内。API Base 必须是https://taotoken.net/api不要多加路径后缀。如果用的是兼容格式确认请求体里的 model 字段和供应商配置里填的一致。5.5 工作流代码节点报变量未定义开始节点定义的变量名要和代码节点入参名完全一致大小写敏感。比如开始节点叫city_name代码节点入参也必须是city_name写成cityName就会取不到值。6. 上线后的接入与统一管理链路跑通后日常使用就两件事一是把 Dify 工作流按需扩展比如加数据库查询节点、加 HTTP 请求节点接真实 API二是所有模型调用继续走 TaoToken 统一 Key不用每接一个新工具就重新配一遍供应商。如果你主要做长期编码或 Agent 类项目可以了解下 Coding Plan把编码场景的调用也归到同一条通道里。需要新建或轮换 Key 时直接去 API Keys 页面操作。接入细节和参数说明在接入文档里有完整对照遇到协议层面的问题可以先查那里。实测下来从建工作流到 curl 验证通过顺利的话一个多小时就能搞定剩下的时间主要花在把模拟数据换成真实业务逻辑上。真正卡人的往往不是 Dify 本身而是鉴权头和 tool description 这两个小地方先把这两处对齐后面就顺了。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门