createReadMcpResourceTool function
Tool<JsonMap, String>
createReadMcpResourceTool(
- Genkit ai, {
- required ToolRuntime runtime,
- required McpResourceAdapter adapter,
Builds the tool that reads an MCP resource through adapter.
Implementation
Tool<JsonMap, String> createReadMcpResourceTool(
Genkit ai, {
required ToolRuntime runtime,
required McpResourceAdapter adapter,
}) {
return defineTextTool(
ai,
runtime: runtime,
name: 'read_mcp_resource',
description: _description,
properties: <String, Object?>{
'server': stringProperty('The MCP server name.'),
'uri': stringProperty('The resource URI.'),
},
required: <String>['server', 'uri'],
run: (input) async {
final server = requireString(input, 'server').trim();
final uri = requireString(input, 'uri').trim();
runtime.startTool('read_mcp_resource', '$uri from $server');
final resource = await adapter.readResource(server: server, uri: uri);
return jsonEncode(<String, Object?>{'resource': resource.toJson()});
},
);
}