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.