Migraines are classified as a neurological disorder defined by recurrent headaches with pain that ranges from mild to severe. Currently, this disorder lacks a permanent cure and definitive diagnostic test. Diagnosis instead requires an assessment of physical and psychological symptoms which differ among patients. To help in the diagnosis process, medical expert systems have been developed and validated since 1960. In this paper, we propose the Migraine Diagnosis and Treatment Expert System (MDATES), a medical expert system for migraine diagnosis and treatment recommendation. The system was designed and implemented using the C Language Integrated Production System (CLIPS) shell. MDATES is able to recognize seven symptoms, two classes of migraines (chronic and episodic), and four subtypes of migraine-classification knowledge (hormonal, aura, hemiplegic, and cluster). A dataset of 300 anonymized patient records with confirmed migraine cases was used to test the system. The diagnoses generated by MDATES were compared against the known diagnoses, and a high level of accuracy was observed, with 67% of the 100 training cases were correctly diagnosed, and 100% of the 200 testing cases were correctly diagnosed. These results highlight the effectiveness and reliability of MDATES and provide valuable assistance to medical professionals in diagnosing migraines. Moreover, we present a literature review that places our proposed system within the broader context of rule-based expert systems for migraine diagnosis and treatment recommendation. This review explores the effectiveness, limitations, and challenges of these systems, and accurately places our system within the current landscape.