Zum Hauptinhalt springen

Syncanto MCP

Syncanto MCP

Syncanto stellt einen öffentlichen Zugang zur Dokumentation und einen authentifizierten, ausschließlich lesenden Zugang zu ausgewählten Daten der eigenen Organisation bereit.

Öffentliche Dokumentation

Der öffentliche MCP kann ausschließlich Inhalte aus der öffentlichen Syncanto-Dokumentation bereitstellen, darunter:

  • Erste Schritte
  • App und Installation
  • zentrale Syncanto-Funktionen
  • Quick Tips
  • Hilfe und Problemlösung

Interne Produktdokumente, Benutzerkonten und Daten einer Organisation werden über diesen öffentlichen Zugang nicht bereitgestellt.

Endpunkt

https://www.syncanto.de/mcp

Für den öffentlichen Dokumentationszugriff ist keine Anmeldung erforderlich.

Funktionen

Die Resource syncanto://docs/index liefert einen Index der verfügbaren öffentlichen Dokumentationsseiten. Das Tool search-syncanto-docs durchsucht die offiziellen Dokumentationsquellen und liefert passende Ausschnitte mit Links zur jeweiligen Hilfeseite.

Authentifizierter Read-only-Zugriff

Der authentifizierte MCP ist read-only. Er kann keine Daten erstellen, bearbeiten oder löschen und stellt keine administrativen Sonderrechte bereit.

Aktuell können folgende Datensätze abgefragt werden:

  • me – Name und aktuell aktive Organisation
  • organisation – Name der aktiven Organisation
  • rehearsals – kommende, für den Benutzer sichtbare Proben
  • concerts – kommende, für den Benutzer sichtbare Konzerte
  • songs – aktive, für den Benutzer sichtbare Songs
  • todos – offene, für den Benutzer sichtbare Aufgaben

Dafür stellt der Server das Tool read-syncanto-data bereit.

Beispiele:

  • „Wann ist meine nächste Probe?“
  • „Welche Konzerte stehen als Nächstes an?“
  • „Welche Songs sind für mich sichtbar?“
  • „Welche Aufgaben sind noch offen?“

OAuth-Anmeldung für ChatGPT und andere MCP-Clients

Für externe MCP-Clients wie ChatGPT steht ein eigener OAuth-2.1-Endpunkt über Laravel Passport bereit:

https://www.syncanto.de/mcp/syncanto/oauth

Ein kompatibler MCP-Client startet die Anmeldung selbst über die Discovery-Endpunkte von Syncanto. Der Benutzer meldet sich anschließend normal bei Syncanto an und bestätigt auf einer eigenen Freigabeseite den lesenden MCP-Zugriff.

Die OAuth-Discovery steht unter folgenden Standard-Endpunkten bereit:

https://www.syncanto.de/.well-known/oauth-protected-resource
https://www.syncanto.de/.well-known/oauth-authorization-server

Laravel MCP registriert externe Clients dynamisch und verwendet dafür den Scope mcp:use. Access Tokens laufen nach 30 Tagen ab; Refresh Tokens können bis zu 90 Tage verwendet werden. Ein OAuth-Zugriff kann serverseitig widerrufen werden.

Für ChatGPT wird als MCP-Endpunkt ausschließlich diese URL eingetragen:

https://www.syncanto.de/mcp/syncanto/oauth

Der OAuth-Flow wird anschließend vom Client gestartet. Ein manuell kopierter Syncanto-Token ist dafür nicht erforderlich.

Persönliche API-Tokens

Der mit MCP 2 eingeführte Sanctum-Endpunkt bleibt für Entwicklung und kontrollierte Integrationen unverändert verfügbar:

https://www.syncanto.de/mcp/syncanto

Dafür wird ein persönlicher Syncanto-API-Token mit der Berechtigung mcp:read als Bearer-Token übergeben. Neu erstellte MCP-Tokens laufen nach 90 Tagen ab und können jederzeit in Syncanto widerrufen werden.

Berechtigungen und Organisation

Die aktive Organisation wird ausschließlich serverseitig aus dem authentifizierten Benutzer bestimmt. Der MCP nimmt keine Organisations-ID vom Client entgegen. Vor jeder Abfrage wird zusätzlich geprüft, ob die Mitgliedschaft in dieser Organisation noch aktiv und freigeschaltet ist.

Listen werden zuerst auf die aktive Organisation eingeschränkt und anschließend mit den bestehenden Syncanto-Policies gefiltert. Dadurch kann der MCP nur Daten zurückgeben, die der Benutzer auch in Syncanto sehen darf.

Datenminimierung

Der MCP gibt bewusst nur wenige freigegebene Felder aus. Beispielsweise enthält me den Namen und die aktive Organisation, aber keine E-Mail-Adresse, Anschrift, technischen IDs oder Authentifizierungsdaten. Auch die übrigen Datensätze enthalten keine internen Modellfelder oder Tokens.

Betriebshinweis für Passport

Beim ersten Deployment mit OAuth müssen auf dem Server einmalig die Passport-Schlüssel erzeugt werden:

php artisan passport:keys

Die Schlüssel gehören nicht ins Git-Repository und dürfen bei späteren Deployments nicht neu erzeugt werden, da eine Rotation bestehende OAuth-Verbindungen ungültig machen kann. Die für Passport benötigten Datenbanktabellen werden über die normalen Laravel-Migrationen angelegt.

Woher stammen die Dokumentationsinhalte?

Der öffentliche MCP verwendet dieselben Markdown-Dateien wie diese Dokumentationswebsite. Dadurch bleibt die Dokumentation die zentrale Quelle und Inhalte müssen nicht zusätzlich für den MCP gepflegt werden.