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!
Kontakt aufnehmen — Sie möchten KI-Agenten in Ihre MPS-Umgebung bringen? Sprechen Sie mit uns: Zum Kontaktformular →