mu server ¶mu4e is based on the mu e-mail searching/indexer. The latter
is a C++-program; there are different ways to communicate with a
client that is emacs-based.
One way to implement this, would be to call the mu command-line
tool with some parameters and then parse the output. In fact, that was
the first approach — mu4e would invoke e.g., mu find and
process the output in Emacs.
However, with this approach, we need to load the entire e-mail Xapian
database (in which the message is stored) for each invocation. Wouldn’t it be
nicer to keep a running mu instance around? Indeed, it would — and
thus, the mu server sub-command was born. Running mu server starts
a simple shell, in which you can give commands to mu, which then spits
out the results/errors. mu server is not meant for humans, but it can
be used manually, which is great for debugging.