@@ -29,6 +29,7 @@ export const MCP_IDS = {
2929 EDIT : 'edit-mcp' ,
3030 SAVE : 'save-mcp' ,
3131 CANCEL : 'cancel-mcp' ,
32+ CHANGE_TRANSPORT : 'change-transport' ,
3233
3334 // Permission actions
3435 PERMISSION_CHANGE : 'mcp-permission-change' ,
@@ -448,12 +449,25 @@ export class McpMynahUi {
448449 const typedParams = params as McpServerParams
449450 if ( params . id === MCP_IDS . ADD_NEW || params . id === MCP_IDS . EDIT || params . id === MCP_IDS . FIX_SERVER ) {
450451 this . mynahUi . toggleSplashLoader ( false )
452+
453+ const uiFilters = ( typedParams . filterOptions ?? [ ] ) as McpFilterOption [ ]
454+ const initial = uiFilters . find ( f => f . id === 'transport' )
455+ let _lastTransport = initial ?. value as unknown as string
456+
451457 const detailedList = this . createAddMcpServerDetailedList ( typedParams )
452458
453459 const events = {
454460 onBackClick : ( ) => {
455461 this . messager . onListMcpServers ( )
456462 } ,
463+ onFilterValueChange : ( filterValues : Record < string , any > ) => {
464+ const newTransport = filterValues . transport
465+ // only fire when transport actually changes
466+ if ( newTransport !== _lastTransport ) {
467+ _lastTransport = newTransport
468+ this . messager . onMcpServerClick ( MCP_IDS . CHANGE_TRANSPORT , filterValues . name , filterValues )
469+ }
470+ } ,
457471 onFilterActionClick : (
458472 actionParams : McpServerClickResult ,
459473 filterValues ?: Record < string , string > ,
0 commit comments