The availability of small, low-cost, battery operated devices capable of sensing, performing simple processing and transmitting data via wireless communications have the potential to revolutionize traditional monitoring applications. Wireless networks composed of autonomous sensor nodes enable ubiquitous monitoring tasks from environmental control of office buildings to the detection of forest fires. Recently, new applications for wireless sensor networks such as healthcare and multimedia applications have emerged. These applications often have heterogeneous sensing capabilities and require that the network supports different types of QoS-constrained traffic at variable rates. However, designing efficient protocols that provide an appropriate level of performance to these applications while coping with the limited resources of sensor networks is a challenging task. In this thesis, we focus on QoS provisioning at the MAC layer. Since this layer is responsible for the organization of channel access, it determines to a large extent the overall performance of the network. We start by studying the specific requirements of demanding and heterogeneous applications, then we discuss related work of the literature. Given the inadequacy of existing solutions in the presence of important traffic loads, we propose AMPH, an adaptive MAC protocol with QoS support for heterogeneous wireless sensor networks. Our solution is a hybrid channelaccess method based on time division where all nodes may contend to access the channel at each time slot using a new contention mechanism which favors high priority traffic. Through these efficient techniques, AMPH achieves high channel utilization under variable traffic loads and provides low latency to real-time traffic. We verify the efficiency of AMPH through simulation experiments and a mathematical analysis.