Despite JD (and hence MJD) being defined in terms of (in effect) UT, the system can be used in conjunction with other timescales such as TAI, TT and TDB (and even sidereal time through the concept of Greenwich Sidereal Date). However, it is improper to express a UTC as a JD or MJD because of leap seconds.
SLALIB has six routines for converting to and from dates in the Gregorian calendar. The routines sla_CLDJ and sla_CALDJ both convert a calendar date into an MJD, the former interpreting years between 0 and 99 as 1st century and the latter as late 20th or early 21st century. The routines sla_DJCL and sla_DJCAL both convert an MJD into calendar year, month, day and fraction of a day; the latter performs rounding to a specified precision, important to avoid dates like `94 04 01.***' appearing in messages. Some of SLALIB's low-precision ephemeris routines (sla_EARTH, sla_MOON and sla_ECOR) work in terms of year plus day-in-year (where day 1 = January 1st, at least for the modern era). This form of date can be generated by calling sla_CALYD (which defaults years 0-99 into 1950-2049) or sla_CLYD (which covers the full range from prehistoric times).
SLALIB --- Positional Astronomy Library