Mobile agents can play a critical role in enabling dynamic applications on mobile phones. They can carry executable code, making possible effortless downloading of new capabilities and services to mobile phones. When combined with services that support context awareness, user customization, and sensitivity to the mobile phone environment, mobile agents can be used to provide the basis for a rich set of applications. This paper provides an overview of the problems faced in this application domain and outlines the approach we are following in our research.