prefix . 'acrossai_mcp_servers'; $tools = $wpdb->prefix . 'acrossai_mcp_server_tools'; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- One-shot upgrade path; no cache layer spans two plugin tables. $ids = $wpdb->get_col( $wpdb->prepare( 'SELECT s.id FROM %i AS s WHERE s.server_type = %s AND NOT EXISTS ( SELECT 1 FROM %i AS t WHERE t.server_id = s.id AND t.ability_slug = %s )', $servers, ServerTypes::LEGACY, $tools, ServerGuide::SLUG ) ); return array_map( 'intval', (array) $ids ); } }