itemis Blog

KI-Agenten treffen auf Projectional Editing: Portalon für MPS

Geschrieben von Dr. Klaus Birken | 09.07.2026

KI-Coding-Agenten haben die Arbeit vieler Teams mit textbasierten Codebasen verändert. Ein Agent wie Claude Code kann ein Repository aus .java-, .ts- oder .py-Dateien mit bemerkenswerter Souveränität lesen, refaktorieren und testen. Das funktioniert gut, denn diese Agenten wurden auf großen Mengen reinen Texts trainiert, und reiner Text ist genau das, was eine konventionelle Codebasis bereitstellt.

Projekte auf Basis von JetBrains MPS sind in einer anderen Situation. MPS ist eine projektionale Language Workbench: Es gibt keinen textuellen Quellcode, der geparst werden könnte. Modelle sind abstrakte Syntaxbäume, die auf der Festplatte in einem ausführlichen, ID-lastigen XML-Format persistiert werden, das nie für menschliche Leser gedacht war. Wird ein Agent direkt auf diese .mps-Dateien angesetzt, tut er sich meist schwer; der Abstand zwischen der XML-Repräsentation und den Sprachkonzepten, die sie kodiert, ist zu groß, um ihn zuverlässig zu überbrücken. In der Praxis funktioniert das direkte Editieren des XML durch ein LLM deutlich schlechter, als man hoffen würde. Teams, die mit MPS arbeiten, haben daher bisher kaum von agentischem Tooling profitiert.

In diesem Artikel stellen wir Portalon vor, ein bei itemis entwickeltes MPS-Plugin, das KI-Agenten mit dem laufenden MPS-Modell verbindet. Wir erläutern außerdem, warum wir es für sinnvoll halten, ein solches Werkzeug selbst zu entwickeln, obwohl JetBrains eine vergleichbare Komponente für MPS 2026.1 angekündigt hat.

Arbeiten am laufenden Modell statt am XML

Ein naheliegender Ansatz wäre, das persistierte XML für Agenten leichter lesbar zu machen. Damit würde jedoch das Symptom behandelt, nicht die Ursache. Eine laufende MPS-Instanz hält das Modell bereits in genau der Form, die ein Agent benötigt: als sauberen, wohlstrukturierten AST, zusammen mit vollständigem Wissen über Konzepte, Properties, Kinder, Referenzen, Scopes und Typregeln. Kann ein Agent über eine strukturierte API auf dieses laufende Modell zugreifen – also Knoten genauso lesen und verändern, wie MPS selbst es tut –, wird das Dateiformat irrelevant. Es gibt kein XML-Parsing, keine fragilen Textänderungen und kein Risiko gebrochener Referenzen; jede Änderung ist konstruktionsbedingt strukturell gültig.

Genau diesen Ansatz verfolgt Portalon. Zu beachten ist, dass die MPS-Instanz dafür nicht als interaktive IDE laufen muss: Sie lässt sich auch headless betreiben, und der Großteil der Funktionalität steht auch dann zur Verfügung, mit Ausnahme der Werkzeuge, die tatsächlich die IDE benötigen.

Was Portalon bietet

Portalon ist ein MPS-Plugin, das einen Server auf Basis des Model Context Protocol (kurz: MCP) innerhalb des MPS-Prozesses betreibt. Es stellt das aktuell geöffnete Projekt jedem MCP-fähigen Agenten zur Verfügung, z.B. Claude Code. Der Agent verbindet sich über einen lokalen HTTP-Endpunkt und arbeitet direkt auf dem Modell im Speicher.

