The Mayall 4-meter telescope recently went through a major modernization of its telescope control system in preparation for DESI. We describe MPK (Mayall Pointing Kernel), our new software for telescope control. MPK outputs a 20Hz position-based trajectory with a velocity component, which feeds into Mayall’s new servo system over a socket. We wrote a simple yet realistic servo simulator that let us develop MPK mostly without access to real hardware, and also lets us provide other teams with a Mayall simulator as test bed for development of new instruments. MPK has a small core comprised of prioritized, soft real-time threads. Access to the core’s services is via MPK’s main thread, a complete, interactive Tcl/Tk shell, which gives us the power and flexibility of a scripting language to add any other features, from GUIs, to modules for interaction with critical subsystems like dome or guider, to an API for networked clients of a new instrument (e.g., DESI). MPK is designed for long term maintainability: it runs on a stock computer and Linux OS, and uses only standard, open source libraries, except for commercial software that comes with source code in ANSI C/C++. We discuss the technical details of how MPK combines the Reflexxes motion library with the TCSpk/TPK pointing library to generically handle any motion requests, from slews to offsets to sidereal or non-sidereal tracking. We show how MPK calculates when the servos have reached a steady state. We also discuss our TPOINT modeling strategy and report performance results.