This paper describes the Multicast Shared Tree Protocol MSTP that has been designed to support the delivery of multicast packets in a mobile ad hoc network. MSTP uses a shared tree as its basic multicast infrastructure and, to maintain the tree against topology changes and network failures, it adopts the so called hybrid-state reliability mechanism, which combines the use of soft and hard state mechanisms applied to an on-demand scheme. It ensures fault tolerance and high group connectivity despite mobility, and provides a light-weight tree maintenance procedure.