ListMcpResourcesTool:列出 MCP 资源
它让模型先获得“资源发现能力”
ListMcpResourcesTool 的职责很像远程世界里的目录浏览。
如果模型已经接上了 MCP server,但不知道那边具体暴露了哪些资源,第一步就应该用它先列出来。
关键源码
tools/ListMcpResourcesTool/ListMcpResourcesTool.ts:
const inputSchema = z.object({
server: z.string().optional().describe('Optional server name to filter resources by'),
})
核心逻辑是:
const results = await Promise.all(
clientsToProcess.map(async client => {
const fresh = await ensureConnectedClient(client)
return await fetchResourcesForClient(fresh)
}),
)
这说明它不是静态读缓存,而是围绕 MCP client 连接状态工作的。
调用链
加载图表中…
小结
ListMcpResourcesTool 解决的是资源发现问题,没有它,模型只能盲猜 URI。