As summoned by Rob Latham...
MPI won't guarantee that you can still communicate with other processes after a failure, but there has been non-standard work to try to enable that usage model.
User Level Failure Mitigation is one way that lets you detect failures and continue executing. The site linked has some examples and use cases along with the full spec for ULFM. You might not need everything that it provides if all you want is to detect failures and continue. You can download the branch of Open MPI at that website or you can use the released versions of MPICH. For either one, use the MPIX_
prefix for the new functions.
All that being said, as Jonathan Dursi mentioned in the comment above, MPI may not be right for you if you're looking for a client/server model. Yes, it's possible, but it's not really optimized for that use case and you might have better luck using a different communication mechanism.