#2066·deer-flow

[Feature Request] MCP 运行时热更新配置 & 工具级启用/禁用开关

Author: tripropylCreated Apr 10, 2026Updated Sep 14, 2026

背景 / Summary

希望在 DeerFlow 中增强 MCP 的可运维性与可控性:支持 MCP 配置的实时(或近实时)生效,以及 在 MCP Server 之下对单个 tool 的启用/禁用开关

动机 / Motivation

  1. 配置变更成本高:当前 MCP 多依赖静态配置(如 extensions_config.json 或等价机制),调整 command/args/env、增删 MCP Server 往往需要重启 LangGraph/Gateway 或整栈,开发联调与线上灰度都不便。
  2. 工具粒度缺少开关:同一 MCP Server 往往暴露大量 tools,但实际场景只希望开放子集(降 token、减误调用、满足合规/最小权限)。仅有 Server 级 enabled 时,只能整站开关,无法精细裁剪。
  3. 与 Gateway/管理面一致:若已有通过 API 写回扩展配置的入口,期望 配置变更后 Agent 侧能自动重载或增量应用,避免「文件已改但进程仍用旧 MCP 会话」的割裂。

期望行为 / Proposed behavior

1. MCP 实时(或热)配置

  • 通过 API 或文件 watch 等方式,在 不重启整个应用(或仅重启 MCP 子进程)的前提下:
    • 新增/删除 MCP Server 定义;
    • 更新 command、args、url、env 等;
    • enabled: false 时断开对应 MCP 并从当前 tool 列表移除。
  • 文档中明确:热更新范围(例如仅 stdio 子进程重启、SSE 重连策略)、失败回滚并发安全 约定。

2. MCP 工具级启用/禁用

  • 在配置中支持按 tool name(或稳定 id)声明 allowlist/denylist。
  • Agent / LangChain tool 绑定层在注册时过滤,确保禁用工具 不出现在模型可见的 schema 中。
  • 可选:与 Gateway 管理 UI 联动。

非目标 / Non-goals(可选)

  • 不要求在一次请求中途无感切换 tool 列表(可接受下一轮对话生效或显式 reload)。

补充信息

  • 我们在线下衍生场景中通过 extensions_config.json 维护多 MCP Server,非常需要 改配置少停机按工具裁剪暴露面
  • 若官方已有 Roadmap 中相近项,欢迎合并/关联已有 Issue。

感谢维护者考虑该能力。