\documentclass{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
path C; pair p;
C = fullcircle scaled 100;
p = 189 right rotated 30;
pair o, m, t, t'; o = center C; m = 1/2[o, p];
t = C intersectionpoint halfcircle zscaled (p-o) shifted m;
t' = C intersectionpoint halfcircle zscaled (o-p) shifted m;
drawoptions(dashed withdots scaled 1/4 withcolor (.2, .2, .7));
draw fullcircle zscaled p shifted 1/2 p;
draw t -- center C -- p;
drawoptions(withcolor (.2, .2, .7));
dotlabel.lrt("$m$", 1/2 p);
dotlabel.llft("$o$", center C);
drawoptions(dashed evenly);
draw t -- p -- t';
drawoptions();
draw C; label.llft("$C$", point 5 of C);
dotlabel.urt("$p$", p);
dotlabel.ulft("$t$", t);
dotlabel.bot("\strut $t'$", t');