Mit dieser Verbindung kann ein Agent:

  • Navigieren und verstehen – Projekte, Module, Modelle und Root-Knoten auflisten; jeden Knoten samt Teilbaum lesen; Konzept-Schemata, Konzepthierarchien und Referenz-Scopes inspizieren; nach Namen oder Volltext suchen; Verwendungen eines Knotens finden. Für den Zugriff bietet Portalon drei gleichwertige Mechanismen an: Knoten und Teilbäume als strukturiertes JSON, einzelne MCP-Tools für gezielte Abfragen sowie eine Dateisystem-Abstraktion, in der sich das Projekt wie ein Verzeichnisbaum navigieren und mit Kommandos wie grep oder find durchsuchen lässt.
  • Sicher editieren – Knoten erzeugen, ändern, ersetzen, verschieben und löschen; Properties und Referenzen setzen; Modelle, Solutions und Languages anlegen; Abhängigkeiten hinzufügen. Zu beachten ist, dass jede Schreiboperation über die MPS Open API läuft; der Agent editiert niemals direkt Dateien. Läuft MPS als IDE, lassen sich Änderungen wie gewohnt rückgängig machen; eine vollständige strukturelle Validierung steht als eigener Schritt zur Verfügung.
  • Validieren, bauen und testen – dieselben Checker ausführen, die MPS auch interaktiv verwendet (Typsystem, Constraints, Struktur), Module bauen, die im MPS-Projekt definierten Tests starten und die Ergebnisse jeweils zurücklesen.
  • Intentions und Quickfixes anwenden – die Modelltransformationen entdecken und aufrufen, die von den im geöffneten Projekt verfügbaren DSLs angeboten werden, also von den Sprachen des Projekts selbst ebenso wie von installierten Abhängigkeiten und Plugins.
  • Fundiert arbeiten – Portalon liefert MPS-Know-how mit, das ein Agent bei Bedarf abrufen kann. Dadurch kann der Agent die korrekten Konzept-IDs, Rollennamen und Muster aus dem laufenden Modell holen, statt sie aus allgemeinem Wissen zu erraten.
  • Historie verstehen – die Git-Historie einzelner Knoten lesen, ebenso die Menge der geänderten Knoten in einem Commit oder im Working Tree.

Mit diesen Fähigkeiten lassen sich die für Agenten typischen Eval-Loops aufbauen: Der Agent überprüft seine eigene Arbeit an den Modellen immer wieder anhand des Feedbacks aus Validierung, Build und Tests und korrigiert und verbessert sie selbstständig. Solche Feedback-Schleifen sind ein zentraler Baustein beim Aufsetzen von effizienten Agents und Skills.

In Summe arbeitet der Agent auf MPS-Modellen mit derselben strukturellen Sicherheit, die ein Mensch im projektionalen Editor hat, jedoch mit der Geschwindigkeit und Skalierbarkeit einer Maschine.

Warum ein eigener MCP-Server für MPS?

Mit dem Release Candidate von MPS 2026.1 hat JetBrains das Projectional Agent Toolkit (kurz: PAT) vorgestellt, einen eingebauten MCP-Server, der ab dieser Version mit MPS gebündelt wird. Das wirft eine berechtigte Frage auf: Warum sollte itemis einen eigenen MCP-Server für MPS entwickeln und pflegen, wenn der Plattformhersteller einen kostenlos mitliefert? Schließlich bedeutet die Pflege eines solchen Werkzeugs einen erheblichen laufenden Aufwand.

Wir begrüßen PAT. Beide Lösungen sind im gleichen Zeitraum entstanden, und dass zwei Teams unabhängig voneinander zur gleichen Architektur gefunden haben – Agenten an das laufende MPS-Modell anzubinden statt an das persistierte XML –, sehen wir als gute Bestätigung, dass dieser Weg trägt. Dennoch gibt es zwei Gründe, warum wir weiter in Portalon investieren.

Der erste Grund ist die Verfügbarkeit auch für ältere MPS-Versionen, wie sie in realen industriellen Projekten heute vielfach im Einsatz sind. PAT wird Teil von MPS 2026.1 und späteren Versionen sein. Die Migration eines großen MPS-Projekts auf eine neue Hauptversion ist jedoch ein erhebliches Vorhaben, das Teams typischerweise nach eigenem Zeitplan angehen. Portalon ist ein Plugin, unabhängig von einem bestimmten MPS-Release, und unterstützt MPS-Versionen ab 2022.3. Teams auf einer 2022er-, 2023er-, 2024er- oder 2025er-Version können agentische Workflows daher heute einführen, ohne Migration, und über Versions-Upgrades aus eigenen Gründen entscheiden.

