diff --git a/apps/web/components/settings/external-mcp-settings.tsx b/apps/web/components/settings/external-mcp-settings.tsx
index ae15d1c6d3..31913e6eb1 100644
--- a/apps/web/components/settings/external-mcp-settings.tsx
+++ b/apps/web/components/settings/external-mcp-settings.tsx
@@ -70,7 +70,14 @@ export function ExternalMcpSettings() {
discoveryTargetId={STANDALONE_SETTINGS_TARGETS.externalMcpEndpoints}
icon={}
title={t("settings:externalMcpEndpoints")}
- description={t("settings:externalMcpEndpointsDescription")}
+ // `localhost` is a hostname the user types, not copy. Interpolated so
+ // the pseudo-locale leaves it intact — baked into the message it renders
+ // as `ĺōćàĺĥōśţ`, a dead pointer to something the reader must reproduce
+ // verbatim. Same reasoning as `voiceUnavailableInsecure`, which already
+ // passes its scheme and host as values.
+ description={t("settings:externalMcpEndpointsDescription", {
+ localhostHost: "localhost",
+ })}
>
diff --git a/apps/web/src/locales/en/settings.json b/apps/web/src/locales/en/settings.json
index c8bb95e5f5..ba97c2870d 100644
--- a/apps/web/src/locales/en/settings.json
+++ b/apps/web/src/locales/en/settings.json
@@ -482,7 +482,7 @@
"externalMcpIntro": "Use this if you want to manage Kandev from coding agents that run <2>outside2> Kandev (e.g. Claude Code, Cursor, or Codex on your host), or from <4>passthrough agents4> running inside Kandev.",
"externalMcpIntroPassthrough": "Agents launched inside Kandev in their normal mode already have the Kandev MCP wired in automatically, no setup needed.",
"externalMcpEndpoints": "Endpoints",
- "externalMcpEndpointsDescription": "Available on the same host and port as Kandev. Use localhost for same-machine agents, or the reachable Kandev URL for LAN, VPN, and reverse-proxy clients.",
+ "externalMcpEndpointsDescription": "Available on the same host and port as Kandev. Use {{localhostHost}} for same-machine agents, or the reachable Kandev URL for LAN, VPN, and reverse-proxy clients.",
"externalMcpStreamableHttp": "Streamable HTTP",
"externalMcpStreamableHttpHint": "Recommended for Claude Code, Cursor, and Codex.",
"externalMcpSse": "Server-Sent Events (SSE)",
diff --git a/apps/web/src/locales/pseudo/settings.json b/apps/web/src/locales/pseudo/settings.json
index 6ec388526c..407da6fe28 100644
--- a/apps/web/src/locales/pseudo/settings.json
+++ b/apps/web/src/locales/pseudo/settings.json
@@ -482,7 +482,7 @@
"externalMcpIntro": "Ũśē ţĥĩś ĩƒ ŷōũ ŵàńţ ţō ḿàńàĝē Ķàńďēv ƒŕōḿ ćōďĩńĝ àĝēńţś ţĥàţ ŕũń <2>ōũţśĩďē2> Ķàńďēv (ē.ĝ. Ćĺàũďē Ćōďē, Ćũŕśōŕ, ōŕ Ćōďēx ōń ŷōũŕ ĥōśţ), ōŕ ƒŕōḿ <4>ƥàśśţĥŕōũĝĥ àĝēńţś4> ŕũńńĩńĝ ĩńśĩďē Ķàńďēv.",
"externalMcpIntroPassthrough": "Àĝēńţś ĺàũńćĥēď ĩńśĩďē Ķàńďēv ĩń ţĥēĩŕ ńōŕḿàĺ ḿōďē àĺŕēàďŷ ĥàvē ţĥē Ķàńďēv ḾĆƤ ŵĩŕēď ĩń àũţōḿàţĩćàĺĺŷ, ńō śēţũƥ ńēēďēď.",
"externalMcpEndpoints": "Ēńďƥōĩńţś",
- "externalMcpEndpointsDescription": "Àvàĩĺàƀĺē ōń ţĥē śàḿē ĥōśţ àńď ƥōŕţ àś Ķàńďēv. Ũśē ĺōćàĺĥōśţ ƒōŕ śàḿē-ḿàćĥĩńē àĝēńţś, ōŕ ţĥē ŕēàćĥàƀĺē Ķàńďēv ŨŔĹ ƒōŕ ĹÀŃ, VƤŃ, àńď ŕēvēŕśē-ƥŕōxŷ ćĺĩēńţś.",
+ "externalMcpEndpointsDescription": "Àvàĩĺàƀĺē ōń ţĥē śàḿē ĥōśţ àńď ƥōŕţ àś Ķàńďēv. Ũśē {{localhostHost}} ƒōŕ śàḿē-ḿàćĥĩńē àĝēńţś, ōŕ ţĥē ŕēàćĥàƀĺē Ķàńďēv ŨŔĹ ƒōŕ ĹÀŃ, VƤŃ, àńď ŕēvēŕśē-ƥŕōxŷ ćĺĩēńţś.",
"externalMcpStreamableHttp": "Śţŕēàḿàƀĺē ĤŢŢƤ",
"externalMcpStreamableHttpHint": "Ŕēćōḿḿēńďēď ƒōŕ Ćĺàũďē Ćōďē, Ćũŕśōŕ, àńď Ćōďēx.",
"externalMcpSse": "Śēŕvēŕ-Śēńţ Ēvēńţś (ŚŚĒ)",