A tool, MIDES, for automatic learning of models and supervisors for discrete event systems is presented. The tool interfaces with a simulation of the target system to learn a behavioral model through interaction. There are several different algorithms to choose from depending on the intended outcome. Moreover, given a set of specifications, the tool learns a supervisor that can help ensure the controlled system guarantees the specifications. Furthermore, the state-space explosion problem is addressed by learning a modular supervisor. In this paper, we introduce the tool, its interfaces, and algorithms. We demonstrate the usefulness through several case studies.