ragflow mcp tool 有哪些

接入与开发

把 RAGFlow 通过 MCP 暴露出来的工具能力拆开讲清楚,给接入方一份可对照的清单与验证方法。

你在给 IDE 或 Agent 客户端接 RAGFlow 的 MCP 服务时,通常会卡在同一个地方:客户端列出来的工具名一堆,但不知道每个工具负责哪一步、参数该传什么、调完到底有没有生效。这篇不重复讲 MCP 协议本身,而是按「能力分组」把 RAGFlow 的 MCP 工具盘一遍,附上逐个试调的顺序和踩坑点,让你接完能自己验证一遍。

你在给 IDE、Agent 客户端或者自建的编排流程接 RAGFlow 的 MCP 服务时,十有八九会卡在同一个地方:客户端一把把工具名列出来,名字看着都懂,但真要点进去用,就不知道哪个负责建库、哪个负责传文件、哪个负责问答,参数又该填什么。更麻烦的是调完没报错,但你不知道它到底有没有真读到你那份文档。

这篇不重复讲 MCP 协议怎么握手、怎么配 transport,那些去协议文档看更准。这里只干一件事:把 RAGFlow 通过 MCP 暴露出来的工具能力按「干什么用的」分成几组,再给你一个逐个试调、逐个验证的顺序,让你接完之后能自己跑一轮下来确认每个工具是活的、结果是可信的。全文提到的工具命名和参数结构,一律以你自己那台服务实际返回的为准。

先按能力分组看工具,别盯着名字

RAGFlow 的 MCP 工具不管是哪个部署版本,能力基本都落在四类里:知识库/数据集这一层管建、查、删;文档这一层管上传、触发解析、查解析状态;检索这一层管按 query 召回片段;会话/助手这一层管把检索和模型串起来回答。接入前第一步不是看名字,而是看你这台服务到底暴露了哪几类,缺哪类就决定了你的客户端能玩到哪一步。

能力分组大致负责什么接不上的典型表现
数据集管理列出、创建、查看知识库及其配置客户端里压根搜不到库,只能按名字硬猜
文档处理上传文件、触发解析、查询解析状态文件传上去了,检索永远空结果
检索召回按问题召回相关片段,可带过滤条件返回条数固定为 0 或总是那几条
会话问答把检索结果交给模型组织成回答答案像模型自己编的,跟库里内容不沾边
  • 工具列表会随部署版本和挂载模块变化,别拿别人文章里的清单硬套,以你本机 MCP 服务返回的 tools 描述为准;
  • 同一个动作常常有两套工具,一套是原始接口、一套是封装好的助手调用,选错会出现「检索参数填了但不生效」;
  • 站内 /mcp 目录可以对照同类 MCP 服务器的能力命名习惯,帮你判断某个名字大概属于哪一组;
  • 如果只暴露了会话类工具、没有单独的检索工具,说明你的接入路径被封装死了,中间过程不好调试。

本地把工具列出来,比对三件事

确定了分组之后,别急着写业务代码。先用你手上的 MCP 客户端或者一个命令行调试器,向 RAGFlow 的 MCP 服务发一次列出工具的请求,把返回里的工具名、描述、参数结构完整存成一份快照文件。这份快照是你后面所有排查的基准,服务端升级、客户端换版本、参数对不上,都靠它来对照。

  1. 存快照把 list tools 的原始返回原样落盘,别只抄工具名,描述和参数结构一起存,升级后用 diff 一眼看出哪里变了。
  2. 对名字比对工具名有没有增删改;名字改了通常意味着行为也调过,别想当然以为只是重命名。
  3. 对参数看必填项有没有增减、类型有没有从字符串变数组这类变化,参数结构不一致是最常见的调用失败原因。
  4. 对资源对象看描述里提到的 dataset、document、chat 这些对象,和你手上实际拿到的 ID 能不能对上号。
  5. 查缺失发现该有的工具没了,先确认 RAGFlow 服务端有没有启用对应模块,再看 MCP 配置里有没有挂上去,最后才怀疑客户端。

