Overall, this is a $ \rightarrow $ statement; that's the last operation outside of parentheses. So for a direct proof, the last step would be $ \rightarrow $ introduction. To do $ \rightarrow $ introduction, you assume $ P $ and try to derive $ Q $; if this works, then you can conclude $ P \rightarrow Q $. So you know that you're going to assume $ p \vee ( q \wedge r ) $ and try to prove $ ( ( q \wedge r ) \rightarrow p ) \rightarrow p $.
Now, the thing that you assumed is a $ \vee $ statement, so you can use $ \vee $ elimination. So now you have two tasks: assume $ p $ and prove $ ( ( q \wedge r ) \rightarrow p ) \rightarrow p $; and assume $ q \wedge r $ and prove $ ( ( q \wedge r ) \rightarrow p ) \rightarrow p $. In the second case, you can also use $ \wedge $ elimination (although as it happens, you can skip this step in this particular problem).
Meanwhile, looking at the desired conclusion, that's another $ \rightarrow $ statement. So you're going to assume $ ( q \wedge r ) \rightarrow p $ and try to prove $ p $. Exactly how you do that will be different in the two cases, but it's what you're going to try to do. You have a new assumption here, so you can analyse it using its elimination rule (which is Modus Ponens).
In this way, you work simultaneously from the top (applying elimination rules to your assumptions) and the bottom (seeking what you need in order to apply introduction rules to get your desired conclusion). These will meet in the middle; for example, at one point in this problem, in one of the cases, you should see that you have $ p $ as an assumption and also want $ p $ as a conclusion, so those connect.
This method of direct natural proof will prove anything made of $ \wedge $, $ \vee $, and $ \rightarrow $ that's valid in so-called intuitionistic logic. But there are some tautologies of classical logic (such as $ ( ( p \rightarrow q ) \rightarrow p ) \rightarrow p $, Pierce's Law) that won't work. And even in intuitionistic logic, using negation ($ \neg $) is a little more subtle. (You mentioned Modus Tollens, but this isn't the only thing that you need for $ \neg $.)
A really systematic way to handle anything in classical propositional logic, with or without $ \neg $, is to start with $ p \vee \neg p $ for every propositional variable, and do $ \vee $ elimination on all of them, then seek a direct proof in each of $ 2 ^ n $ cases. This is effectively just making a truth table, a brute force method. So a direct proof in natural deduction isn't always possible, but when it is, it's the most elegant.