\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
vardef do_brace(expr a, b, offset, r) =
 save d, e, m, n, brace, hook; pair e; path brace, hook[];
 d = angle(b-a);
 e = up scaled offset rotated d shifted r[a,b];
 n = 1/2 offset; m = abs(n);
 hook1 =                         origin {0, n} .. (m, n) {1,0};
 hook2 = (-m,-n) {1,0} .. {0, n} origin {0,-n} .. (m,-n) {1,0};
 hook3 = (-m, n) {1,0} .. {0,-n} origin;
 brace = (hook1 rotated d shifted a --
          hook2 rotated d shifted e --
          hook3 rotated d shifted b) shifted (up scaled n rotated d);
 draw brace withpen pencircle yscaled .6 xscaled .1666 rotated d;
 point 3 of brace
enddef;

beginfig(1);
z1 = origin;
z2 = 180 right rotated 13;
draw z1--z2 withcolor .7 white;
dotlabel.llft("$z_1$",z1);
dotlabel.urt("$z_2$",z2);
drawoptions(withcolor 2/3 red);
label.lrt("Here", do_brace(z1, z2, -12, 3/4));
drawoptions();
begingroup; interim ahangle := 180; interim ahlength := 3;
drawdblarrow (z1--z2) shifted (12 up rotated angle (z2-z1)) withcolor 2/3 blue;
endgroup;


endfig;
\end{mplibcode}
\end{document}