尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

大模型——FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

大模型——FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议) 1. 为什么要在 n8n 里接 FastGPT 知识库如果你已经在用 n8n 做自动化又刚好维护着一套 FastGPT 知识库大概率会遇到一个尴尬的断层n8n 的 AI Agent 节点能调模型、能跑工具但它默认拿不到你 FastGPT 里那些已经清洗好的私有文档。想让 Agent 回答“我们产品的退款政策是什么”它只能靠模型自己编或者你手动把文档塞进 prompt——前者不靠谱后者塞不下。原生在 n8n 里搭 RAG 是可行的但要拆成两条工作流一条负责文件上传、切片、向量化、入库另一条负责检索问答。维护成本不低而且向量库、embedding 模型、召回参数都得自己调。FastGPT 本身就把这套 RAG 流程做完了还带知识库搜索节点和引用返回那更合理的做法是让 FastGPT 当知识库服务端n8n 当编排客户端中间用 MCP 协议对接。MCP 在这里的角色可以理解成一个“标准插座”。FastGPT 从 v4.9.6 起支持作为 MCP 服务端把工作流、Bot 这些能力暴露出去n8n 官方也提供了 MCP Client Tool 节点。两边一插n8n 的 Agent 就能把 FastGPT 的知识库检索当成一个可调用的工具和其他工具HTTP 请求、数据库查询、日历并列组合。这篇就按“已有 FastGPT n8n 环境”的前提把配置路径、节点参数、连通性验证和常见报错一次讲清楚。适合谁看手上已经有 FastGPT 实例本地 Docker 或云服务器都行、n8n 能正常跑工作流、想让 Agent 用上私有知识库的开发者。不需要你从零学 RAG但需要你能改 docker-compose 和 config.json。2. 前置准备FastGPT 侧要满足的条件先说版本。FastGPT 的 MCP 服务端能力从 v4.9.6 开始提供建议直接上最新稳定版。低于这个版本工作台里根本看不到“MCP 服务”入口后面所有步骤都无从谈起。升级前务必备份旧的 docker-compose.yml 和数据卷pgvector 的数据卷尤其别丢。第二个条件是 config.json 里的 mcp.server.host。这个值决定 FastGPT 对外暴露 MCP 服务的地址n8n 就是通过它来连的。如果你 FastGPT 和 n8n 都在同一台机器的 Docker 里填本机局域网 IP比如 192.168.1.20端口默认 3005如果 FastGPT 在云服务器上填公网 IP 或域名。填 127.0.0.1 在跨容器场景下大概率连不通这是第一个容易踩的坑。第三个条件是网络可达。n8n 所在环境要能访问到 mcp.server.host:3005。本地 Docker 场景下两个容器如果在不同 network需要确认能互相解析云服务器场景下安全组要放行 3005 端口。这一步不确认后面 n8n 里填完地址会一直转圈或直接超时。如果你还没拿到可用的模型 API Key或者想先验证模型对话链路是否通可以先用 TaoToken 的模型对话能力做一次快速自测确认 key 和网络没问题再去折腾 MCP 配置能省掉不少“到底是哪一层挂了”的排查时间。3. 可复制配置从 FastGPT 工作流到 MCP 服务3.1 用工作流封装知识库搜索FastGPT 的 MCP 服务目前不能直接把“知识库”本身当工具挂上去。如果你把一个接了知识库的 Bot 挂上去n8n 拿到的可能是 Bot 内大模型总结、改写后的内容而不是原始检索片段。需要精确引用原文的场景这就跑偏了。绕开的办法是建一个极简工作流只做检索、不做生成在 FastGPT 工作台新建一个工作流。拖入“知识库搜索”节点选中目标知识库设置最低相关度和引用数量上限。相关度别设太低否则召回一堆无关片段引用数量按你的上下文预算来一般 3 到 5 条够用。接一个“指定回复”节点把检索结果按原始文本块输出不要接大模型节点。保存并发布。工作流名称建议用英文应用介绍一定要填。这两项会作为工具名和工具描述显示在 n8n 端Agent 靠它们判断该不该调用这个工具。名字写成“workflow1”、介绍留空Agent 基本不会选它。3.2 创建 MCP 服务并挂载工具回到工作台进入“MCP 服务”新建一个服务。点“管理”把刚才发布的工作流添加为该服务下的一个工具。添加完点“开始使用”在弹窗里找到 SSE 一栏复制那个地址。这个地址就是 FastGPT MCP-Server 的接入点形如http://192.168.1.20:3005/sse/your-service-id注意复制的是 SSE 地址不是别的。n8n 的 MCP Client Tool 目前走 SSE 传输填错协议类型会连不上。3.3 n8n 侧接入 MCP Client Tool打开 n8n 工作流编辑界面选一个 AI Agent 节点在 Tool 配置区点加号搜索并添加 MCP Client Tool 节点。配置项不多但每一项都要对字段填写内容说明Server URLFastGPT 复制的 SSE 地址必须带 /sse 路径Tool Name如 FastGPT_KB在 Agent 中显示的名称Tool Description如 查询产品知识库帮 Agent 判断调用时机TransportSSE与 FastGPT 服务端一致Tool Description 别偷懒。Agent 选工具靠的是语义匹配描述写得越贴近真实使用场景命中率越高。写“查询知识库”不如写“查询产品退款政策、功能说明等内部文档”。4. 验证请求确认端到端真的通了配置完先别急着接复杂逻辑用最小闭环验证。在 n8n 里给 Agent 挂一个 Chat Message 触发节点手动发一条明确需要知识库的问题比如“退款政策里关于七天无理由是怎么写的”。如果链路正常你能在 n8n 的执行记录里看到 Agent 调用了 FastGPT_KB 工具返回的是知识库原始片段然后 Agent 基于这些片段组织回答。重点看两处一是工具调用是否发生二是返回内容是不是原始文本块而非二次总结。前者说明 MCP 连通后者说明工作流封装方式正确。想更直接地验证 MCP 服务本身可以先用 curl 探一下 SSE 端点是否活着curl -N http://192.168.1.20:3005/sse/your-service-id正常会保持连接并陆续吐出事件流。如果直接报连接拒绝问题在 FastGPT 侧或网络层跟 n8n 无关先回去查 mcp.server.host 和端口放行。如果你后续要把这套 Agent 用于长期编码或自动化任务建议把模型调用统一走 TaoToken 的 Coding Plankey 和额度集中管理n8n 里换模型时只改一处配置不用每个节点翻一遍。5. 本篇常见错排查连不上 SSEn8n 报 timeout。九成是 mcp.server.host 填了 127.0.0.1或者 3005 端口没放行。跨容器场景填局域网 IP云服务器填公网 IP 并检查安全组。工具列表里看不到 FastGPT 的工具。检查工作流是否真的“发布”了以及是否被添加进了 MCP 服务。只保存不发布MCP 服务里挂不上。Agent 不调用知识库工具。多半是工具名称和描述太模糊。改成英文名 具体场景描述再测。也可以在 Agent 的 system prompt 里明确提示“涉及产品政策时优先查询知识库工具”。返回的是总结而非原文。说明你把接了知识库的 Bot 挂上去了而不是纯检索工作流。回到 3.1 重建一个只含知识库搜索和指定回复的工作流。升级后 MCP 入口不见了。确认版本号确实到了 v4.9.6 以上config.json 是否用了新版模板。旧 config.json 直接覆盖新版本可能缺 mcp 字段。Docker 拉镜像卡住。把 docker-compose.yml 里的官方镜像地址换成国内镜像仓库地址再拉这是网络问题不是配置问题。6. 接下来怎么走MCP 这条路打通后FastGPT 的知识库检索就成了 n8n Agent 手里的一个普通工具可以和 HTTP 请求、数据库节点、定时触发自由组合。比如每天早上定时跑一遍知识库把新增文档摘要推到群里或者让 Agent 先查知识库、再查订单系统、最后生成回复。如果你还想把 FastGPT 的 Bot 直接当模型用另一条路是走它的 OpenAI 兼容 API在 n8n 里加 OpenAI Compatible Chat ModelBase URL 填 FastGPT 的 API 地址API Key 填应用密钥Model Name 随便填实际以 Bot 内配置为准。这种方式配置更简单但它在 n8n 里表现为“一个外部模型”而不是可组合的工具Agent 没法把它和其他工具并列调度。要组合能力选 MCP要单一问答引擎选 API。配置过程中如果卡在 key 或接入环节可以直接去 TaoToken 的 API Keys 页面拿一套可用的凭证再对照接入文档核对参数比在多个平台之间来回切要快。整套流程跑通后建议把 FastGPT 工作流的名称和介绍当成“工具说明书”来维护——Agent 选得准不准很大程度上就靠这两行字。
返回列表