In the near future, people can use various kinds of portable terminal devices, such as PDAs or smart phones, to access the information on Internet at any time, in any place, for supporting their daily life. Personal mobile agents can help those people to search, to filter, to analyze, or to translate the large amount of Internet information. Since the context of a user may vary frequently, the way a personal mobile agent process the Internet information must adapt to the context change. However, we think that the current mainstream mobile agent platforms, such as the IBM Aglet and the IKV++ Grasshopper, are not good enough for developing context-aware applications. Hence, we propose a Component-based, Reconfigurable Mobile Agent (CRMA) system, which is designed for context-aware computing. It offers downloadable user-interface modules on terminal devices for application to adapt the characteristics of various terminal devices. In addition, on agent side, CRMA provides a reconfigurable agent-programming framework, which uses component-based pipelines to perform context-aware data-processing operations. This not only simplifies the programming task for dynamically reconfiguring an agent’s behavior to adapt the context change, but also improves the reusability of agent software. In the end of this paper, we will propose a context-aware meta-search service to demonstrate how to use CRMA to develop a context-aware application.