Computer-implemented methods and systems for dynamic configuration and control of multi-function peripherals. A method comprises exposing a unified application programming interface (API) for operating a plurality of MFPs, receiving a first set of instructions from an application according to the API, the instructions directed to a first MFP; receiving a second set of instructions from the application according to the API, the instructions directed to a second MFP; translating the first set of instructions according to the native set of instruction of the first MFP, and sending the translated instructions to the first MFP; translating the second set of instructions according to the native set of instructions of the second MFP, and sending the translated instruction to the second MFP; thereby allowing the application to communicate with the first and second MFPs according to a unified API. The embodiments also allow for dynamic device discovery, and for matching advertised device capabilities to requests, among other things.