Skip to main content
Glama
ProTech001
by ProTech001

MMAR-MCP Server

Ein MCP-Server, der große Sprachmodelle mit der MM-AR-Metamodellierungsplattform verbindet und es Benutzern ermöglicht, vollständige Metamodelle und Modellinstanzen durch natürliche Sprachinteraktion zu erstellen.

Übersicht

MMAR-MCP stellt die Fähigkeiten der MM-AR-Plattform über das Model Context Protocol bereit:

  • 62 Werkzeuge für Authentifizierung, Metamodell-CRUD und Instanz-CRUD-Operationen

  • 5 Ressourcen mit Dokumentation zur Plattformarchitektur, VizRep-Vorlagen, dem Metamodell-Schema, Attributtypen und einem Referenzmetamodell

  • 3 Prompts mit geführten Workflows zur Metamodellerstellung, Instanzerstellung und Modellanalyse

Der Server kommuniziert über STDIO-Transport und funktioniert mit jedem MCP-kompatiblen Host (Cursor, Claude Desktop oder jedem Client, der die MCP-Spezifikation implementiert).

Related MCP server: ParaView-MCP

Voraussetzungen

Anforderung

Version

Zweck

Node.js

v18+

MCP-Server ausführen

Docker

Aktuell

MM-AR-Plattform-Stack ausführen

MCP-Host

Beliebig

LLMs mit dem Server verbinden (z. B. Cursor, Claude Desktop)

Schnellstart

Befolgen Sie diese fünf Schritte, um von null zu einer funktionierenden Einrichtung zu gelangen.

Schritt 1: Starten Sie die MM-AR-Plattform

Option A: Vollständige Docker-Bereitstellung (empfohlen für die Ersteinrichtung)

Klonen und starten Sie den vollständigen MM-AR-Stack mit Docker:

git clone https://github.com/MM-AR/mmar-docker-installation.git
cd mmar-docker-installation
docker compose --env-file .env up -d

Warten Sie, bis alle Container gesund sind. Sie können dies überprüfen mit:

docker compose ps

Option B: Hybride Bereitstellung (PostgreSQL in Docker, Dienste lokal)

Dies ist das Setup, das während der Experimente der Abschlussarbeit verwendet wurde. Es erfordert das Klonen des Haupt-MM-AR-Repositorys:

# 1. Start PostgreSQL in Docker
docker run -d --name mmar_postgres \
  -e POSTGRES_USER=api -e POSTGRES_PASSWORD=root -e POSTGRES_DB=api \
  -p 5432:5432 postgres:16

# 2. Start the API server (requires mmar-server/.env with JWT_SECRET)
cd mmar-server
export $(cat .env | xargs)
cd ..
node dist/mmar-server/index.js

# 3. Start web clients (in separate terminals)
cd mmar-metamodeling-client && npm start   # port 8070
cd mmar-modeling-client && npm start        # port 8080

Sobald es läuft, sind die folgenden Dienste verfügbar:

Dienst

URL

Beschreibung

API-Server

http://localhost:8000

REST-API (der MCP-Server verbindet sich hier)

Metamodellierungs-Client

http://localhost:8070

Modellierungssprachen definieren

Modellierungs-Client

http://localhost:8080

Modellinstanzen erstellen

VizRep-Client

http://localhost:8090

Visuelle Darstellungen entwerfen

Überprüfen Sie, ob die API läuft, indem Sie http://localhost:8000/login in Ihrem Browser aufrufen. Sie sollten eine Anmeldeseite sehen. Standard-Anmeldedaten: admin / admin.

Schritt 2: Klonen und Erstellen des MCP-Servers

git clone https://github.com/ProTech001/mmar-mcp-server.git
cd mmar-mcp-server
npm install
npm run build

Der Schritt npm run build kompiliert TypeScript in JavaScript im Ordner dist/. Dieser Schritt ist erforderlich, bevor der Server ausgeführt werden kann.

Schritt 3: Überprüfen der Installation

Führen Sie die End-to-End-Testsuite aus, um zu bestätigen, dass alles funktioniert:

