In a distributed storage systems (DSS) with k systematic nodes, robustness against node failure is commonly provided by storing redundancy in a number of other nodes and performing repair mechanism to reproduce the content of the failed nodes. Efficiency is then achieved by minimizing the storage overhead and the amount of data transmission required for data reconstruction and repair, provided by coding solutions such as regenerating codes [1]. Common explicit regenerating code constructions enable efficient repair through accessing a predefined number, d, of arbitrary chosen available nodes, namely helpers. In practice, however, the state of the system dynamically changes based on the request load, the link traffic, etc., and the parameters which optimize system's performance vary accordingly. It is then desirable to have coding schemes which are able to operate optimally under a range of different parameters simultaneously. Specifically, adaptivity in the number of helper nodes for repair is of interest. While robustness requires capability of performing repair with small number of helpers, it is desirable to use as many helpers as available to reduce the transmission delay and total repair traffic.In this work we focus on the minimum storage regenerating (MSR) codes, where each of the n nodes in the network is supposed to store α information units, and the source data of size kα could be recovered from any arbitrary set of k nodes. We introduce a class of MSR codes that realize optimal repair bandwidth simultaneously with a set of different choices for the number of helpers, namely D = {d1, · · · , d δ }. Our coding scheme follows the Product Matrix (PM) framework introduced in [2], and could be considered as a generalization of the PM MSR code presented in [2], such that any di = (i + 1)(k − 1) helpers can perform an optimal repair. As a result, the coding rate in our construction is limited by k n ≤ 1 2 . However, similar to the original design of PM MSR codes, our solution can realize practical values of the parameter α. Recently [3] has presented another explicit MSR coding scheme which is capable of performing optimal repair for various number of helpers. The solution presented in [3] works for any arbitrary set of parameters k, D and can achieve high coding rates, but the required α for this code is exponentially large. We show that the required value for α in the coding scheme presented in this work is exponentially smaller when compared to [3] for the same set of other parameters. Particularly, for a DSS with n nodes, and k systematic nodes, the required value for α is reduced from s n to sk, where s = lcm (d1 − k + 1, · · · , d δ − k + 1). We also show the required field size in the presented coding scheme is equal to n 1 .