In-app advertising has become a significant source of revenue for mobile app. In order to improve the effectiveness of in-app ads, most ad networks focus on targeting a user based on the user's personal information collected from their ad library inside mobile apps and the global knowledge built from big data on ad servers. However, sharing user's sensitive information with the ad servers may raise privacy concerns. As opposed to targeting users, mobile contextual advertising seeks to target the app page a user is viewing. In this demo, we present a novel mobile contextual advertising platform, called MoCA, which is designed to improve the semantic relevance of in-app ads in a stand-alone, privacy-protecting manner on mobile devices. MoCA understands the semantics of app page and ads, and then matches semantically relevant ads to the page inside mobile devices. To the best of our knowledge, this is the first work to implement the mobile contextual advertising platform based on the semantic approach without resort to ad servers. The technical challenge is to perform the classification and searching task of the semantic approach, which needs high computational resources, inside mobile devices with limited hardware resources. To this end, MoCA utilizes the tiny text intelligence  that is suitable for the mobile environment. It consists of the light-weight classifier and the similarity model on the compressed knowledge base which requires only 34.3MB storage. The tiny text intelligence has been utilized and its effectiveness has already been proven for several intelligent services . Figure 1 illustrates the system architecture of MoCA. In the background process, MoCA first pre-collects ad candidates from ad servers. In the real-time process, it scrapes the dynamic content of the app page viewed by the user through its ad library, and then captures the semantics of the content and matches semantically relevant ads from ad candidates by utilizing the tiny text intelligence. We evaluate the relevance of the ads shown by MoCA using a real-world dataset consisting of app pages crawled from popular apps in the Google Play Store. We observe that MoCA achieves the relevance performance of as much as 93.1% compared to the semantic approach in the server environment. We also observe that the average runtime and energy consumption of the real-time process on 1,000 ad candidates is 0.965 seconds and 0.352 mAh per ad request, which is equivalent to 2.73 seconds of music play. These results show that the overhead of MoCA is not considerable. We implement a MoCA prototype and a test app using its ad library as independent applications on Android OS. The test app is a simple news aggregation app that shows a list of recent news articles dynamically crawled from the RSS feed of Wall Street Journal. During the demo session, users will be able to read the recent news articles along with relevant ads dynamically provided by MoCA. The demo video is also available here: https://youtu.be/G2O0j7ucYCk.