MCP 客户端进程树监督者。
为每个配置的 MCP server 启动一个 CMDC.MCP.Client 子进程。
使用 DynamicSupervisor —— 逐个启动 server,单个启动失败只记日志,不影响其他。
进程树位置
SessionServer (:one_for_one)
├── CMDC.MCP.Supervisor ← 此模块(可选)
│ ├── Client :server_a
│ ├── Client :server_b
│ └── ...
└── CMDC.Agent当 Session 关闭时,此 Supervisor 级联终止所有 Anubis client 进程, 干净地关闭各 MCP 连接。
Summary
Functions
Returns a specification to start this module under a supervisor.
返回此 Supervisor 下正在运行的 MCP client pid 列表。
返回此 Supervisor 下正在运行的 MCP client 数量。
启动 MCP Supervisor 并逐个添加 server children。
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
返回此 Supervisor 下正在运行的 MCP client pid 列表。
@spec running_count(pid()) :: non_neg_integer()
返回此 Supervisor 下正在运行的 MCP client 数量。
@spec start_link(keyword()) :: Supervisor.on_start()
启动 MCP Supervisor 并逐个添加 server children。
参数
opts— 关键字列表::servers—[%{name: String.t(), transport: tuple}]列表:name— 可选进程名(atom 或 via-tuple)