Vertec MCP Server

Arbeiten mit dem Vertec MCP Server

Ab Version 6.8.0.21 bietet Vertec den Vertec MCP Server an.

MCP (Model Context Protocol) ist ein offener Standard für die Anbindung von AI-Anwendungen an externe Systeme. Mit dem Vertec MCP Server können AI-Clients wie Claude oder ChatGPT eine Verbindung zu Vertec herstellen und sowohl strukturierte Daten abfragen als auch Aufgaben in Vertec ausführen wie z.B. neue Objekte zu erzeugen. 

Der Vertec MCP Server läuft zusammen mit jeder Vertec Instanz im Vertec Cloud Server. Der MCP selber ist eine Zwischenschicht, die gegen aussen Tools (und die Texte dazu) publiziert, Anfragen entgegennimmt, und diese intern an die Vertec Webservices weiterleitet. Er macht also grundsätzlich nichts, was man nicht auch über das REST API machen könnte, und ist in der Verarbeitung der Daten auch nicht schneller. Es ist nicht geeignet, um grosse Objektlisten zu verarbeiten, und möchte man Kennzahlen analysieren damit, ist die Lizenzierung des Business Intelligence Moduls dringend empfohlen. Der Unterschied liegt darin, dass man damit strukturierte Vertec Daten (inklusive via Customizing selbst erstellte Klassen, Zusatzfelder und Linktypen) an ein AI-System anbinden und mittels AI analysieren kann.

Der Vertec MCP Server hat Kenntnisse vom Vertec Modell, was es ermöglicht, strukturierte Daten in Vertec abzufragen. Das bedeutet, dass die Abfragen aufgrund des Modells erfolgen, und nicht wie bei einem LLM / RAG System aufgrund von Textinhalten. Die folgende Grafik zeigt das Zusammenspiel der verschiedenen Komponenten auf:

 Beschreibung der Grafik in Schritten

  1. Der User stellt im Chat eine Frage oder eine Aufforderung. Der AI Client nimmt die Anfrage entgegen und koordiniert den Ablauf.
  2. Die Anfrage geht weiter an das LLM und das erkennt, dass aktuelle Informationen benötigt werden, die nicht in seinem "Traningswissen" vorhanden sind.
  3. Das LLM gibt am AI Client an, welches Tool dafür verwendet werden soll.
  4. Der AI Client empfängt die Aufforderung und sucht nach dem Tool im Vertec MCP Server.
  5. Der Vertec MCP Server stellt die Tools bereit und dient als Zwischenschicht zu den Vertec Webservices.
  6. Die eigentliche Suche der Daten erfolgt über die beiden Webservices REST und ModelMetdata.
  7. Die gefundenen Ergebnisse aus dem Vertec Objektsystem werden an den AI Client zurückgegeben und an das LLM weitergeleitet.
  8. Das LLM erstellt die Antwort aus den verarbeiteten Informationen für den User im Chat.

Die verfügbaren Tools im Vertec MCP Server werden über sogenannte MCP Konnektoren verbunden. Siehe dazu den Abschnitt Verbindung zu Vertec herstellen.

Inbetriebnahme

Der Vertec MCP Server ist Teil des Vertec Cloud Servers und läuft grundsätzlich, wenn der Cloud Server läuft. Er wird jedoch erst wirklich gestartet, wenn der erste Zugriff erfolgt, um Ressourcen zu sparen bei Nichtverwendung. Beim Betrieb von Vertec On-Premises kann der MCP Server auch ganz ausgeschaltet werden im Vertec.ini - File.

Die Kenntnisse des Vertec MCP Servers über das Vertec Modell werden gesteuert durch den Vertec Webservice namens ModelMetadata. Dieser muss aktiv sein, damit mit dem Vertec MCP Server gearbeitet werden kann. Die Anfragen an die Daten werden vom Vertec MCP Server intern via Vertec REST API gestellt. Deshalb muss auch der Webservice REST aktiv sein. 

Die Authentisierung des Vertec MCP Servers gegenüber Vertec erfolgt via OAuth2, der Vertec Cloud Server fungiert dabei als OAuth Server. Dafür gibt es in den Systemeinstellungen Authentisierung folgende Parameter:

  • Die OAuth2 Client ID wird von Vertec automatisch erzeugt und ist bereits eingetragen. 
    • Der OAuth2 Flow in Vertec unterstützt PKCE, falls der Zugriff aus dem externen System auf diese Art erfolgt (wenn der Client einen code_challenge Parameter im Authorize Request mitschickt). 
  • Unter OAuth2 Client Redirect URL müssen Sie die OAuth Callback URLs der externen Systeme angeben, denen Sie eine Anfrage erlauben möchten (komma-separiert). Es muss sich um HTTPS-Adressen handeln, ansonsten wird eine Warnung ausgegeben beim Herstellen der Verbindung. 
    • Die Redirect URL von Claude lautet: https://claude.ai/api/mcp/auth_callback.
    • Bei ChatGPT ist der eigene Server Teil der Redirect URL, deshalb kann die Redirect URL erst nach der Registrierung des Vertec MCP Servers in ChatGPT ausgelesen werden. Zu finden ist sie in der App-Registrierung (Plugin) > Erweiterte OAuth Einstellungen > Callback-URL. Diese wird nur angezeigt, wenn als Registrierungsmethode Benutzerdefinierter OAuth-Client ausgewählt ist.
  • Sie können auch die Dynamic client registration (DCR) aktivieren

