createListMcpResourcesTool function
Tool<JsonMap, String>
createListMcpResourcesTool(
- Genkit ai, {
- required ToolRuntime runtime,
- required McpResourceAdapter adapter,
Builds the tool that lists MCP resources through adapter.
Implementation
Tool<JsonMap, String> createListMcpResourcesTool(
Genkit ai, {
required ToolRuntime runtime,
required McpResourceAdapter adapter,
}) {
return defineTextTool(
ai,
runtime: runtime,
name: 'list_mcp_resources',
description: _description,
properties: <String, Object?>{
'server': stringProperty('Only list resources from this server.'),
},
run: (input) async {
final server = readString(input, 'server')?.trim();
runtime.startTool('list_mcp_resources', server ?? 'all servers');
final resources = await adapter.listResources(server: server == null || server.isEmpty ? null : server);
return jsonEncode(<String, Object?>{'resources': resources.map((resource) => resource.toJson()).toList()});
},
);
}