Authenticating MCPs: three ways we do it · HackerLangs