ReadMcpResourceTool:读取 MCP 资源
它是 MCP 世界里的远程 Read
ReadMcpResourceTool 的职责非常明确:
给定 server + uri,把远程 MCP 资源正文读回来。
关键源码
输入定义:
export const inputSchema = z.object({
server: z.string().describe('The MCP server name'),
uri: z.string().describe('The resource URI to read'),
})
实际读取走 MCP SDK:
const result = await connectedClient.client.request(
{
method: 'resources/read',
params: { uri },
},
ReadResourceResultSchema,
)
二进制资源也能处理
源码里有一段很关键:
if (!('blob' in c) || typeof c.blob !== 'string') { ... }
const persisted = await persistBinaryContent(...)
这说明它不仅能读文本资源,也能读二进制 blob,并把内容保存到磁盘路径再返回。
调用链
加载图表中…
小结
ReadMcpResourceTool 把外部上下文读入主循环,是 MCP 集成真正落地的一环。