Standardwerte

Der Vertec MCP Server wird mit folgenden Standardwerten ausgeliefert, so dass Benutzer gleich loslegen können:

  • Die Gruppe Standardbenutzer hat die MCP Berechtigung standardmässig erteilt. vergeben das MCP Recht der Standarduser Gruppe.
  • Die Webservices ModelMetadata und REST sind standardmässig aktiv.
  • Die Systemeinstellung OAuth2 Dynamic Client Registration (DCR) ist aktiviert.
  • Als Oauth2 Client Redirect URL ist die Claude Callback URL voreingetragen.

Verbindung zu Vertec herstellen

Die Verbindung von aussen erfolgt über die URL, unter der Ihr Vertec von aussen erreichbar ist, gefolgt von /mcp, z.B.:

https://meinefirma.vertec-cloud.com/mcp

Diese URL wird im externen System als Datenquelle hinterlegt, zusammen mit der OAuth2 Client ID oder via Dynamic Client Registration (DCR) über den Endpunkt /register generiert werden.

  • Bei ChatGPT muss dafür in der App-Registrierung unter Erweiterte OAuth Einstellungen zuerst die Registrierungs-URL angegeben werden, z.B. https://meinefirma.vertec-cloud.com/register. Erst dann kann oben DCR als Registrierungsmethode ausgewählt werden. 

Bei der Verwendung des AI Clients werden die obigen Informationen als Konnektoren eingetragen. Dazu kann folgender Artikel zu benutzerdefiniertem Connector herangezogen werden. 

Dann wird die Verbindung zu Vertec aufgebaut.

Falls der Benutzer noch nicht an Vertec angemeldet ist, wird er nun wie gewohnt angemeldet. Beim OAuth-Flow gelangt man immer zu einer Anmeldemaske, selbst wenn der Benutzer im gleichen Browser in Vertec bereits angemeldet ist. Die aktuelle Session wird nicht verwendet. 

Um Anfragen an den Vertec MCP Server stellen zu können, muss er in Vertec über die Berechtigung MCP verfügen. Dadurch werden keine zusätzlichen Rechte gewährt, es gelten die gleichen Rechte wie beim Zugriff über ein UI.

Es wird eine Meldung angezeigt, die den User über die dem externen System zu erteilenden Berechtigungen informiert:

Dies kann bestätigt oder abgelehnt werden:

  • Bei Bestätigung geht es normal im OAuth Flow weiter, das heisst, es wird ein Token ausgestellt und der Benutzer kann mit den Anfragen beginnen. 
  • Bei Ablehnung wird kein Token ausgestellt und der Client bekommt einen Fehler.
  • Ist die OAuth2 Client Redirect URL nicht HTTPS und entspricht diese nicht wie in den Systemeinstellung angegeben, wird folgende Warnung ausgegeben:

Das Vertec Modell

Dem Vertec MCP Server steht ein reduziertes Vertec Modell zur Verfügung. Es wird also nicht das gesamte Modell wie im Vertec Model Browser ersichtlich exportiert, sondern nur die für eine Datenabfrage wichtigsten Klassen.

Ausserdem werden alle Klassen, für die es einen Eintrag in den Klasseneinstellungen gibt, ebenfalls berücksichtigt, da wir dort davon ausgehen, dass diese für die Kunden relevant sind. Wichtig ist es, in den selbst erstellten Klasseneinstellungen, Zusatzfeldern und Custom-Link-Typen im Bemerkungsfeld eine Beschreibung (Description) zu erfassen, damit die AI bei einer Anfrage weiss, worum es sich dabei handelt. 

Gesteuert wird das durch den Vertec Webservice namens ModelMetadata, wo auch der entsprechende Code eingesehen werden kann. Exportiert werden wichtige Klassen, die auf der Whitelist stehen, sowie sämtliche Klassen, für die Klasseneinstellungen existieren.

Anfragen an den Vertec MCP Server

Sobald die Verbindung im externen System wie Claude, OpenAI oder ChatGPT zum Vertec MCP Server steht, können Anfragen in gewohnter Textform an Vertec gestellt werden. Es können sowohl Daten abgefragt als auch neue Objekte in Vertec erstellt werden. 

Beispiel einer Anfrage an Vertec (mit lizenziertem Business Intelligence Modul) mit Anthropic Claude:

Einen weiteren Einblick in die Möglichkeiten der Kommunikation mit dem Vertec MCP Server erhalten Sie im folgenden Video:

Verwendung von Vertec ERP & CRM mit einem MCP Server
play-button

Netherlands

United Kingdom