Hello Sourena;
MPI (Multi-point Interface) is Siemens' proprietary network used both for programming the PLCs of the S7-300/400 series and as the backplane communications network for the same PLCs. It is a proprietary protocol using RS-485 standards (actually it is a subset of Profibus). Every partner on the programming network or on the backplane ("Intelligent" modules such as communication processors and function modules) requires a unique MPI address (up to 31 addresses allowed, plus the programming device)so that exchanges can be supported.
MPI addresses are setup in the Hardware Configuration editor of Step 7, both for the CPU and the intelligent modules. As soon as you select a module taht requires a MPI address to insert it in your project, the next available adrress is attributed; you can also select any available address. The addresses are part of the project and downloaded to the modules as such.
You can get an online list of the used CPU MPI addresses on the Available Partners menu (online), and on the Hardware Configuration (Online) view.
If you are asking for a way to fing out the MPI addresses used in a project through programming, I don't know of one. Maybe someone else can help yopu out further.
Hope this helps,
Daniel Chartier