Developing efficient routing protocols for mobile ad hoc networks remains a challenging task. It is well known that every protocol is capable of outperforming the others depending on the network context under which it is evaluated, since protocols only perform optimally under specific network contains due to their inability to adapt their behavior to the network context, which both varies in time and place. This article builds upon this observation to motivate and propose an adaptive multi-mode routing framework that has multiple compatible modes of operation. Based on this framework, an adaptive protocol has been implemented with the novel feature that individual nodes can adapt their mode of operation at any moment, while an overall consistent state of the routing tables is maintained. Through simulation, the correct behavior of the protocol during mode switches is demonstrated and it is shown that the protocol is capable of minimally offering the performance of either proactive or reactive routing, Its capabilities to dynamically switch, when intelligently applied, allow outperforming these protocols. This is illustrated for one specific application scenario where network conditions are dynamically monitored. Further, the article discusses some challenges encountered during the design and, since no monitoring solution has been developed, identifies existing solutions for monitoring and dissemination of network context are identified, offering directions for further research.