Der zweite Grund ist der Aufbau von Know-how. Bei itemis entwickeln wir MCP-Server und CLI-Integrationen für eine wachsende Zahl von Anwendungen und Plattformen. Eine gute Agenten-Schnittstelle für ein komplexes interaktives Werkzeug zu entwerfen ist eine eigene Disziplin: welche Operationen exponiert werden, in welcher Granularität, wie der Agent in der Domäne des Werkzeugs verankert bleibt und wie Feedback-Schleifen schnell und zuverlässig werden. Mit Portalon bearbeiten wir diese Fragen für einen besonders anspruchsvollen Fall – eine projektionale Language Workbench. Da wir den gesamten Stack in der Hand haben, können wir experimentieren, messen, wie Agenten die Schnittstelle tatsächlich nutzen, und sie in kurzen Zyklen verbessern. Diese Erfahrung fließt in alle unsere Agenten-Integrationen zurück; durch die bloße Nutzung eines bereits vorhandenen Frameworks ließe sie sich nicht gewinnen.

Mehr als die Brücke: Language-Engineering-Skills

Eine Verbindung zum Modell ist das Fundament, für sich genommen aber noch nicht ausreichend. Echte Language-Engineering-Arbeit – das Review einer Änderung, eine Migration über MPS-Versionen hinweg, das Debugging eines Generators – folgt Mustern und Konventionen, von deren Kenntnis ein Agent profitiert. In zahlreichen industriellen MPS-Projekten hat itemis solche Muster über die Jahre entwickelt und angewendet; diese Erfahrung können wir nun in Werkzeuge für Agenten übersetzen.

Parallel zu Portalon baut itemis daher ein mps-language-engineering-Plugin für Claude auf: eine wachsende Sammlung von Skills, die solche Workflows kodieren und den Language Engineer bei Routineaufgaben zuverlässig entlasten. Zwei Beispiele aus dieser Sammlung veranschaulichen den Ansatz:

  • PR-/MR-Review – der Skill gruppiert die geänderten Root-Knoten nach Modul und Modell, trennt die zum Pull Request gehörenden Änderungen von unabhängigen Edits, baut die betroffenen Module und führt die Modell-Checks aus. Das Ergebnis ist ein strukturierter Bericht, der mögliche Risiken, Knackpunkte und Hot Spots der Änderung hervorhebt – die Grundlage für das anschließende menschliche Review. Alle technischen Punkte sind darin bereits aufgearbeitet: Abweichungen zwischen Branch-Inhalt und PR-Beschreibung, Buildfehler, Constraint-Verletzungen. Der Reviewer kann sich auf die inhaltlichen Kernfragen der Änderung konzentrieren.
  • Versionsmigration – der Skill ermittelt Quell- und Zielversion von MPS, bereitet die Build-Dateien vor, übergibt an den MPS Migration Assistant und verifiziert das Ergebnis über Portalon: Module bauen, unmigrierte Modelle, gebrochene Referenzen, veraltete Konzepte und Typfehler finden und die mechanischen Probleme per Intentions und Quickfixes beheben. Am Ende erhält der Language Engineer einen klaren Überblick, was automatisch bereinigt wurde und wo noch inhaltliche Entscheidungen nötig sind.

Beide werden laufend evaluiert und verfeinert, und an weiteren Skills arbeiten wir bereits. Das Plugin ist darauf ausgelegt zu wachsen, während wir lernen, was einen Agenten zu einem wirklich kompetenten MPS-Language-Engineer macht. 

Sweet Spots und aktuelle Grenzen

