There has been increasing interest in the use of context awareness, as a technique for designing architectures dedicated to smart spaces in order to adapt and produce suitable services according to user context. In recent years, various architectures have been developed to support context-aware systems. The major challenge with these systems is decomposing the entire architecture into smaller, modular components that facilitate the comprehension and modification of the architecture. In this study, we propose the Model View Controller Adapter (MVCA) architecture, derived from the model-view-controller pattern, which is modular, flexible and capable of adapting services autonomously on behalf of users. The main concept of MVCA architecture is that it decomposes the overall functionalities into modular components with high cohesion and low coupling, which facilitates reusability and maintainability of the system. The MVCA architecture is essentially composed of four components that are responsible for sensing and managing the environmental context in order to adapt and produce services proactively according to user context. To clarify and show the usability of our architecture, we present a scenario-based simulation of MVCA architecture using the Java Agent Development Framework platform.