I am working on a tool to model wave energy converters, where I need to couple two software packages to each other. One program is written in Fortran, the other one in C++.
I would not use MPI for that purpose (unless parallel execution of the code is explicitly required). If your goal is to connect routines written in Fortran, C++ and Python then I suggest writing the (main) connecting part in Python while creating adaptors for your Fortran and C++ routines in order to import them in Python. Then you can manage all function calls in the main Python program and send data around as you wish.
Check out the following links:
f2py
now ships with numpy
allowing you to compile Fortran source code to Python byte code.