Einschränkungen
Ausdrücke laufen auf dem Server, und was der MCP-Server nicht tut
runLocal-Ausdrücke
runLocal-Ausdrücke, Felder vom Typ local / credential / html und evalDefault-Standardwerte werden auf dem Server ausgewertet, in einem separaten V8-Kontext: kein process, require, kein Netzwerk und keine Timer, kein Kompilieren von Strings zu Code, ein Zeitlimit von 2 Sekunden und nur die Hilfsfunktionen, die der Browser anbietet (fnArray, fnGetNumberedName, fnToTable, …).
Das schützt vor fehlerhaften oder außer Kontrolle geratenen Ausdrücken. Es ist keine Sandbox für feindseligen Code, und muss es auch nicht sein: der Code stammt aus der Formulardefinition, nie vom MCP- Aufrufer, und jeder Wert, den ein Aufrufer sendet, wird als JavaScript-Literal eingesetzt.
Ein Ausdruck, der eine Browser-API verwendet (window, document, fetch), kann hier nicht laufen und gibt status: error zurück.
Serverseitige Ausdrücke (ohne runLocal) durchlaufen dieselben EXPRESSION_SANITIZER-Regeln wie für den Browser.
Einschränkungen
Einige Formulare und Felder lassen sich noch nicht über den MCP-Server verwenden:
- Wizard-Formulare lassen sich noch nicht starten. Ihre Schritte lassen sich mit
subformauflösen. - Dateifelder lassen sich nicht ausfüllen; ein Formular, dessen Dateifeld einen Wert hat, wird abgelehnt.
- Listenzeilen (und ein
yaml-Feld mit einem Subform, das eine solche Zeile ist): jede Zeile, die Sie senden, außer einer, die dendeleteMarkerder Liste trägt, wird über ihr Subform aufgelöst, mit den Werten des Formulars als__parent__, und dann validiert. Das schließt verschachtelte Listen ein, bei denen__parent__.__parent__das Formular erreicht. Senden Sie einfache Zeilen, also die rohen Feldwerte des Subforms. Fehlerhafte Zeilen werden pro Listenfeld inrowErrorsaufgeführt (vms[1].disks[0].size (missing)in der Meldung). Höchstens 500 Zeilen werden pro Aufruf akzeptiert, über alle Ebenen hinweg. - Ein Enum, das auf
__auto__belassen wird, wird nie mit seiner ersten Option gefüllt; der Aufrufer muss wählen. - Jede MCP-Anfrage erzeugt einen Eintrag im Audit-Protokoll (Aktion „MCP-Anfrage (KI-Agent)“); der Job selbst wird unter dem Benutzer aufgezeichnet, wie bei jedem anderen Start.