Hell, A. (2026). Design and Implementation of a Model Context Protocol (MCP) Server for the Graphical Language Server Platform (GLSP) [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2026.137296
Grafische Modellierung ist ein zentraler Bestandteil des Model-Driven Engineering (MDE), dennoch bleibt die industrielle Verbreitung aufgrund der Komplexität bestehender Werkzeuge begrenzt. Die Integration von Large Language Models (LLMs) in grafische Modellierungsumgebungen bietet einen vielversprechenden Ansatz zur Senkung dieser Hürde, doch bestehende Methoden leiden unter zwei grundlegenden Problemen: Unstrukturierte API-Interaktion führt zu unzuverlässigen Werkzeugaufrufen, und die direkte Arbeit mit serialisierten Modellen oder domänenspezifischen Sprachen (DSLs) verursacht syntaktische und semantische Fehler, insbesondere bei Sprachen mit geringem Trainingsdatenbestand. Folglich fehlt ein strukturiertes Protokoll, das es einem LLM ermöglicht, als zuverlässiger Modellierungsassistent in grafischen Umgebungen zu agieren.Diese Arbeit adressiert diese Lücke durch den Entwurf und die Implementierung einer Model Context Protocol (MCP) Server-Integration für die Graphical Language Server Platform (GLSP). MCP ist ein offener, standardisierter Client-Server-Protokoll, das einen strukturierten Mechanismus bereitstellt, über den LLMs mit externer Software interagieren können mittels der standardisierter Primitive: Tools, Resources und Prompts. Die Implementierung integriert den MCP-Server direkt in die bestehende Client-Server-Architektur von GLSP und teilt den Dependency-Injection-Container sowie das Session-Management mit dem GLSP-Server. Diese tiefe Integration vermeidet den Overhead und die Fragilität der Interprozesskommunikation, die die meisten bestehenden MCP-Implementierungen kennzeichnet. Die resultierende wiederverwendbare Bibliothek, @eclipse-glsp/server-mcp, stellt 16 Tools und 4 Resources als generische Standardendpunkte bereit und erfordert weniger als 10 Zeilen Code für die grundlegende Integration in jede GLSP-Implementierung.Die Forschung folgt einer Design-Science-Research-Methodik und kombiniert ein Systematic Literature Review des Model Context Protocol mit einem Narrative Literature Review des Forschungsfeldes Artificial Intelligence for Model-Driven Engineering (AI4MDE). Die Evaluation vergleicht den MCP-basierten Ansatz mit DSL-basierten (PlantUML) und serialisierungsbasierten (JSON, XML) Interaktionsparadigmen anhand standardisierter Modellierungsaufgaben auf Universitätsniveau für zwei Modellierungssprachen: eine benutzerdefinierte Workflow-Sprache und UML-Klassendiagramme mittels bigUML. Jede Aufgaben-Interaktions-Kombination wird mehrmals wiederholt, um statistische Relevanz sicherzustellen, und die Leistung wird anhand von Information-Retrieval-Metriken (Precision, Recall) sowie Modellqualitätsmetriken (syntaktische, semantische und pragmatische Fehler) bewertet.Die Ergebnisse liefern eine differenzierte Antwort. Für die Informationsgewinnung zeigt der MCP-Ansatz eine klare Überlegenheit für die Workflow-Sprache und erreicht perfekte Precision- und Recall-Werte über alle Aufgabengrößen hinweg, während die serialisierungsbasierten Ansätze mit zunehmender Modellkomplexität an Qualität verlieren. Bei der Modellerstellung erzielt der MCP-Ansatz durchgehend null syntaktische Fehler und die wenigsten pragmatischen Fehler, wobei semantische Fehler über alle Ansätze hinweg vergleichbar bleiben. Der überzeugendste Vorteil zeigt sich bei der Modellmodifikation: Die serialisierungsbasierten Ansätze zerstören oder korrumpieren häufig bestehende Modelle, während der MCP-Ansatz einzelne Elemente gezielt verändern kann, ohne den Rest zu beeinträchtigen. Für ressourcenreiche Sprachen wie UML ist der DSL-basierte Ansatz mit PlantUML jedoch konkurrenzfähig und oft schneller sowie kostengünstiger, was darauf hindeutet, dass der Mehrwert von MCP am größten für benutzerdefinierte oder ressourcenarme Modellierungssprachen ist, für die keine etablierte DSL existiert. Über die quantitativen Ergebnisse hinaus liefert diese Arbeit eine dokumentierte Referenzarchitektur für die MCP-Integration in Client-Server-Frameworks, eine Reihe identifizierter Entwurfsmuster für die Bereitstellung grafischer Modellierungskontexte an LLMs sowie den Nachweis, dass die Integration auf Framework-Ebene über Modellierungssprachen hinweg generalisiert.
de
Graphical modeling is a cornerstone of Model-Driven Engineering (MDE), yet industry adoption remains limited by the complexity of existing tooling. The integration of Large Language Models (LLMs) into graphical modeling environments offers a promising avenue for lowering this barrier, but current approaches suffer from two fundamental problems: unstructured API interaction leads to unreliable tool invocation, and working directly on serialized models or Domain-Specific Languages (DSLs) introduces syntactic and semantic errors, particularly for languages where training data is sparse. Consequently, there is a lack of a structured protocol that allows an LLM to act as a reliable modeling assistant within graphical environments.This thesis addresses this gap by designing and implementing a Model Context Protocol (MCP) server integration for the Graphical Language Server Platform (GLSP). MCP is an open-standard, client-server protocol that provides a structured mechanism for LLMs to interact with external software through standardized primitives: Tools, Resources, and Prompts. The implementation integrates the MCP server directly into GLSP's existing client-server architecture, sharing the dependency injection container and session management with the GLSP server. This deep integration avoids the overhead and fragility of inter-process communication that characterizes most existing MCP implementations. The resulting reusable library, @eclipse-glsp/server-mcp, provides 16 tools and 4 resources as generic default endpoints, requiring fewer than 10 lines of code for basic integration into any GLSP implementation.The research follows a Design Science Research methodology, combining a Systematic Literature Review of the Model Context Protocol with a Narrative Literature Review of the field of Artificial Intelligence for Model-Driven Engineering (AI4MDE). The evaluation compares the MCP-based approach against DSL-based (PlantUML) and serialization-based (JSON, XML) interaction paradigms using standardized university-level modeling exercises across two modeling languages: a custom Workflow language and UML class diagrams via bigUML. Each task-interaction combination is repeated multiple times to ensure statistical relevance, and performance is assessed using information retrieval metrics (Precision, Recall) and model quality metrics (Syntactic, Semantic, and Pragmatic Errors).The results yield a nuanced answer. For information retrieval, the MCP approach demonstrates clear superiority for the Workflow language, achieving perfect precision and recall across all task sizes, while the serialization-based approaches degrade with increasing model complexity. For model creation, the MCP approach consistently achieves zero syntactic errors and the fewest pragmatic errors, though semantic errors remain comparable across all approaches. The most compelling advantage emerges during model modification: the serialization-based approaches frequently destroy or corrupt existing models, whereas the MCP approach can surgically alter individual elements without affecting the rest. However, for high-resource languages such as UML, the DSL-based approach using PlantUML performs competitively and is often faster and cheaper, suggesting that MCP's value is greatest for custom or low-resource modeling languages where no established DSL exists. Beyond the quantitative results, this thesis contributes a documented reference architecture for MCP integration into client-server frameworks, a set of identified design patterns for exposing graphical modeling context to LLMs, and a demonstration that the integration generalizes across modeling languages at the framework level.
en
Additional information:
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft