@@ -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