Technical Guide
19. MCP 实战:接一个只读外部服务
用低风险方式接入 MCP:先验证 server、工具列表和权限,再把结果放进研究型 Agent 流程。
实战目标
这一篇只接只读 MCP。
不要一开始接写数据库、发消息、删文件这类高风险能力。
目标是:让研究型 Agent 能通过 MCP 查询一个外部资料源。
先验证 MCP server
在接入 DeerFlow 前,先单独确认 server 能运行。
你需要知道:
启动命令是什么
需要哪些环境变量
暴露哪些工具
工具输入输出是什么
这一步不要跳过。否则后面出错时,很难判断是 MCP server 问题,还是 DeerFlow 接入问题。
配置到 DeerFlow
MCP 配置以官方 config.example.yaml 为准。
重点检查:
server 名称
transport 类型
command / args
env
是否需要 OAuth
不要把密钥写进教程或仓库。
验证工具列表
接入后先看工具是否被发现。
不要直接跑完整研究任务。
先确认:
MCP server 启动成功
工具列表能被读取
工具 metadata 正常
调用一个只读工具能返回结果
放进研究型 Agent
确认 MCP 可用后,再让 Agent 在研究任务里调用它。
例如:
先用搜索找公开资料
再用 MCP 查询内部只读资料
最后合并成报告
这一篇你要记住
MCP 实战的顺序是:
先验证 server
再接入 DeerFlow
再验证工具列表
最后放进 Agent 任务
不要反过来。
验收 MCP 接入
接好后不要只看“没有报错”。
至少验证:
server 进程能启动
DeerFlow 能发现工具
工具 schema 正确
调用结果能返回
失败时有错误信息
每一步都要单独确认。
研究型 Agent 里怎么用
可以给 Agent 一个明确规则:
公开资料优先用搜索。
内部或特定资料再用 MCP。
报告里标注来源类型。
这样读者能看出来哪些信息来自公开网页,哪些来自外部服务。
常见问题
最常见的是环境变量没传进去。
其次是 MCP server 本身能跑,但 DeerFlow 里的 command / args 配错。
第三是工具返回太复杂,Agent 不知道怎么用。