1.Agent 启动时读取配置里的 MCP server 列表(看有哪些 server)
2.然后和每一个 server 建立连接(通过 MCP client manager)。不是 REST,是 JSON-RPC;stdio 模式就是父子进程的管道,握手一次后常驻。
3.查询每个 server 有哪些工具
4.把列表里的工具动态注册到工具注册表 ——server 给的 inputSchema 本来就是 JSON Schema,和模型的 function calling 参数格式一致,所以能直接放进同一张表。
5.然后就和内置工具同一等级了(我的意思是都在一个表里)
6.调用时,请求通过 MCP client 转发到对应的 server,server 返回结果就行了 ——MCP 只管发现和调用;重名加前缀、哪些工具要人工确认、单个 server 挂了不能拖垮助手,都得宿主自己处理。
模型全程不知道 MCP 存在。