这三件事里最容易被忽略的是第三件。很多人工具名和参数都对得上,但描述里说的资源对象和你手里那套 ID 根本不是一个体系,于是传进去也不报错,只是默默查不到东西。遇到这种「不报错但没结果」的情况,先回头核对资源对象对不对得上,比查向量模型快得多。

逐个试调的顺序与验证点

验证不用把每个工具都点一遍,按依赖顺序走一条链路就够了:列数据集 → 传一个小文件并等解析完 → 检索 → 走一次会话问答。每一步都把返回的 ID 留下来,因为下一步都要用。这条链路能跑通,说明四类能力基本都在线;哪一步断了,问题就锁定在那一步对应的能力组里。

步骤看什么不通过时先查哪
列数据集能不能看到你预期的库和 ID服务端账号权限、库有没有建出来
上传并等解析文档状态是否从未解析走到已完成文件格式、解析队列有没有卡住
检索返回条数是否大于零、有没有出处字段文档解析状态,而不是先怀疑模型
会话问答回答是否引用了库里的内容会话工具是不是自动带了检索

检索这一步有个好用的反向验证:拿一个库里明确有答案的问题和一个库里根本没有的问题各问一遍。如果两个问题都被答得有模有样,说明检索没真正参与,模型在自由发挥;如果后者能明确表示不知道,说明检索链路是通的。会话类工具是否自动挂检索,各家实现不一样,用这个方法一试就知道。

四类常见失败与排查动作

接 MCP 工具踩的坑其实高度集中,翻来覆去就那几类。把下面这张对照表存下来,下次出问题先按表现对号入座,能省掉大量乱试的时间。顺序上建议从最里层往外查:先确认服务端本身好,再看协议返回,最后才怀疑客户端。

能列出但调用报参数错误
多半是 schema 版本不一致,对着之前存的快照逐项比对必填项和类型。
能调通但结果不对
先分离是「检索没召回」还是「模型没用好召回」,在中间结果打日志最快。
超时或连接中断
长文档解析和大批量检索容易超时,把连接超时和读取超时分开设,别用同一个值。
换个客户端就失灵
不同客户端对 MCP 返回结构的宽容度不同,先用命令行调试器确认服务端本身没问题。

有一点要提醒:上面这套排查顺序适用于你自己掌控服务端配置的情况。如果你用的是别人托管好的 MCP 服务,服务端日志你拿不到,「先查服务端」这一步就得跳过,直接从快照和中间结果入手,能查到的边界会小很多。具体参数和超时该设多少,各家服务差别大,别照抄,到站内相关页面看你所用服务当时的说明。

下一步把你实际列出来的工具和站内目录里的同类服务器对一遍,能快速判断有没有漏挂模块,也方便以后换服务时做迁移对照。

常见问题

RAGFlow 的 MCP 工具是固定的一组吗?

不是。工具集合会随部署版本、启用的模块和 MCP 服务配置变化。稳妥做法是别背工具名,而是用调试器拉一份当前实例的 tools 快照,写清楚每个工具的必填参数,升级后再拉一份做对比。站内 /mcp 目录可以帮你对照同类服务器的命名和分组习惯。

为什么工具列出来了,调用却一直报参数错?

多数是客户端缓存了旧的工具描述,或者你按文档里的示例传参、但实例返回的 schema 已经变了。先重新拉一次工具定义,把必填项、字段类型、嵌套结构对一遍;再确认传给工具的 dataset ID 或会话 ID 是这一实例真实存在的,不是别处复制来的。

接完之后怎么判断检索这块是真在工作?

做两组对照:一组问知识库里明确有答案的问题,看返回是否带出处且内容对得上;另一组问知识库里根本没有的内容,看它是明确说查不到,还是硬编一个答案。前者能编、后者不拒答,基本可以判定检索没真正挂上。再用站内测速工具量一下检索一次要多久,作为基线。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。