How do you interface with your hardware? MPF supports a lot of platforms and you can add your own by implementing the platform interface (in python). Alternatively, you could implement the Backbox Control Protocol (BCP) and only use MPF-MC (MPF media controller). Bother ways are possible. The former is probably easier and more flexible. Here is a short overview over the architecture: http://docs.missionpinball.org/en/dev/displays/mc/index.html of MPF and MPF-MC. You can find a simple platform implementation here (for the RPi): https://github.com/missionpinball/mpf/blob/dev/mpf/platforms/rpi/rpi.py. If you want to maintain it separately from MPF we also support external platforms in another module: https://github.com/missionpinball/mpf-demo-platform.
Jan