If you decided to research the MRP algorithm, I'd advice you to deal with GJK first. However I'm not sure, that the MRP is what you are looking for. The main idea of these two algorithms is very close, more over MRP does not provide information about contact point either. It should be mentioned that in contrast with GJK, MRP does not give the shortest distance between separated shapes
I'd never worked with MRP, but it is said, that in comparison with GJK, MRP is simpler and more numerically robust.
Once you understand the GJK, this article will be enough to understand MRP.
I'm not sure, but I think that it is possible to make MRP incremental. In case of GJK, for example, you can cache the simplex from the last iteration and use it in next step, thus it would take less iterations. Perhaps, it may be possible to cache a portal.
To get the set of contact point, you have to use other algorithms. SAT can be extended to get the contact set.
You should take into account the fact, that the number of real intersections would be much less than the number of intersection tests. Thus it is likely that the pair of GJK algorithm and something simple to process intersecting polygons would be rather effective. If you have a pair of intersecting polygons, i.e. you can just do an edge to edge clip of each polygon against the other.