npm test

Dies startet den MCP-Server als Kindprozess und sendet JSON-RPC-Nachrichten über STDIO, genau wie ein echter MCP-Host. Es testet den Handshake, die Authentifizierung, die Werkzeugliste, das Lesen von Ressourcen, das Abrufen von Prompts und einen vollständigen Erstellen/Überprüfen/Löschen-Zyklus.

Erwartete Ausgabe (alle Tests sollten bestehen):

==============================================
  MM-AR MCP Server — End-to-End Test
==============================================

  ✅ PASS  Initialize (handshake)
           → Server: mmar-mcp-server

  ✅ PASS  List Tools
           → 62 tools registered (expected 62)

  ✅ PASS  List Resources
           → 5 resource(s) (expected 5)

  ✅ PASS  Read Platform Info Resource
           → ...

  ...

==============================================
  Results: 16 passed, 0 failed, 16 total
==============================================

Wenn ein Test fehlschlägt, lesen Sie den Abschnitt Fehlerbehebung unten.

Schritt 4: Konfigurieren Sie Ihren MCP-Host

Der Server läuft über STDIO. Konfigurieren Sie Ihren MCP-Host, um ihn als Unterprozess zu starten.

Cursor IDE — erstellen oder bearbeiten Sie .cursor/mcp.json in Ihrem Projektstammverzeichnis:

{
  "mcpServers": {
    "mmar": {
      "command": "node",
      "args": ["/absolute/path/to/mmar-mcp-server/dist/index.js"],
      "env": {
        "MMAR_API_URL": "http://localhost:8000"
      }
    }
  }
}

Claude Desktop — fügen Sie Ihrer Claude Desktop-Konfigurationsdatei hinzu (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS):

{
  "mcpServers": {
    "mmar": {
      "command": "node",
      "args": ["/absolute/path/to/mmar-mcp-server/dist/index.js"],
      "env": {
        "MMAR_API_URL": "http://localhost:8000"
      }
    }
  }
}

Ersetzen Sie /absolute/path/to/mmar-mcp-server durch den tatsächlichen Pfad, in den Sie das Repository geklont haben.

Schritt 5: Loslegen

Sobald konfiguriert, kann der MCP-Host jedes der 62 Werkzeuge aufrufen. Drei geführte Prompts sind für häufige Arbeitsabläufe verfügbar:

  1. create-metamodel — Erstellen Sie eine neue Modellierungssprache aus einer natürlichen Sprachbeschreibung

  2. create-model — Erstellen Sie eine Modellinstanz mit einem vorhandenen Metamodell

  3. analyze-model — Untersuchen und analysieren Sie vorhandene Modelle

Beispiel: "Verwenden Sie den create-metamodel-Prompt, um eine Petri-Netz-Modellierungssprache mit Place-Knoten, Transition-Knoten und Arc-Verbindungen zu erstellen."

Konfiguration

Der Server liest eine Umgebungsvariable:

Variable

Standard

Beschreibung

MMAR_API_URL

http://localhost:8000

Basis-URL der MM-AR-REST-API

Setzen Sie sie über Ihre Shell, die MCP-Host-Konfiguration (siehe Schritt 4) oder inline:

MMAR_API_URL=http://your-host:8000 node dist/index.js

Werkzeugkatalog

Alle 62 Werkzeuge haben das Präfix mmar_ und sind in drei Kategorien gruppiert:

Authentifizierung (3 Werkzeuge)

Werkzeug

Beschreibung

mmar_login

Mit Benutzername und Passwort authentifizieren

mmar_check_session

Prüfen, ob eine Sitzung aktiv ist

mmar_logout

Die aktuelle Sitzung beenden

Metamodell-Operationen (26 Werkzeuge)

Kategorie

Werkzeuge

Szenentypen

list_scene_types, get_scene_type, create_scene_type, update_scene_type, delete_scene_type

Klassen

get_classes_for_scene_type, get_class, create_class, update_class, delete_class

Beziehungsklassen