Zu einem fairen Bild gehört auch, was Portalon heute gut kann und was nicht. Nach unserer Erfahrung liegt der aktuelle Sweet Spot bei analyseorientierten Aufgaben: MPS-Projekte und -Modelle erkunden, Inkonsistenzen aufspüren, Reports schreiben, Kommentare in Modellen und Baselang-Code ergänzen, die Git-Historie von Modellen untersuchen, Ticket-Beschreibungen und Pull-Request-Inhalte schreiben und abgleichen sowie Beispielmodelle aufbauen. Für diese Art von Arbeit sind über Portalon angebundene Agenten heute produktiv.

Die Implementierung kompletter Features ist eine andere Sache. Bei textuellen Sprachen wie Java, Python oder Kotlin implementieren heutige Agenten Features bemerkenswert schnell, effektiv und effizient; bei MPS-Modellen ist dieses Niveau noch nicht erreicht. Diese Lücke muss noch geschlossen werden. Zu beachten ist allerdings, dass Benchmarks wie Sergej Koščejevs MPS AI Benchmark Harness dieselbe Einschränkung auch für andere Agenten-Integrationen für MPS zeigen, einschließlich JetBrains' PAT und CLI-basierter Ansätze. Sie spiegelt den aktuellen Stand des agentischen Toolings für projektionale Sprachen insgesamt wider und ist keine spezifische Schwäche von Portalon. Die MPS-Community hat bereits begonnen, sich dieses Feld zu erschließen, und wird hier in den kommenden Jahren sicher deutliche Fortschritte machen.

Aktueller Stand, Lizenzmodell und Evaluierung

Portalon wird aktiv weiterentwickelt und hat bereits mehrere Releases durchlaufen; die aktuelle Version ist 0.8. Diese Releases sind nicht öffentlich verfügbar, sondern werden an Kunden herausgegeben, die eine Evaluierung durchführen oder ein Abonnement halten. Innerhalb von itemis setzen die Teams, die mit MPS arbeiten, Portalon auf einer wachsenden Zahl realer Projekte ein; Feedback wird laufend gesammelt und fließt direkt in Verbesserungen ein.

Ein großer Strang der aktuellen Arbeit ist die Optimierung des Zusammenspiels zwischen Agenten – insbesondere Claude Code – und MPS. Wir verfeinern die Schnittstelle des MCP-Servers Schritt für Schritt und lernen dabei. Die Optimierung eines solchen Zusammenspiels ist keine exakte Wissenschaft, und MCP ist keine API: Was einen Agenten effektiv macht, ist nicht nur die Menge der Operationen, sondern wie gut ihre Beschreibungen, ihre Granularität und ihr Feedback das Vorgehen des Agenten leiten.

Portalon ist Closed-Source-Software. Interessenten erhalten eine Evaluierungslizenz für einen unverbindlichen Test: Sie erlaubt die nicht-kommerzielle Nutzung für einen begrenzten Zeitraum (typischerweise vier Wochen), sodass das Werkzeug am eigenen MPS-Projekt beurteilt werden kann. Nach der Evaluierung bietet itemis ein bezahlbares Abonnement zu einem festen Monatspreis an; das Abonnement enthält außerdem ein kleines Support-Budget von etwa zwei Personentagen pro Monat. Wir halten dies für ein faires Modell. Im Gegensatz zu einem Open-Source-Ansatz verschafft das Abonnement itemis ein verlässliches Budget, um Portalon zu pflegen, weiterzuentwickeln und in einem sich schnell entwickelnden Feld weiterhin Innovation zu liefern.

Wenn Sie mit MPS arbeiten und KI-Agenten in Ihre Language-Engineering-Arbeit einbringen möchten – auf Ihrer aktuellen MPS-Version, ohne Migration –, dann nehmen Sie Kontakt mit uns auf und steigen Sie in die Evaluierung ein. Und wenn Sie verfolgen möchten, wie sich Agenten-Schnittstellen für komplexe Engineering-Werkzeuge weiterentwickeln: stay tuned!