Isn't basically just setting the likelihood and sampling x-values?
Let's define f[x]
f[x_] := Exp[-x^3] - Tan[x] + 800;
(Just Solve for comparing with monte-carlo)
NMinimize[{Abs[f[x]], 0 <= x <= Pi/2}, x]
{7.34717*10^-6, {x -> 1.56955}}
Think Distribution of $y=f[x]$.
Delta Method can be used.
joint[x_, y_, sigma_] :=
PDF[NormalDistribution[f[x], Evaluate@D[f[x], x]*sigma], y];
because here we have $y=0(f[x]=0)$,we can obtain the likelihood $L[x]$
L[x_?NumericQ, sigma_?NumericQ] := Evaluate@joint[x, 0, sigma];
Let's sampling x-values with mathematica-mcmc
Import["https://raw.githubusercontent.com/joshburkart/mathematica-\
mcmc/master/mcmc.m"]
SeedRandom[1234];
mcmc = MCMC[
L[x, sigma], {{x, 0.01, 0.01, Range[0, Pi/2, 0.01]}, {sigma, 100,
100, Range[100, 100000, 100]}}, 10000000]
obtain distribution of x-values
dst = mcmc["ParameterRun"][[;; , 1]] // SmoothKernelDistribution;
Plot[{Evaluate@PDF[dst, x]}, {x, 0, 2}]

MAP estimating
Last@NMaximize[Evaluate@PDF[dst, x], x]
{x -> 1.10409}
FindRoot
with randomly chosen starting points. You might describe that as Monte Carlo. $\endgroup$