get_relationclasses_for_scene_type, get_relationclass, create_relationclass, update_relationclass, delete_relationclass

Attribute

get_attribute, list_attribute_types, get_attribute_type, create_attribute_for_class, create_attribute_for_scene_type, update_attribute

Rollen

get_role, update_role

Ports

get_port, create_port, update_port

Instanz-Operationen (33 Werkzeuge)

Kategorie

Werkzeuge

Szenen

list_scene_instances, get_scene_instance, create_scene_instance, update_scene_instance, delete_scene_instance

Klasseninstanzen

get_class_instances, get_class_instance, create_class_instance, update_class_instance, delete_class_instance

Beziehungsinstanzen

get_relationclass_instances, get_relationclass_instance, create_relationclass_instance, update_relationclass_instance, delete_relationclass_instance

Attributinstanzen

get_attribute_instance, get_attribute_instances_for_class_instance, get_attribute_instances_for_relationclass_instance, update_attribute_instance, delete_attribute_instance

Rolleninstanzen

get_role_instance, get_role_from_for_relationclass_instance, get_role_to_for_relationclass_instance, update_role_instance

Portinstanzen

get_port_instance, get_port_instances_for_scene_instance, create_port_instance, update_port_instance, delete_port_instance

Bendpoints

get_bendpoints_for_relationclass_instance, create_bendpoint, update_bendpoint, delete_bendpoint

Alle Werkzeugnamen tragen das Präfix mmar_ (z. B. mmar_create_class). Das Präfix wurde in der obigen Tabelle aus Gründen der Lesbarkeit weggelassen.

Ressourcen

URI

Beschreibung

mmar://platform/info

Überblick über die Plattformarchitektur und geführte Workflows

mmar://reference/vizrep-templates

VizRep-Codevorlagen für visuelle Darstellungen

mmar://reference/metamodel-schema

JSON-Schema für die Metamodellstruktur

mmar://reference/attribute-types

Verfügbare Attributtypen (String, Float, Boolean usw.)

mmar://reference/example-metamodel

Vollständiges Petri-Netz-Metamodell als Referenzbeispiel

Projektstruktur

mmar-mcp-server/
├── src/
│   ├── index.ts              # Entry point (STDIO transport)
│   ├── server.ts             # MCP server setup and capability registration
│   ├── config.ts             # Configuration (reads MMAR_API_URL)
│   ├── api-client.ts         # MM-AR REST API client with JWT auth and retry logic
│   ├── tools/
│   │   ├── index.ts          # Tool registration hub
│   │   ├── auth.tools.ts     # Authentication tools (3)
│   │   ├── meta.tools.ts     # Metamodel CRUD tools (26)
│   │   └── instance.tools.ts # Instance CRUD tools (33)
│   ├── resources/
│   │   └── index.ts          # Resource definitions (5)
│   └── prompts/
│       └── index.ts          # Prompt definitions (3)
├── test-mcp.mjs              # End-to-end test suite
├── test-data/                 # Example payloads for MCP Inspector testing
│   ├── README.md
│   ├── example-ER-diagram-metamodel.json
│   └── example-petri-net-metamodel.json
├── package.json
├── tsconfig.json
└── .gitignore

Reproduzierbare Evaluierungsumgebung

Kontrollierte Versuche (nicht Cursor-Chat). Beginnen Sie hier:

experiments/README.md — Einrichtung, Ausführung, wo JSON gespeichert ist → experiments/EVALUATION-PROCEDURE.md — Isolations-/Bewertungsprotokoll → experiments/harness-results/PRELIMINARY-RESULTS.md — Petri-Netz-Vorab (6 Versuche)

cd experiment-harness
npm install
cp .env.example .env   # add ANTHROPIC_API_KEY; never commit .env

export MMAR_API_URL=http://127.0.0.1:8000
curl -s -o /dev/null -w "API %{http_code}\n" http://127.0.0.1:8000/login   # must be 200

npm run one -- --phase metamodel --language petri-net --trial a
npm run one -- --phase instance --language petri-net --trial a
npm run scoreboard
open ../experiments/harness-results/scoreboard.html

