MCP-API-Referenz
Vollständige Referenz für die Metapad MCP-API — 15 Tools zum Abfragen und Bearbeiten von Modellen aus externen KI-Tools.
MCP-Tools über HTTP aufrufen
Wie Sie Metapads MCP-Tools direkt aus Skripten, curl oder CI-Pipelines aufrufen — ohne den Umweg über Claude Desktop oder einen anderen MCP-Client.
get_agent_detailsMCPLiefert vollständige Details zu Agenten anhand ihrer ID, einschließlich der Basiswerte der Eigenschaften, gruppiert nach Parametersatz (Eigenschaftsnamen werden aus dem Knotentyp des Agenten aufgelöst).
create_parameter_setMCPErstellt einen Parametersatz innerhalb eines Twins – ein benanntes Bündel von Eingabewert-Überschreibungen auf einer zu den Szenarien orthogonalen Achse. Einen stabilen Namen in Kleinbuchstaben verwenden (z. B. „highdemand“). Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
update_simulation_diagramMCPAktualisiert Name und/oder Beschreibung eines Simulationsdiagramms. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
list_linksMCPListet die Verbindungen auf – die Verknüpfungen zwischen Agenten innerhalb eines Szenarios (das Simulations-Gegenstück zu Beziehungen). Liefert die Endpunkte mit aufgelösten Agentenbezeichnungen sowie die Eigenschaftswerte der Verbindung. Filterbar nach Szenario, Beziehungstyp oder Endpunkt.
update_parameter_setMCPAktualisiert Name und/oder Beschreibung eines Parametersatzes. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
delete_simulation_diagramMCPLöscht ein Simulationsdiagramm samt seinen Platzierungen und Widgets. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
list_simulation_diagramsMCPListet die Simulationsdiagramme auf – die visuellen Arbeitsflächen für ein Szenario oder einen Twin, die Agenten, Verbindungen und Dashboard-Widgets zeigen. Filterbar nach Twin oder Szenario.
delete_parameter_setMCPLöscht einen Parametersatz samt seinen Überschreibungswerten und Zeitreihen. Der Standard-Parametersatz eines Twins kann nicht gelöscht werden. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
get_time_seriesMCPLiest Zeitreihenwerte: den Wert einer Agenten-Eigenschaft zu jedem Zeitschritt, für ein Szenario und einen Parametersatz. Dies sind die Tabellendaten der Simulation. scenarioid ist erforderlich; parametersetid weglassen, um über alle Parametersätze hinweg zu lesen.
create_agentMCPErstellt eine Agenteninstanz in einem Szenario. nodetypeid (der Typ des Agenten) ist erforderlich und legt sein Eigenschafts- und Verhaltensschema fest. Basiswerte von Eigenschaften können über Name oder ID angegeben werden und beziehen sich auf den angegebenen (oder den Standard-) Parametersatz des Twins. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
set_time_series_valueMCPSetzt eine einzelne Zelle der Simulationstabelle: den Wert einer Agenten-Eigenschaft zu einem bestimmten Zeitschritt, in einem Szenario und Parametersatz. propertyid kann ein Eigenschaftsname oder eine ID sein; parametersetid weglassen für den Standard des Twins. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
create_twinMCPErstellt einen Simulations-Twin – einen Live-Twin-Container, der auf eine Teilmenge von Knotentypen beschränkt und optional an einen Modellknoten gebunden ist. Szenarien, Parametersätze und Agenten werden darin angelegt. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
update_agentMCPAktualisiert Bezeichnung, Beschreibung oder die Basiswert-Überlagerung eines Agenten. setproperties ersetzt die gesamte Überlagerung für den Ziel-Parametersatz – um einen einzelnen Wert zu ändern, setparametervalue verwenden. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
set_parameter_valueMCPSetzt einen einzelnen Basiswert für eine Agenten-Eigenschaft in einem bestimmten Parametersatz – das Feld, das ein Schieberegler oder ein Kontrollkästchen schreiben würde. Für Werte pro Zeitschritt settimeseriesvalue verwenden. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
update_twinMCPAktualisiert Name und/oder Beschreibung eines Twins. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
delete_agentMCPLöscht eine Agenteninstanz samt ihren Verbindungen, Zeitreihen und Diagrammplatzierungen. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
clear_parameter_valueMCPLöscht einen einzelnen Basiswert (Überlagerung) für eine Agenten-Eigenschaft in einem Parametersatz (greift wieder auf den Standardsatz zurück). Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
create_scenarioMCPErstellt ein Szenario (Was-wäre-wenn-Projektion) innerhalb eines Twins, mit eigener Zeitachse. Die Schrittweite dt muss 1/N für eine positive ganze Zahl N sein (z. B. 1, 0,5, 0,25). Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
update_scenarioMCPAktualisiert Name, Beschreibung oder Zeitachse (Startzeit, Endzeit, dt) eines Szenarios. Ein geändertes dt muss weiterhin 1/N für eine positive ganze Zahl N sein. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
delete_scenarioMCPLöscht ein Szenario samt seinen Agenten, Verbindungen und Zeitreihen. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
create_simulation_diagramMCPErstellt ein Simulationsdiagramm – eine visuelle Arbeitsfläche für ein Szenario oder einen Twin. Genau eines von scenarioid (szenariobezogen) oder twinid (twin-übergreifend, über alle Szenarien) angeben. Das Platzieren von Agenten/Verbindungen und Widgets erfolgt in der App. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
update_linkMCPAktualisiert Beschreibung und/oder Eigenschaftswerte einer Verbindung (setproperties ersetzt die Eigenschaften der Verbindung). Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
clear_time_series_valueMCPLöscht eine einzelne Zeitreihen-Zelle (den Wert einer Agenten-Eigenschaft zu einem Zeitschritt). Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
get_simulation_diagram_contentsMCPLiefert die Widgets eines Simulationsdiagramms (Dashboards) mit ihren IDs und ihrem aktuellen Text – Diagramme (Name, Achsenbeschriftungen, Anzeigenamen je Datenreihe) sowie Schieberegler-, Kontrollkästchen-, Auswahl-, Text- und Parametersatz-Auswahl-Steuerelemente (Beschriftung). Diese Widgets existieren nur auf dem Diagramm und erscheinen nicht im Modellbaum, daher ist dies die einzige Möglichkeit, ihre IDs zu ermitteln. Verwenden Sie es, um ein Dashboard zu übersetzen: Inhalte auslesen und anschließend mit translateelements Übersetzungen schreiben – mit Schlüsseln wie „{chartid}:name“, „{chartid}:series:{seriesid}:displayname“ und „{widgetid}:label“.
list_twinsMCPListet die Simulations-Twins auf. Ein Twin ist ein Live-Twin-Container, der auf eine Teilmenge von Knotentypen beschränkt und optional an einen Modellknoten gebunden ist. Liefert für jeden Twin den Geltungsbereich, den Standard-Parametersatz sowie die Anzahl der Szenarien und Parametersätze.
create_linkMCPErstellt eine Verbindung zwischen zwei Agenten in einem Szenario – das Simulations-Gegenstück zu einer Beziehung. Der Beziehungstyp und beide Agenten müssen bereits existieren. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
list_diagramsMCPListet die Diagramme des Modells mit ihren IDs, Namen und Ebenen auf. Diagramme werden von searchnodes nicht zurückgegeben – über dieses Tool finden Sie die ID eines Diagramms, bevor Sie updatediagram, addtodiagram, addrelationshipstodiagram, removefromdiagram oder deletediagram aufrufen. Filtern Sie nach Ebene (metamodel für Typdiagramme, model für Instanzdiagramme), Namen oder Ordner. Für Simulations-Dashboards verwenden Sie stattdessen listsimulationdiagrams.
list_scenariosMCPListet die Szenarien innerhalb von Twins auf. Ein Szenario ist eine Was-wäre-wenn-Projektion mit eigener Zeitachse (Startzeit, Endzeit, Schrittweite dt). Liefert die Zeitachsen-Parameter, die berechnete Anzahl der Zeitschritte sowie die Anzahl der Agenten und Verbindungen. Über twinid filterbar.
list_parameter_setsMCPListet die Parametersätze eines Twins auf. Ein Parametersatz ist ein benanntes Bündel von Eingabewerten auf einer zu den Szenarien orthogonalen Achse – ein Simulationslauf ist durch (Szenario, Parametersatz) bestimmt. Zeigt an, welcher Satz der Standard des Twins ist.
delete_linkMCPLöscht eine Verbindung samt ihren Diagrammplatzierungen. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
list_agentsMCPListet die Agenteninstanzen eines Szenarios auf. Jeder Agent ist eine Instanz eines Knotentyps und gehört zu genau einem Szenario. Liefert Kurzfassungen; für die Basiswerte der Eigenschaften getagentdetails verwenden. Filterbar nach Szenario, Twin, Knotentyp oder Name.
delete_twinMCPLöscht einen Twin samt allem, was er enthält – seine Szenarien, Parametersätze, Agenten, Verbindungen und Zeitreihen. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
delete_nodesMCPEinen oder mehrere Knoten löschen. Standardmäßig werden auch alle verbundenen Beziehungen gelöscht (Kaskade). Setzen Sie cascaderelationships auf false, damit die Operation fehlschlägt, wenn der Knoten Beziehungen hat.
update_nodesMCPLabels, Beschreibungen oder Eigenschaften vorhandener Knoten aktualisieren. Verwenden Sie setlabel/setdescription für Kernfelder, setproperties für Schlüssel-Wert-Paare und removeproperties zum Löschen von Werten. Knoten-IDs akzeptieren sowohl UUIDs als auch Auto-IDs (z. B. REQ-42).
add_node_typeMCPFügt dem Metamodell einen neuen Knotentyp (Entitätstyp) hinzu. Tun Sie dies, bevor Sie Knoten dieses Typs erstellen. Sie können eigene Eigenschaften mit Datentypen definieren. Für die Simulation kann eine Eigenschaft als „computed“ markiert werden (ihr defaultvalue ist dann eine bei jedem Zeitschritt ausgewertete Rhai-Formel), und der Knotentyp kann ein actscript tragen – ein Rhai-Skript, das pro Agent und Zeitschritt ausgeführt wird und das Verhalten steuert.
find_similar_nodesMCPKnoten mit ähnlichen Namen finden, die Duplikate sein könnten. Verwendet String-Ähnlichkeitsabgleich. Nützlich vor dem Erstellen neuer Knoten, um Duplizierung zu vermeiden.
create_nodesMCPNeue Knoteninstanzen erstellen. Der Knotentyp muss bereits im Metamodell existieren (verwenden Sie getmetamodel zum Prüfen oder addnodetype zum Erstellen). Änderungen werden sofort angewendet und in Echtzeit an alle verbundenen Browser-Benutzer übertragen.
add_allowed_connectionMCPEin erlaubtes Verbindungsmuster zwischen Knotentypen für einen Beziehungstyp definieren. Alle drei (Beziehungstyp, Quell-Knotentyp, Ziel-Knotentyp) müssen bereits im Metamodell existieren. Verwenden Sie getmetamodel, um vorhandene Typen zu prüfen.
add_relationship_typeMCPEinen neuen Beziehungstyp zum Metamodell hinzufügen. Verwenden Sie nach dem Erstellen addallowedconnection, um festzulegen, welche Knotentypen damit verbunden werden können.
get_metamodelMCPRuft das Schema des Modells (Metamodell) ab. Liefert alle Knotentypen, Beziehungstypen, deren Eigenschaften, erlaubte Verbindungen und Instanzzahlen. Rufen Sie dies immer zuerst auf, um zu verstehen, was das Modell enthält. Bei Simulationsmodellen liefert es außerdem für jede Eigenschaft das „computed“-Kennzeichen und die Rhai-Formel sowie das actscript jedes Knotentyps, dazu einen selbstbeschreibenden „scripting“-Block, der die verfügbaren Simulationsfunktionen (getconnected, sumprop, agent.getprop/setprop, …) dokumentiert, damit Sie Formeln korrekt schreiben können.
get_node_detailsMCPLiefert vollständige Details zu einem oder mehreren Knoten anhand ihrer IDs. Gibt alle Eigenschaften, die Beschreibung und Metadaten zurück. Akzeptiert sowohl UUIDs als auch Auto-IDs (z. B. REQ-42). Jeder Knoten enthält außerdem einen updatedat-Zeitstempel (ISO 8601 UTC), der angibt, wann er zuletzt geändert wurde – so können externe Tools Knoten überspringen, die sich seit dem letzten Abruf nicht geändert haben.
delete_relationshipsMCPEine oder mehrere Beziehungen anhand ihrer IDs löschen. Verwenden Sie getrelationships, um die Beziehungs-IDs zuerst zu finden.
get_statisticsMCPModellweite Statistiken abrufen: Knoten- und Beziehungsanzahlen nach Typ, am stärksten verbundene Knoten und Eigenschaftsvollständigkeit. Nützlich für einen schnellen Modellüberblick.
create_relationshipsMCPBeziehungen zwischen vorhandenen Knoten erstellen. Sowohl Quelle als auch Ziel müssen existieren. Der Beziehungstyp muss im Metamodell existieren und eine erlaubte Verbindung für die angegebenen Quell-/Ziel-Knotentypen haben.
merge_nodesMCPDoppelte Knoten zu einem einzelnen Knoten zusammenführen. Alle Beziehungen der zusammengeführten Knoten werden auf den beibehaltenen Knoten umgeleitet. Die zusammengeführten Knoten werden dann gelöscht. Verwenden Sie findsimilarnodes, um Kandidaten zu identifizieren.
get_relationshipsMCPBeziehungen (Verbindungen) zwischen Knoten finden. Filtern nach Beziehungstyp, Quellknoten, Zielknoten oder Knotentypen. Quell- und Ziel-IDs akzeptieren sowohl UUIDs als auch Auto-IDs (z. B. REQ-42).
search_nodesMCPSucht nach Knoten (Instanzen) im Modell. Filtern Sie nach Typ, Name, Beschreibung, Eigenschaftswerten oder Ordner. Gibt Zusammenfassungen zurück – für vollständige Informationen verwenden Sie getnodedetails. Jede Zusammenfassung enthält jetzt einen updatedat-Zeitstempel (ISO 8601 UTC) zur Änderungserkennung.
run_simulationMCPFührt die Simulation aus und liest die BERECHNETE Zeitreihe für ein Szenario zurück. Anders als gettimeseries (das nur gespeicherte Eingabezellen zurückgibt — manuelle Eingaben oder Live-Daten) wertet dieser Aufruf die Rhai-Eigenschaftsformeln und Act-Skripte bei Bedarf aus und liefert die resultierenden Werte pro Agent, Eigenschaft und Zeitschritt, jeweils mit der simulierten Zeit, sowie Formel-Diagnosen. Dies ist der einzige Weg, formelgetriebene Ergebnisse über die API zu lesen: Sie werden zur Laufzeit berechnet und niemals persistiert. scenarioid ist erforderlich; parametersetid verwendet standardmäßig den Standard-Parametersatz des Twins des Szenarios. Verwenden Sie agentinstanceid, propertyid, mintimestep und maxtimestep, um große Zeitreihen einzugrenzen. Prüfen Sie das Feld diagnostics (Kompilier- und Laufzeitfehler in Formeln/Act-Skripten, Zyklen, ungelöste Abhängigkeiten), wenn Ergebnisse falsch oder leer erscheinen.
update_tagsMCPTags für jedes Modellelement (Knoten, Beziehung, Knotentyp, Beziehungstyp, Diagramm oder Ordner) aktualisieren. Ersetzt alle vorhandenen Tags. Wird sofort angewendet.
create_diagramMCPEin neues Diagramm zur Visualisierung von Modellelementen erstellen. Verwenden Sie den Diagrammtyp „metamodel" für M2-Typ-Diagramme, „model" für M1-Instanz-Diagramme. Wird sofort angewendet.
create_treeMCPEinen Navigationsbaum (ModelTree) erstellen: eine benannte, geordnete Baumstruktur über dem Graphen, die als lesegerechte Browse-Struktur dient (Reader-Workspace, Navigation veröffentlichter Websites, Kapitelreihenfolge von Berichten). Ein Baum ist eine geordnete Liste von Zweigen; jeder Zweig kann eine Bezeichnung, eine Beschreibung, einen Ausgangsfilter (ein Filterausdruck, der seine Knoten auswählt — z. B. {"OfType":{"typeid":"<id"}}, {"HasId":{"ids":"<node-id"}}, {"FilterRef":{"filterid":"<id"}}), eine Expansion (einer Beziehung vom Ausgangsknoten folgen), eine Sortierung sowie verschachtelte untergeordnete Zweige haben. Verwenden Sie listtrees, um vorhandene Bäume zu ermitteln. Wird sofort angewendet.
update_treeMCPName, Beschreibung oder Zweigstruktur eines Navigationsbaums aktualisieren. setbranches ersetzt die gesamte Zweigstruktur (gleiches JSON-Format wie branches bei createtree). Akzeptiert Baum-ID oder -Name. Übergeben Sie ein locale, um Name/Beschreibung in die Übersetzungsebene einer nicht standardmäßigen Sprache zu schreiben. Wird sofort angewendet.
delete_treeMCPEinen Navigationsbaum löschen. Endgültig — wirkt sich nicht auf Modelldaten aus (nur die Lesestruktur des Baums wird entfernt). Akzeptiert Baum-ID oder -Name. Wird sofort angewendet.
list_treesMCPDie Navigationsbäume des Modells auflisten. Bäume liegen in einer eigenen Sammlung (werden nicht von searchnodes zurückgegeben), daher ermitteln Sie hiermit die ID eines Baums, bevor Sie updatetree oder deletetree aufrufen. Gibt id, name, description, folderid, tags und branchcount (Anzahl der Zweige oberster Ebene) zurück. Filtern nach Name oder Ordner.
create_filterMCPEinen gespeicherten Filter mit einem kombinierbaren Ausdruck erstellen. Ausdrücke: {"OfType":{"typeid":"<id"}}, {"HasTag":{"tag":"foo"}}, {"NameMatches":{"operator":"Contains","value":"foo"}}, {"And":...}, {"Or":...}, {"Not":expr}, {"InFolder":{"folderid":"<id","recursive":true}} oder "All". Wird sofort angewendet.
update_node_typeMCPAktualisiert einen bestehenden Knotentyp: umbenennen, umfärben, Beschreibung ändern oder neue Eigenschaften hinzufügen. Für die Simulation setzt oder löscht setactscript das Rhai-actscript des Knotentyps, und updateproperties bearbeitet bestehende Eigenschaften direkt – einschließlich, eine Eigenschaft „computed“ zu machen oder ihre Rhai-Formel zu ändern. Wird sofort angewendet und in Echtzeit an alle verbundenen Nutzer übertragen.
update_relationship_typeMCPEinen vorhandenen Beziehungstyp aktualisieren: umbenennen, umfärben, Beschreibung ändern oder neue Eigenschaften hinzufügen. Wird sofort angewendet und an alle verbundenen Benutzer übertragen.
add_to_diagramMCPKnoten oder Knotentypen mit automatischem Rasterlayout zu einem Diagramm hinzufügen. Für Modelldiagramme verwenden Sie Knoten-IDs oder Auto-IDs (z. B. REQ-1); für Metamodell-Diagramme verwenden Sie Knotentyp-IDs. Wird sofort angewendet.
delete_diagramMCPEin Diagramm und alle seine Elementplatzierungen löschen. Löscht NICHT die zugrunde liegenden Knoten oder Beziehungen — nur die visuelle Darstellung. Wird sofort angewendet.
update_relationshipsMCPLabels, Beschreibungen oder Eigenschaften vorhandener Beziehungen aktualisieren. Wird sofort angewendet und an alle verbundenen Benutzer übertragen. Beziehungs-IDs akzeptieren sowohl UUIDs als auch Auto-IDs (z. B. „CON-5").
delete_filterMCPEinen gespeicherten Filter löschen. Löscht keine Modelldaten. Wird sofort angewendet. Akzeptiert Filter-ID oder Name.
update_diagramMCPName oder Beschreibung eines vorhandenen Diagramms aktualisieren. Wird sofort angewendet. Akzeptiert Diagramm-ID oder Name.
move_to_folderMCPModellelemente in einen Ordner verschieben (oder zum Stammverzeichnis durch Weglassen der folderid). Unterstützt Knoten, Beziehungen, Knotentypen, Beziehungstypen, Diagramme und Ordner. Wird sofort angewendet.
remove_allowed_connectionMCPEine erlaubte Verbindungseinschränkung entfernen, wodurch die Berechtigung für einen Beziehungstyp zum Verbinden bestimmter Knotentyp-Paare widerrufen wird. Wird sofort angewendet.
update_modelMCPDen übergeordneten Namen oder die Beschreibung des Modells aktualisieren. Wird sofort angewendet.
add_relationships_to_diagramMCPAlle Beziehungen zwischen bereits auf einem Diagramm platzierten Elementen automatisch anzeigen. Für Modelldiagramme werden M1-Beziehungen angezeigt; für Metamodell-Diagramme erlaubte Verbindungen. Wird sofort angewendet.
remove_from_diagramMCPKnoten oder Knotentypen aus einem Diagramm entfernen. Entfernt auch verbundene Beziehungsvisualisierungen in diesem Diagramm. Löscht NICHT die zugrunde liegenden Elemente. Wird sofort angewendet.
rename_folderMCPEinen vorhandenen Ordner umbenennen und optional seine Beschreibung aktualisieren. Wird sofort angewendet.
create_folderMCPEinen neuen Ordner zum Organisieren von Modellelementen erstellen. Verwenden Sie die Ebene „metamodel" für Knoten-/Beziehungstyp-Ordner, „model" für Knoten-/Beziehungs-/Diagramm-Ordner. Wird sofort angewendet.
remove_node_typeMCPEinen Knotentyp aus dem Metamodell entfernen. Kaskadiert auch die Entfernung aller M1-Instanzen dieses Typs und ihrer Beziehungen. Wird sofort angewendet. Mit Vorsicht verwenden — kann über MCP nicht rückgängig gemacht werden.
remove_relationship_typeMCPEinen Beziehungstyp aus dem Metamodell entfernen. Entfernt auch alle Beziehungen dieses Typs aus M1. Wird sofort angewendet. Mit Vorsicht verwenden.
/mcp/{model_id}RESTMCP Tool Call
The MCP HTTP transport. A single JSON-RPC 2.0 endpoint that dispatches to all of Metapad's MCP tools (getmetamodel, searchnodes, createnodes, etc.) — set 'method' to the JSON-RPC method ('tools/call', 'tools/list', 'initialize', 'ping') and put the tool name + arguments in 'params'. This is the same endpoint that Claude Desktop, Claude Code, and other MCP clients connect to — use it directly from scripts and CI when no interactive OAuth login is possible. Distinct from the REST API v1 endpoints under /api/v1/..., which expose individual resources as conventional REST.