Skip to content

Commit 605e0db

Browse files
Fix MCP servers fingerprint array normalization (#585)
Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Christopher Speller <crspeller@users.noreply.github.com>
1 parent 1128801 commit 605e0db

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

webapp/src/components/system_console/mcp_servers.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,10 +348,11 @@ const MCPServers = ({mcpConfig, onChange}: Props) => {
348348
const [activeTab, setActiveTab] = useState<'config' | 'tools'>('config');
349349
const [preloadedToolsData, setPreloadedToolsData] = useState<MCPToolsResponse | null>(null);
350350
const [idleTimeoutInputValue, setIdleTimeoutInputValue] = useState<string>(() => getIdleTimeoutInputValue(mcpConfig?.idleTimeoutMinutes));
351+
const normalizedServers = Array.isArray(mcpConfig?.servers) ? mcpConfig.servers : [];
351352

352353
// Tool-affecting config fingerprint (must be declared before prefetch effect)
353354
const configFingerprint = JSON.stringify({
354-
servers: (mcpConfig?.servers || []).map((s) => ({url: s.baseURL, enabled: s.enabled})),
355+
servers: normalizedServers.map((s) => ({url: s.baseURL, enabled: s.enabled})),
355356
embeddedEnabled: mcpConfig?.embeddedServer?.enabled,
356357
enablePluginServer: mcpConfig?.enablePluginServer,
357358
});
@@ -408,7 +409,7 @@ const MCPServers = ({mcpConfig, onChange}: Props) => {
408409
const config: MCPConfig = {
409410
enabled: mcpConfig?.enabled || false,
410411
enablePluginServer: mcpConfig?.enablePluginServer ?? false,
411-
servers: Array.isArray(mcpConfig?.servers) ? mcpConfig.servers : [],
412+
servers: normalizedServers,
412413
embeddedServer: mcpConfig?.embeddedServer || {
413414
enabled: !mcpConfig?.enabled,
414415
},

0 commit comments

Comments
 (0)