Bevorzugen Sie 127.0.0.1 gegenüber localhost, wenn Sie eine Verbindungsverweigerung sehen. Führen Sie nach neuen Versuchen erneut npm run scoreboard aus.

npm run pilot                 # scorer self-test
npm run pilot -- --with-api   # + reset + MCP dry-run + GT seed (API must be up)

Testen mit MCP Inspector

Für interaktives Debugging können Sie den MCP Inspector verwenden:

npm run inspect

Dies öffnet eine Weboberfläche, in der Sie Werkzeuge durchsuchen, manuell aufrufen und Anfrage-/Antwort-Payloads überprüfen können. Siehe test-data/README.md für Schritt-für-Schritt-Anleitungen und Beispiel-Payloads.

Fehlerbehebung

ECONNREFUSED oder "Cannot connect to MM-AR API"

Die MM-AR-Plattform läuft nicht oder ist unter der konfigurierten URL nicht erreichbar.

  1. Überprüfen Sie, ob Docker-Container laufen: docker compose ps

  2. Überprüfen Sie, ob die API läuft: curl http://localhost:8000/login

  3. Wenn Sie eine benutzerdefinierte URL verwenden, stellen Sie sicher, dass MMAR_API_URL korrekt gesetzt ist

"Port 8000 already in use"

Ein anderer Prozess verwendet Port 8000. Stoppen Sie entweder diesen Prozess oder konfigurieren Sie die MM-AR-Plattform so, dass sie einen anderen Port verwendet (siehe die mmar-docker-installation-Dokumentation).

Tests schlagen bei "Login as admin" fehl

Die MM-AR-Datenbank ist möglicherweise noch nicht vollständig initialisiert. Die Docker-Container benötigen nach dem Start einige Sekunden, um die Datenbankinitialisierung abzuschließen. Warten Sie 10-15 Sekunden nach docker compose up und wiederholen Sie den Vorgang.

"Cannot find module dist/index.js"

Sie müssen zuerst die TypeScript-Quelle kompilieren:

npm run build

MCP-Host erkennt den Server nicht

  • Stellen Sie sicher, dass der Pfad in Ihrer MCP-Host-Konfiguration auf den absoluten Pfad von dist/index.js verweist

  • Starten Sie den MCP-Host nach der Änderung der Konfiguration neu

  • Überprüfen Sie, ob Node.js v18+ installiert ist: node --version

Verwandte Repositorys

Lizenz

ISC

Zitierung

Wenn Sie diese Software in Ihrer Forschung verwenden, zitieren Sie bitte:

@inproceedings{chima2026mmar-mcp,
  title={Agentic Creation of Modeling Languages: Extending the MM-AR Metamodeling Platform with MCP},
  author={Chima, Prosper and Fill, Hans-Georg and Curty, Simon},
  booktitle={Proceedings of the International Conference on Conceptual Modeling (ER), Demos and Posters},
  year={2026}
}
Install Server
F
license - not found
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    F
    maintenance
    Integrates multimodal large language models with ParaView to enable the creation and manipulation of scientific visualizations using natural language and visual inputs. It features visual feedback capabilities for iterative refinement, making advanced visualization workflows accessible through intelligent automation.
    58
    BSD 3-Clause
  • -
    license
    -
    quality
    -
    maintenance
    Enables AI agents to traverse SysML v2 model graphs, query requirements, and perform impact analysis for model-based systems engineering. It allows agents to interact with plain-text models to automate documentation and refine system architectures.
  • F
    license
    -
    quality
    F
    maintenance
    Enables AI-driven graphical diagram creation and manipulation using natural language, with support for BPMN workflows, analysis, and manual editing via the Model Context Protocol.
    1

View all related MCP servers

Related MCP Connectors

  • AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).

  • Map text into knowledge graphs to create a structured representation of conceptual relations and t…

  • Create and manage AI agents that collaborate and solve problems through natural language interacti…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ProTech001/mmar-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server