I was thinking about bringing this up few months ago. It’s the link given by Discourse AI when silencing users, but I don’t think it’s a bug . The text can be changed here:
request_failed: "The MCP server request failed with status %{status}."
session_expired: "The MCP session expired."
timeout: "The MCP server request timed out."
oauth_authorization_required: "OAuth authorization is required before this MCP server can be used. Connect it to %{issuer} from the admin UI."
oauth_discovery_failed: "Unable to discover OAuth authorization details for this MCP server."
oauth_discovery_failed_with_status: "OAuth discovery failed with status %{status}."
oauth_not_configured: "OAuth is not configured for this MCP server."
oauth_refresh_token_missing: "The OAuth refresh token is missing. Reconnect this MCP server."
oauth_save_before_connect: "Save the MCP server before testing the OAuth connection."
oauth_state_invalid: "The OAuth authorization state is invalid or has expired. Start the connection again."
oauth_token_exchange_failed: "The OAuth token exchange failed with status %{status}."
oauth_https_required: "OAuth requires your site to be served over HTTPS."
oauth_callback_failed: "OAuth connection failed: %{message}"
oauth_refresh_token_required: "The OAuth authorization server did not return a refresh token. Adjust the advanced OAuth options and reconnect this MCP server."
oauth_client_metadata_public_https_required: "Client metadata document registration requires a public HTTPS site URL. Current client metadata URL: %{url}"
oauth_registration_endpoint_missing: "The OAuth authorization server does not advertise a registration endpoint."
oauth_manual_client_registration_required: "The OAuth authorization server %{issuer} does not advertise dynamic client registration. Switch this MCP server to Manual client credentials and provide a registered OAuth client ID."
oauth_client_secret_required: "The OAuth authorization server %{issuer} requires token endpoint client authentication (%{methods}). Configure manual client credentials with a client secret."
oauth_token_endpoint_auth_method_unsupported: "The OAuth authorization server %{issuer} only advertises unsupported token endpoint client authentication methods (%{methods}). This MCP server currently supports none, client_secret_basic, and client_secret_post."
oauth_client_registration_failed: "Dynamic client registration failed with status %{status}."
oauth_client_registration_failed_no_id: "Dynamic client registration succeeded but no client_id was returned."
if user.registration_ip_address.present?
info = DiscourseIpInfo.get(user.registration_ip_address, resolve_hostname: true)
registration = "#{info[:location]} (#{info[:organization]})" if info &&
info[:location].present?
end
rval = nil
if registration || last
rval = { registration: registration } if registration
if last && last != registration
rval ||= {}
rval[:last] = last
end
end
rval
rescue => e
Discourse.warn_exception(e, message: "Failed to lookup location info")
nil
end