viso-mcp-server

Official

VISO TRUST MCP Server

Ein Model Context Protocol (MCP)-Server zur Integration von VISO TRUST API-Funktionen mit KI-Assistenten.

Anforderungen

  • Java 21+
  • Gradle
  • Docker (optional für containerisierte Bereitstellung)
  • MCP Inspector (optional zum Testen)

Konfiguration

VISO TRUST API-Konfiguration

Für die VISO TRUST API können folgende Eigenschaften konfiguriert werden:

  • visotrust.api.base-url : Die Basis-URL für die VISO TRUST API (Standard: http://localhost:8080 )
  • visotrust.api.token : Ihr API-Token von der VISO TRUST-Plattform (erforderlich)
  • visotrust.api.timeout : API-Anforderungstimeout in Millisekunden (Standard: 30000)
  • visotrust.api.connect-timeout : API-Verbindungstimeout in Millisekunden (Standard: 5000)

Informationen zum Generieren eines API-Tokens für die Umgebungsvariable visotrust.api.token finden Sie in der VISO TRUST-Supportdokumentation .

Installation

Schnellinstallation

Klicken Sie auf eine der folgenden Schaltflächen, um den VISO MCP-Server in VS Code zu installieren:

Manuelle Einrichtung mit VS Code

Fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Strg + Umschalt + P und geben Sie „Einstellungen: Benutzereinstellungen öffnen (JSON)“ ein.

{ "mcp": { "inputs": [ { "type": "promptString", "id": "viso_baseurl", "description": "VISO TRUST API Base URL", "default": "https://app.visotrust.com" }, { "type": "promptString", "id": "viso_token", "description": "VISO TRUST API Token", "password": true } ], "servers": { "viso-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "VISOTRUST_API_TOKEN", "-e", "VISOTRUST_API_BASEURL", "visotrustai/viso-mcp-server:latest" ], "env": { "VISOTRUST_API_BASEURL": "${input:viso_baseurl}", "VISOTRUST_API_TOKEN": "${input:viso_token}" } } } } }

Optional können Sie ein ähnliches Beispiel (d. h. ohne den MCP-Schlüssel) zu einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen. Dadurch können Sie die Konfiguration mit anderen teilen.

{ "inputs": [ { "type": "promptString", "id": "viso_baseurl", "description": "VISO TRUST API Base URL", "default": "https://app.visotrust.com" }, { "type": "promptString", "id": "viso_token", "description": "VISO TRUST API Token", "password": true } ], "servers": { "viso-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "VISOTRUST_API_TOKEN", "-e", "VISOTRUST_API_BASEURL", "visotrustai/viso-mcp-server:latest" ], "env": { "VISOTRUST_API_BASEURL": "${input:viso_baseurl}", "VISOTRUST_API_TOKEN": "${input:viso_token}" } } } }

Verwendung mit Claude Desktop und anderen MCP-Clients

Docker-Konfiguration
{ "mcpServers": { "viso-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "VISOTRUST_API_TOKEN", "-e", "VISOTRUST_API_BASEURL", "visotrustai/viso-mcp-server:latest" ], "env": { "VISOTRUST_API_TOKEN": "<your-api-token>", "VISOTRUST_API_BASEURL": "https://app.visotrust.com" } } } }
Java-Konfiguration
{ "mcpServers": { "viso-mcp": { "command": "java", "args": [ "-jar", "viso-mcp-server-<version>.jar", "--port", "8080", "--host", "localhost" ], "env": { "JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "VISOTRUST_API_TOKEN": "<your-api-token>", "VISOTRUST_API_BASEURL": "https://app.visotrust.com" } } } }

Hinweis: Mit der Umgebungsvariable JAVA_TOOL_OPTIONS werden die JVM-Optionen für das Remote-Debugging festgelegt. Adresse und Port können bei Bedarf geändert werden.

💻 Entwicklung

Docker-Setup

Docker-Image erstellen
docker build -t viso-mcp-server .
Docker-Container ausführen
docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server

Debuggen

MCP Inspector installieren
npm -g install @modelcontextprotocol/inspector
Führen Sie MCP Inspector zum Testen aus
  1. Erstellen Sie eine MCP-Server-JAR-Datei
./gradlew bootJar
  1. Führen Sie MCP Inspector aus
npx @modelcontextprotocol/inspector \ -e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=\*:5005 \ -e VISOTRUST_API_TOKEN=<your-api-token> \ java -jar build/libs/viso-mcp-server-<version>.jar \ --port 8080 --host localhost

Ersetzen Sie <version> durch die aktuelle Version des Projekts (z. B. 1.0.0 oder die Version der neuesten Veröffentlichung).

CI/CD-Pipeline

Dieses Projekt nutzt GitHub Actions für kontinuierliche Integration und Bereitstellung. Der Workflow umfasst die folgenden Jobs:

Fussel

Überprüft die Codeformatierung mit Spotless:

./gradlew spotlessCheck
Bauen

Erstellt die Anwendung und erstellt eine JAR-Datei:

./gradlew build
Veröffentlichen

Wenn eine neue Version erstellt wird:

  1. Aktualisiert die Projektversion in build.gradle, damit sie mit dem Release-Tag übereinstimmt
  2. Lädt die JAR-Datei mit der Version aus dem Release-Tag in die GitHub-Version hoch
  3. Erstellt und überträgt das Docker-Image mit den folgenden Tags zum Docker Hub:
    • latest
    • Der Release-Tag (z. B. v1.0.0 )
Erforderliche Geheimnisse für die Veröffentlichung

Um die Docker Hub-Veröffentlichung zu aktivieren, fügen Sie Ihrem GitHub-Repository diese Geheimnisse hinzu:

  • DOCKERHUB_USERNAME : Ihr Docker Hub-Benutzername
  • DOCKERHUB_TOKEN : Ihr Docker Hub-Zugriffstoken

🛠️ Werkzeuge

Dieser Abschnitt enthält die Dokumentation zu den vom VISO MCP-Server bereitgestellten Tools. Jedes Tool hat einen bestimmten Zweck, bestimmte Eingabeparameter und ein bestimmtes Ausgabeformat.

Bewertungen

get_assessment - Holen Sie sich eine Bewertung anhand ihrer ID
  • id: Bewertungs-ID (Nummer, erforderlich)

Gibt detaillierte Informationen zu einer bestimmten Bewertung zurück.

create_assessment - Eine Bewertung starten
  • relationshipId: Die ID der Beziehung, für die eine Bewertung erstellt werden soll (Nummer, erforderlich)
  • recipientEmail: Die E-Mail des Empfängers (Zeichenfolge, erforderlich)
  • recipientFirstName: Der Vorname des Empfängers (Zeichenfolge, erforderlich)
  • recipientLastName: Der Nachname des Empfängers (Zeichenfolge, erforderlich)
  • publicDocumentUrls: URLs öffentlicher Dokumente (string[], optional)
  • followupType: Die Art der Nachverfolgung (Zeichenfolge, erforderlich)
  • followupRiskThreshold: Der Risikoschwellenwert für die Nachverfolgung (Zeichenfolge, optional)
  • aiProcessingOnly: Ob nur die KI-Verarbeitung verwendet werden soll (boolesch, optional)
  • Dateien: Dateien, die in die Bewertung einbezogen werden sollen (byte[][], optional)

Gibt die erstellten Bewertungsdetails zurück.

Überwachungsprotokolle

get_user_audit_log_events – Rufen Sie die Audit-Log-Ereignisse für Ihre Organisation ab
  • Anfrage: Parameter für die Audit-Protokollanforderung (Objekt, erforderlich)
    • startDate: Startdatum für die Audit-Log-Ereignisse (Zeichenfolge, erforderlich)
    • endDate: Enddatum für die Audit-Log-Ereignisse (Zeichenfolge, erforderlich)
    • auditLogType: Typ der abzurufenden Audit-Log-Ereignisse (Zeichenfolge, optional)

Gibt eine Liste der Benutzerüberwachungsprotokollereignisse zurück, begrenzt auf 500 Datensätze.

Geschäftsfälle

get_all_business_cases – Holen Sie sich alle verfügbaren Geschäftsfälle für Ihre Organisation

Keine Parameter erforderlich.

Gibt eine Liste aller für Ihre Organisation verfügbaren Geschäftsfälle zurück.

Datentypen

get_all_datatypes - Alle verfügbaren Datentypen für Ihre Organisation abrufen

Keine Parameter erforderlich.

Gibt eine Liste aller für Ihre Organisation verfügbaren Datentypen zurück.

IQR (Intelligente Abfrageantwort)

ask_trust_center – Stellen Sie Fragen zu Ihrem AI Trust Center
  • Anfrage: Trustcenter-Abfrageparameter (Objekt, erforderlich)
    • Abfrage: Die zu stellende Frage (Zeichenfolge, erforderlich)

Gibt KI-generierte Antworten auf Fragen zu Ihrem AI Trust Center zurück.

ask_relationship - Stellen Sie Fragen zu einer bestimmten Beziehung
  • Anfrage: Beziehungsabfrageparameter (Objekt, erforderlich)
    • relationshipId: Die ID der abzufragenden Beziehung (Nummer, erforderlich)
    • Abfrage: Die zu stellende Frage (Zeichenfolge, erforderlich)

Gibt KI-generierte Antworten auf Fragen zu einer bestimmten Beziehung zurück.

Beziehungen

get_all_relationships - Ruft eine Liste aller Beziehungen und ihrer Bewertungsdetails ab

Keine Parameter erforderlich.

Gibt Informationen zu Drittanbietern zurück, einschließlich ihres Bewertungsstatus, ihrer Risikostufen und Kontaktdaten.

get_relationship_by_id – Rufen Sie eine bestimmte Beziehung und ihre Bewertungsdetails nach ID ab
  • id: Beziehungs-ID (Nummer, erforderlich)

Gibt detaillierte Informationen zu einem Drittanbieter zurück, einschließlich Bewertungsstatus, Risikostufen und Kontaktdaten.

create_relationship - Erstellen Sie eine neue Beziehung mit einem Drittanbieter
  • Anfrage: Parameter zur Beziehungserstellung (Objekt, erforderlich)
    • vendorName: Name des Anbieters (Zeichenfolge, erforderlich)
    • businessOwnerEmail: E-Mail des Geschäftsinhabers (Zeichenfolge, erforderlich)
    • Homepage: URL der Homepage des Anbieters (Zeichenfolge, optional)
    • businessContextIds: IDs von Geschäftskontexten (number[], optional)
    • dataTypeIds: IDs der Datentypen (number[], optional)
    • Tags: Auf die Beziehung anzuwendende Tags (string[], optional)

Gibt die erstellten Beziehungsdetails zurück.

update_relationship – Aktualisieren einer bestehenden Beziehung mit einem Drittanbieter
  • Anfrage: Beziehungsaktualisierungsparameter (Objekt, erforderlich)
    • id: Beziehungs-ID (Nummer, erforderlich)
    • vendorName: Name des Anbieters (Zeichenfolge, optional)
    • Homepage: URL der Homepage des Anbieters (Zeichenfolge, optional)
    • businessContextIds: IDs von Geschäftskontexten (number[], optional)
    • dataTypeIds: IDs der Datentypen (number[], optional)
    • businessOwnerEmail: E-Mail des Geschäftsinhabers (Zeichenfolge, optional)
    • Tags: Auf die Beziehung anzuwendende Tags (string[], optional)

Gibt die aktualisierten Beziehungsdetails zurück.

partially_update_relationship - Eine bestehende Beziehung teilweise aktualisieren
  • Anfrage: Teilweise Beziehungsaktualisierungsparameter (Objekt, erforderlich)
    • id: Beziehungs-ID (Nummer, erforderlich)
    • [Alle Felder aus update_relationship, die geändert werden müssen]

Gibt die aktualisierten Beziehungsdetails zurück, wobei nur die angegebenen Felder geändert wurden.

search_relationships - Suche nach Beziehungen nach Domänennamen oder Anbieternamen
  • Anfrage: Suchparameter (Objekt, erforderlich)
    • Abfrage: Suchanfrage (Zeichenfolge, erforderlich)

Gibt eine Liste übereinstimmender Beziehungen mit ihren Bewertungsdetails zurück.

create_tags - Neue Tags zum Kategorisieren von Beziehungen erstellen
  • Anfrage: Parameter zur Tag-Erstellung (Objekt, erforderlich)
    • Tags: Liste der zu erstellenden Tags (string[], erforderlich)

Gibt eine Liste aller Tags zurück, einschließlich der neu erstellten.

update_third_party_contact – Aktualisieren Sie die Kontaktdaten eines Drittanbieters
  • Anfrage: Kontakt-Update-Parameter (Objekt, erforderlich)
    • relationshipId: Beziehungs-ID (Nummer, erforderlich)
    • E-Mail: Kontakt-E-Mail (Zeichenfolge, erforderlich)
    • firstName: Vorname des Kontakts (Zeichenfolge, erforderlich)
    • lastName: Nachname des Kontakts (Zeichenfolge, erforderlich)

Gibt die aktualisierten Beziehungsdetails zurück.

get_suggested_contacts - Erhalten Sie Kontaktvorschläge für eine Beziehung
  • relationshipId: Beziehungs-ID (Nummer, erforderlich)

Gibt eine Liste potenzieller Kontakte bei der Lieferantenorganisation zurück.

Webhooks

get_all_webhooks – Alle Webhooks abrufen

Keine Parameter erforderlich.

Gibt eine Liste aller Webhook-Konfigurationen zurück.

get_webhook - Ruft eine Webhook-Konfiguration nach ID ab
  • id: Webhook-ID (Nummer, erforderlich)

Gibt Details einer bestimmten Webhook-Konfiguration zurück.

create_webhook_configuration – Erstellen einer Webhook-Konfiguration
  • Anfrage: Parameter zur Webhook-Erstellung (Objekt, erforderlich)
    • url: Webhook-URL (Zeichenfolge, erforderlich)
    • Geheimnis: Webhook-Geheimnis (Zeichenfolge, erforderlich)
    • eventTypes: Ereignistypen zum Auslösen des Webhooks (string[], erforderlich)
    • serviceType: Diensttyp für den Webhook (Zeichenfolge, erforderlich)

Gibt die erstellte Webhook-Konfiguration zurück.

update_webhook_configuration – Aktualisieren einer Webhook-Konfiguration
  • Anfrage: Webhook-Update-Parameter (Objekt, erforderlich)
    • id: Webhook-ID (Nummer, erforderlich)
    • url: Webhook-URL (Zeichenfolge, optional)
    • Geheimnis: Webhook-Geheimnis (Zeichenfolge, optional)
    • eventTypes: Ereignistypen zum Auslösen des Webhooks (string[], optional)
    • serviceType: Diensttyp für den Webhook (Zeichenfolge, optional)

Gibt die aktualisierte Webhook-Konfiguration zurück.

delete_webhook_configuration – Löschen einer Webhook-Konfiguration
  • id: Webhook-ID (Nummer, erforderlich)

Löscht die angegebene Webhook-Konfiguration.

Codeformatierung

Dieses Projekt verwendet Spotless mit Google Java Format zur Codeformatierung. Ein Pre-Commit-Hook wird automatisch eingerichtet, um einen konsistenten Codestil zu gewährleisten.

Aufstellen

Nach dem Klonen des Repository wird der Pre-Commit-Hook automatisch eingerichtet, wenn Sie einen beliebigen Gradle-Befehl ausführen.

Manuelle Formatierung

So formatieren Sie alle Dateien manuell:

./gradlew spotlessApply

So überprüfen Sie, ob die Dateien richtig formatiert sind:

./gradlew spotlessCheck

Wenn der Pre-Commit-Hook Ihren Commit aufgrund von Formatierungsproblemen ablehnt, führen Sie einfach ./gradlew spotlessApply aus, um die Formatierung zu korrigieren, und versuchen Sie dann erneut, den Commit durchzuführen.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

Related MCP Servers

View all related MCP servers

ID: l5buj2jl58