diff --git a/src/praisonai-desktop/frontend/src/settings-registry.js b/src/praisonai-desktop/frontend/src/settings-registry.js index 1db762d72..4c1c51fe5 100644 --- a/src/praisonai-desktop/frontend/src/settings-registry.js +++ b/src/praisonai-desktop/frontend/src/settings-registry.js @@ -191,7 +191,7 @@ const SETTINGS = [ // ---- Integrations ------------------------------------------------------- { key: "mcp_servers", section: "integrations", label: "MCP servers", - description: "Tool servers launched over stdio. Each is disabled until you enable it.", + description: "Saved for a future release. Servers listed here are stored only \u2014 the engine does not launch them yet, so the model cannot use them.", keywords: ["tools", "model context protocol", "stdio", "extensions"], control: { kind: "action", verb: "Manage" }, action: "mcp" }, ]; diff --git a/src/praisonai-desktop/frontend/tests/registry-drift.test.mjs b/src/praisonai-desktop/frontend/tests/registry-drift.test.mjs index 7fdcdf857..43bc7c726 100644 --- a/src/praisonai-desktop/frontend/tests/registry-drift.test.mjs +++ b/src/praisonai-desktop/frontend/tests/registry-drift.test.mjs @@ -20,6 +20,20 @@ test('the registry copies are in sync with ui/index.html', () => { execFileSync(process.execPath, [TOOL, '--check'], { stdio: 'pipe' }); }); +test('the mcp hint does not claim a launch the engine never performs', () => { + // engine/server.py load_mcp() is read only by GET/POST /mcp; _get_agent + // builds Agent(tools=_builtin_tools()) and never spawns a server. A hint + // that says the servers are "launched" is a claim with no consumer. + const html = readFileSync(HTML, 'utf8'); + const m = html.match(/key: "mcp_servers"[\s\S]*?description: "([^"]*)"/); + assert.ok(m, 'mcp_servers setting not found'); + const hint = m[1]; + assert.ok(!/launched over stdio/.test(hint), + 'mcp hint still claims servers are launched, but the engine never launches them'); + assert.ok(/stored only|does not launch/.test(hint), + 'mcp hint should state the servers are stored only'); +}); + test('every setting names a section that exists', () => { // A setting whose section has no tab is rendered by nothing -- the same // silent-nothing shape as a setting that is stored and never read. diff --git a/src/praisonai-desktop/ui/index.html b/src/praisonai-desktop/ui/index.html index 9e67f1c62..03a98c174 100644 --- a/src/praisonai-desktop/ui/index.html +++ b/src/praisonai-desktop/ui/index.html @@ -817,7 +817,7 @@

Fine-tune a model

// ---- Integrations ------------------------------------------------------- { key: "mcp_servers", section: "integrations", label: "MCP servers", - description: "Tool servers launched over stdio. Each is disabled until you enable it.", + description: "Saved for a future release. Servers listed here are stored only \u2014 the engine does not launch them yet, so the model cannot use them.", keywords: ["tools", "model context protocol", "stdio", "extensions"], control: { kind: "action", verb: "Manage" }, action: "mcp" }, ]; @@ -1922,7 +1922,9 @@

Fine-tune a model

toast(u.message || ('PraisonAI Desktop '+u.current)); } else if(def.action==='mcp'){ const {servers}=await (await fetch('http://127.0.0.1:'+PORT+'/mcp')).json(); - panel.innerHTML='

MCP servers

' + panel.innerHTML='

MCP servers

' + +'
Stored for a future release. The engine does not launch these yet, so the model cannot use them.
' + +'
' +'
' +'
' +'
'; diff --git a/src/praisonai-desktop/ui/settings-registry.js b/src/praisonai-desktop/ui/settings-registry.js index 1db762d72..4c1c51fe5 100644 --- a/src/praisonai-desktop/ui/settings-registry.js +++ b/src/praisonai-desktop/ui/settings-registry.js @@ -191,7 +191,7 @@ const SETTINGS = [ // ---- Integrations ------------------------------------------------------- { key: "mcp_servers", section: "integrations", label: "MCP servers", - description: "Tool servers launched over stdio. Each is disabled until you enable it.", + description: "Saved for a future release. Servers listed here are stored only \u2014 the engine does not launch them yet, so the model cannot use them.", keywords: ["tools", "model context protocol", "stdio", "extensions"], control: { kind: "action", verb: "Manage" }, action: "mcp" }, ];