Mobile Agent is a type of software system which acts "intelligently" on one's behalf with the feature of autonomy, learning ability and most importantly mobility. Now mobile agents are gaining interest in the research community. In this article mobile agents will be addressed as tools for mobile computing. Mobile agents have been used in applications ranging from network management to information management. We present mobile agent concept, characteristics, classification, need, applications and technical constraints in the mobile technology. We also provide a brief case study about how mobile agent is used for information retrieval.