From bf08f5bfdf68810b8cc4208a40790c7b0be1c789 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sat, 22 Aug 2026 08:15:41 +0000 Subject: [PATCH] fix(mcp): rename the ngrok authtoken prompt for clarity The ngrok install prompt was labeled "ngrok authtoken / MCP tunnel token", which read as if it were the endpoint's shared auth token (the MCP password) when it is actually the ngrok account token for the public tunnel. Rename it to "ngrok authtoken (account token from your ngrok dashboard)" so the two are not conflated. --- internal/mcp/services/service_install_configurers.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/mcp/services/service_install_configurers.go b/internal/mcp/services/service_install_configurers.go index 7a622e8b..54d053b9 100644 --- a/internal/mcp/services/service_install_configurers.go +++ b/internal/mcp/services/service_install_configurers.go @@ -143,7 +143,7 @@ func cloudflaredFinalize(_ context.Context, _ fieldform.Prompter, s *ServiceInst } // ngrokFields returns the promptable install fields for the ngrok provider: -// the authtoken / MCP tunnel token and the public base URL (MCP_PUBLIC_URL). +// the authtoken and the public base URL (MCP_PUBLIC_URL). // Both resolve through a Derived hook so a re-run reuses what is already // available (the config-manager store, the ngrok CLI config, the account API) // instead of re-prompting, matching the legacy ngrokConfigurer it replaces. @@ -158,7 +158,7 @@ func cloudflaredFinalize(_ context.Context, _ fieldform.Prompter, s *ServiceInst // URL field is resolved. func ngrokFields(ctx context.Context, cfgMgr config.Manager) []fieldform.Field[*ServiceInstallState, string] { token := *installFieldByName("TunnelToken") - token.Prompt = promptText("ngrok authtoken / MCP tunnel token", "*") + token.Prompt = promptText("ngrok authtoken (account token from your ngrok dashboard)", "*") token.Derived = func(s *ServiceInstallState) (string, bool) { if s.TunnelToken != "" { return s.TunnelToken, true