The objective of this paper is to present an open and modular expert rule-based system in order to automatically select cutting parameters in milling operations. The knowledge base of the system presents considerations of stability, machine drives efficiency and restrictions while adaptively controlling milling forces in suitable working points. Moreover, a novel classical cost function has been conceived and constructed to Pareto-optimise cutting parameters subjected to multi-objective purposes, namely: tool-life, surface roughness, material remove rate and stability rate parameter. Different Pareto optimal front solutions can be obtained modulating the weighting factors of the cost function. Additional rules have been added in order to manually and/or automatically modulate this cost function. Furthermore, a database which relates weighting factors, cutting conditions and cost function variables is produced for learning purposes. Chatter detection and suppression system automatically feedback to the system to take into account non-modelled disturbances. Finally, since the knowledge of the system is basically obtained from mathematical models, the possibility of combining experience and knowledge from expert engineers and operators is included. In this way, best practice from mathematical modelling and expert engineers and operators is joined in one system obtaining a full, automated system combining the best of each world. As a result, the expert rule-based system selects Pareto optimal cutting conditions for a broad range of milling processes, sorting out automatically different problems such as chatter vibrations, incorporating model reference adaptive control (MRAC) of forces. This procedure is intuitive, being executed in the same way as a human expert would do and it provides the possibility to interact with expert engineers and operators in order to take into account their experience and knowledge. Finally, the expert system is designed in modular form allowing incorporating new functionalities in rule based forms to them or just adding new modules to improve the performance of the milling system.