callTool method

Future<CallToolResult> callTool(
  1. String name,
  2. Map<String, dynamic> toolArguments
)

Call a tool on the server

Implementation

Future<CallToolResult> callTool(
  String name,
  Map<String, dynamic> toolArguments,
) async {
  if (!_initialized) {
    throw McpError('Client is not initialized');
  }

  if (_serverCapabilities?.tools != true) {
    throw McpError('Server does not support tools');
  }

  // Create a clean params map with properly typed values
  final Map<String, dynamic> params = {
    'name': name,
    'arguments': Map<String, dynamic>.from(toolArguments),
  };

  final response = await _sendRequest('tools/call', params);
  return CallToolResult.fromJson(response);
}