An IDL is an interface definition language (Wikipedia article). A well-known one is CORBA. These are DSLs.
An IDL compiler takes a specification and generates stub code that hides the transport details, and by this implements a RPC system.
In the case of Mach's MIG, this hides the marshalling and unmarshalling of procedures' parameters to and from message format, according to Mach's semantics, and invoking the respective port operations.