This document introduces mlr-grep, a tool for extracting entire multi-line records from files that contain a search pattern. It summarizes the motivations for such a tool and limitations of typical tools like grep, pcregrep and awk. It then describes the implementations of mlr-grep in AWK, Haskell and Python and their features, such as supporting boolean operators and timestamps for grouping log entries. The document provides examples of using mlr-grep and notes its capabilities like changing the record separator.