@@ -877,6 +877,121 @@ <h4 class="text-center" style="color: black !important">
877877 </ ng-container >
878878 </ ng-container >
879879 </ ng-container >
880+
881+ <!-- MCP Available Services & Tools -->
882+ < ng-container *ngIf ="isMcp && edit ">
883+ < mat-accordion class ="full-width ">
884+ < mat-expansion-panel [expanded] ="true ">
885+ < mat-expansion-panel-header > MCP Tools </ mat-expansion-panel-header >
886+ < div class ="details-section " *ngIf ="!mcpServicesLoaded ">
887+ < p > Loading services...</ p >
888+ </ div >
889+ < div
890+ class ="details-section "
891+ *ngIf ="
892+ mcpServicesLoaded &&
893+ mcpServices.length === 0 &&
894+ mcpGlobalTools.length === 0
895+ ">
896+ < p > No database or file services found.</ p >
897+ </ div >
898+ < div *ngIf ="mcpServicesLoaded " class ="mcp-tools-container ">
899+ < mat-accordion multi >
900+ <!-- Global (cross-service) tools -->
901+ < mat-expansion-panel >
902+ < mat-expansion-panel-header >
903+ < mat-panel-title class ="mcp-service-header ">
904+ < mat-slide-toggle
905+ color ="primary "
906+ [checked] ="isAllGlobalToolsEnabled() "
907+ (change) ="toggleAllGlobalTools($event.checked) "
908+ (click) ="$event.stopPropagation() ">
909+ </ mat-slide-toggle >
910+ < span > Global Tools</ span >
911+ </ mat-panel-title >
912+ < mat-panel-description >
913+ Cross-service · {{ mcpGlobalTools.length }} tools
914+ </ mat-panel-description >
915+ </ mat-expansion-panel-header >
916+ < table class ="mcp-services-table full-width ">
917+ < thead >
918+ < tr >
919+ < th class ="toggle-col "> </ th >
920+ < th > Tool Name</ th >
921+ < th > Description</ th >
922+ </ tr >
923+ </ thead >
924+ < tbody >
925+ < tr
926+ *ngFor ="let tool of mcpGlobalTools "
927+ [class.disabled-row] ="!isToolEnabled(tool.name) ">
928+ < td class ="toggle-col ">
929+ < mat-slide-toggle
930+ color ="primary "
931+ [checked] ="isToolEnabled(tool.name) "
932+ (change) ="toggleTool(tool.name, $event.checked) ">
933+ </ mat-slide-toggle >
934+ </ td >
935+ < td >
936+ < code > {{ tool.name }}</ code >
937+ </ td >
938+ < td > {{ tool.description }}</ td >
939+ </ tr >
940+ </ tbody >
941+ </ table >
942+ </ mat-expansion-panel >
943+
944+ <!-- Per-service tools -->
945+ < mat-expansion-panel
946+ *ngFor ="let svc of mcpServices "
947+ [expanded] ="svc.expanded ">
948+ < mat-expansion-panel-header >
949+ < mat-panel-title class ="mcp-service-header ">
950+ < mat-slide-toggle
951+ color ="primary "
952+ [checked] ="isServiceEnabled(svc) "
953+ (change) ="toggleService(svc, $event.checked) "
954+ (click) ="$event.stopPropagation() ">
955+ </ mat-slide-toggle >
956+ < span > {{ svc.label }}</ span >
957+ </ mat-panel-title >
958+ < mat-panel-description >
959+ {{ svc.category }} · {{ svc.tools.length }} tools
960+ </ mat-panel-description >
961+ </ mat-expansion-panel-header >
962+ < table class ="mcp-services-table full-width ">
963+ < thead >
964+ < tr >
965+ < th class ="toggle-col "> </ th >
966+ < th > Tool Name</ th >
967+ < th > Description</ th >
968+ </ tr >
969+ </ thead >
970+ < tbody >
971+ < tr
972+ *ngFor ="let tool of svc.tools "
973+ [class.disabled-row] ="!isToolEnabled(tool.name) ">
974+ < td class ="toggle-col ">
975+ < mat-slide-toggle
976+ color ="primary "
977+ [checked] ="isToolEnabled(tool.name) "
978+ (change) ="toggleTool(tool.name, $event.checked) ">
979+ </ mat-slide-toggle >
980+ </ td >
981+ < td >
982+ < code > {{ tool.name }}</ code >
983+ </ td >
984+ < td > {{ tool.description }}</ td >
985+ </ tr >
986+ </ tbody >
987+ </ table >
988+ </ mat-expansion-panel >
989+ </ mat-accordion >
990+ </ div >
991+ </ mat-expansion-panel >
992+ </ mat-accordion >
993+ </ ng-container >
994+
880995 < div class ="full-width action-bar " *ngIf ="!subscriptionRequired ">
881996 < button
882997 mat-flat-button
0 commit comments