This paper presents a multi-agent system (MAS)-based approach for service restoration in a distribution system with distributed generators (DGs), static energy storage systems (SESSs), and mobile energy storage systems (MESSs). In comparison with existing MAS-based service restoration approaches in a two-layer cyber-physical architecture, excluding the dispatch of MESSs, we propose a three-layer framework that consists of cyber, physical, and transportation layers corresponding to the communication scheme for the MAS, electric distribution system, and transportation network for MESSs, respectively. In the proposed MAS framework, agents communicate and cooperate with each other for service restoration without violating system operation constraints by conducting the following actions: i) Kruskal-algorithmbased island reconfiguration (switch agent), ii) generation of switching sequence and dispatches of DGs and SESSs (DG and static battery agents) under monitored loading condition (load agent), and iii) dispatch of MESSs based on optimal road routing using the Dijkstra algorithm (mobile battery agent). Case studies were carried out in an IEEE 33-bus distribution system, and the results validated the performance of the proposed approach in terms of number of restored loads and restoration time steps, voltage level, and state of charge of the SESSs and MESSs with different numbers of fault lines and SESSs/MESS, and different extents of damaged roads.