Zum Inhalt springen

MCP-Server

Mit dem Schulungstool-MCP-Server verwalten KI-Agents Benutzer, Gruppen, Kurse und Teilnahmen Ihres Kontos über das Model Context Protocol (MCP). Er funktioniert mit jedem Client, der Remote-MCP-Server über Streamable HTTP unterstützt, etwa Claude, Claude Code, Microsoft Copilot Studio, Cursor, VS Code, Gemini CLI und n8n.

https://mcp.schulungstool.de/mcp
  • Transport: Streamable HTTP (kein SSE-Endpunkt)
  • Authentifizierung: OAuth-Anmeldung, oder Ihr API-Schlüssel als Request-Header
  • Geltungsbereich: ein Schulungstool-Konto; alle Tools arbeiten ausschließlich auf dessen Daten

Es gibt zwei Wege, sich zu verbinden:

  • Anmelden per OAuth (empfohlen): Server-URL eintragen und anmelden, wenn der Client danach fragt – es gibt keinen Schlüssel zu kopieren. Sie geben die Adresse Ihres Kontos ein, melden sich dort als Administrator an und geben die Verbindung mit den gewählten Zugriffsrechten frei; Tokens werden automatisch ausgestellt und erneuert. Die Verbindung erscheint im Administrationsbereich unter Einstellungen > Erweiterte Einstellungen > Entwickleroptionen und lässt sich dort jederzeit trennen.
  • API-Schlüssel als Request-Header: passend, wenn gemeinsame, langlebige Zugangsdaten gewünscht sind (etwa ein Connector für die ganze Organisation) oder der Client sich nicht per OAuth anmelden kann.

Einen Schlüssel generieren Sie in Ihrem Administrationsbereich unter Einstellungen > Erweiterte Einstellungen > Entwickleroptionen.

Konfigurieren Sie Ihren Client so, dass er den Schlüssel im Authorization-Header mitsendet:

Authorization: Bearer <API-Schlüssel>

Token <API-Schlüssel> wird ebenfalls akzeptiert. Wo ein Client den rohen Header-Wert verlangt, tippen Sie das Präfix Bearer mit ein. Behandeln Sie den Schlüssel wie ein Passwort: Nutzen Sie Umgebungsvariablen oder den Geheimnisspeicher Ihres Clients, und committen Sie ihn nie in ein Repository.

Die Zugriffsrechte der Verbindung bestimmen, welche Tools funktionieren: Jedes Tool arbeitet mit genau den Rechten, die der Schlüssel trägt oder die bei der OAuth-Freigabe gewählt wurden, nicht mehr. Die Tool-Tabelle unten nennt je Tool das benötigte Recht; für den vollen Werkzeugkasten braucht eine Verbindung users:write, groups:write, courses:read und participations:write.

Nutzen Sie je Agent einen eigenen Schlüssel bzw. eine eigene Verbindung und vergeben Sie nur, was seine Aufgaben brauchen: Ein Agent, der nur Fragen zum Schulungsstand beantwortet, kommt mit users:read, groups:read, courses:read und participations:read aus. Scheitert ein Tool-Aufruf an einem fehlenden Recht, nennt der Fehler das Recht; ein Administrator kann es im Administrationsbereich vergeben (bei OAuth-Verbindungen: trennen und mit den benötigten Rechten neu verbinden), die Änderung gilt sofort. Das Tool get_key_info zeigt, welche Rechte die Verbindung trägt und welche Tools damit verfügbar sind.

Beim Verbinden per OAuth bietet die Freigabe genau die Rechte an, die die Tools nutzen können; Login-Links und das Löschen von Benutzern gehören nicht dazu.

Einstellungen > Connectoren > Eigenen Connector hinzufügen (Stand: Oktober 2026): Name und Server-URL https://mcp.schulungstool.de/mcp eintragen.

  • Mit OAuth (empfohlen): die voreingestellte Anmeldung beibehalten. Beim Verbinden öffnet sich ein Schulungstool-Fenster: Adresse des Kontos eingeben, als Administrator anmelden und die Zugriffsrechte freigeben.
  • Mit API-Schlüssel: als Authentifizierung Keine Anmeldung wählen und den Request-Header Authorization mit dem Wert Bearer <API-Schlüssel> hinterlegen (inklusive des Präfixes Bearer ). Request-Header für eigene Connectoren werden derzeit schrittweise freigeschaltet und stehen noch nicht in jeder Organisation zur Verfügung.

Den Connector anschließend pro Unterhaltung über das Plus-Menü aktivieren. Die Authentifizierungs-Einstellungen lassen sich nachträglich nicht ändern; legen Sie den Connector in dem Fall neu an. Auf Team- und Enterprise-Plänen teilen sich alle Mitglieder die Zugangsdaten eines organisationsweiten Connectors.

Je Projekt in .mcp.json, mit dem Schlüssel in einer Umgebungsvariable:

{
"mcpServers": {
"schulungstool": {
"type": "http",
"url": "https://mcp.schulungstool.de/mcp",
"headers": { "Authorization": "Bearer ${SCHULUNGSTOOL_API_KEY}" }
}
}
}

Oder mit einem einzigen Befehl. Wichtig sind die einfachen Anführungszeichen: Sie lassen die Variable als Verweis stehen. Bei doppelten Anführungszeichen setzt die Shell den Schlüssel selbst ein, und Claude Code speichert ihn dann im Klartext in seiner lokalen Konfiguration.

Terminal-Fenster
claude mcp add --transport http schulungstool https://mcp.schulungstool.de/mcp \
--header 'Authorization: Bearer ${SCHULUNGSTOOL_API_KEY}'

Die Verbindung prüfen Sie mit /mcp.

Einstellungen > Connectoren > Erstellen (der Entwicklermodus muss aktiviert sein): Name und Server-URL https://mcp.schulungstool.de/mcp eintragen und als Authentifizierung OAuth wählen. Beim Verbinden öffnet sich ein Schulungstool-Fenster: Adresse des Kontos eingeben, als Administrator anmelden und die Zugriffsrechte freigeben. Ein Feld für einen statischen API-Schlüssel-Header gibt es in ChatGPT nicht; OAuth ist dort der einzige Weg.

In ~/.cursor/mcp.json (global) oder .cursor/mcp.json (je Projekt):

{
"mcpServers": {
"schulungstool": {
"url": "https://mcp.schulungstool.de/mcp",
"headers": { "Authorization": "Bearer <API-Schlüssel>" }
}
}
}

Befehlspalette > MCP: Add Server > HTTP, oder in .vscode/mcp.json mit dem Schlüssel als maskierter Input-Variable:

{
"inputs": [
{
"id": "schulungstool-key",
"type": "promptString",
"description": "Schulungstool API-Schlüssel",
"password": true
}
],
"servers": {
"schulungstool": {
"type": "http",
"url": "https://mcp.schulungstool.de/mcp",
"headers": { "Authorization": "Bearer ${input:schulungstool-key}" }
}
}
}

Agent > Tools > Add a tool > New tool > Model Context Protocol: Name, Beschreibung und Server-URL eintragen, Authentifizierung API key mit Typ Header und Header-Name Authorization wählen, dann eine Connection anlegen und als Wert Bearer <API-Schlüssel> eingeben. Voraussetzung ist aktive generative Orchestrierung; DLP-Richtlinien der Power Platform können eigene Connectoren blockieren.

In ~/.gemini/settings.json:

{
"mcpServers": {
"schulungstool": {
"httpUrl": "https://mcp.schulungstool.de/mcp",
"headers": { "Authorization": "Bearer $SCHULUNGSTOOL_API_KEY" }
}
}
}

Fügen Sie einem AI-Agent-Node das Tool MCP Client Tool hinzu, tragen Sie die Endpoint-URL ein, wählen Sie die Authentifizierung Bearer und hinterlegen Sie den API-Schlüssel als Credential.

Stellen Sie nach dem Verbinden eine risikofreie Frage, zum Beispiel:

Welche Zugriffsrechte hat mein Schulungstool-Schlüssel?

Der Agent sollte get_key_info aufrufen und die Rechte des Schlüssels auflisten; das Tool funktioniert mit jedem gültigen Schlüssel unabhängig von dessen Rechten. Dann steht die Verbindung.

Alle Tools liefern kompaktes JSON mit stabilen IDs. Such-Tools geben eine Seite je Aufruf zurück; solange has_next_page wahr ist, holen Sie mit page weitere Seiten.

Tool Typ Zugriffsrecht Zweck
get_key_info Lesen keins Name, Zugriffsrechte und verfügbare Tools des verbundenen API-Schlüssels
search_users Lesen users:read Benutzer nach Name, E-Mail oder Benutzername finden
get_user Lesen users:read, groups:read Benutzerdetails inklusive Gruppenmitgliedschaften
create_user Schreiben users:write Benutzer mit Benutzername und Startpasswort anlegen, das der Benutzer bei der ersten Anmeldung ändern muss
invite_user Schreiben users:write Benutzer per E-Mail einladen (versendet eine Einladungsmail)
update_user Schreiben users:write Felder eines bestehenden Benutzers ändern
search_groups Lesen groups:read Gruppen nach Name finden
get_group Lesen groups:read, users:read Gruppendetails inklusive einer Seite der Mitglieder
add_group_member Schreiben groups:write Benutzer zu einer Gruppe hinzufügen
remove_group_member Schreiben groups:write Benutzer aus einer Gruppe entfernen
search_courses Lesen courses:read Kurse nach Name oder Kategorie finden
get_course Lesen courses:read Kursdetails
enroll_user Schreiben participations:write Benutzer in einen Kurs einschreiben (legt eine Teilnahme an)
get_participations Lesen participations:read Teilnahmen auflisten, filterbar nach Benutzer, Kurs, Status
get_certificate_info Lesen participations:read Abschluss-Status und Zertifikatsverfügbarkeit einer Teilnahme

get_key_info funktioniert mit jedem gültigen Schlüssel unabhängig von dessen Rechten und eignet sich zugleich als Verbindungstest. Tools, die zwei Ressourcen auf einmal lesen (etwa get_user mit den Gruppenmitgliedschaften), brauchen beide genannten Rechte.

Beispiel-Prompts:

  • „Lege einen Benutzer für Erika Musterfrau (erika.musterfrau@example.com) an und schreibe sie in den Datenschutz-Kurs ein.“
  • „Welche Teilnehmer des Erste-Hilfe-Kurses haben ihn noch nicht abgeschlossen?“
  • „Füge alle aus der Gruppe Vertrieb dem neuen Compliance-Kurs hinzu.“

Das Löschen von Benutzern ist über MCP bewusst nicht möglich; nutzen Sie dafür den Administrationsbereich oder die REST-API.

  • Die Durchsatzbegrenzung der REST-API gilt: MCP-Aufrufe zählen wie API-Anfragen, je Konto und je Schlüssel bzw. Verbindung. Einladungen und Einschreibungen mit E-Mail-Benachrichtigung zählen zum E-Mail-Limit; die Notiz in enroll_user ist auf 500 Zeichen begrenzt.
  • Schreibende Tools senden automatisch einen Idempotency-Key: Wiederholt ein Agent einen Aufruf nach einem Timeout, bekommt er das erste Ergebnis statt eines Duplikats.
  • Jeder Tool-Aufruf landet im API-Protokoll Ihres Kontos mit dem User-Agent schulungstool-mcp/<Version>; Agent-Aktivität lässt sich dort nachvollziehen.
  • Tool-Namen, Parameter und Ergebnisfelder behandeln wir wie API-Verträge: Breaking Changes kündigen wir im Changelog mit Übergangsfrist an.
  • Der Server ist zustandslos; er speichert weder eigene Daten noch Gesprächsverläufe.
  • 401 Unauthorized: Der Header fehlt oder ist fehlerhaft, oder die Zugangsdaten wurden abgelehnt. Prüfen Sie beim API-Schlüssel, ob der Wert das Präfix Bearer (oder Token ) und den vollständigen, 128 Zeichen langen Schlüssel enthält. Bei OAuth erneuert der Client ein abgelaufenes Token selbst; wurde die Verbindung im Administrationsbereich getrennt, melden Sie sich neu an.
  • 403 mit „Required access right“: Dem Schlüssel fehlt das Recht, das das Tool braucht; der Fehler nennt es. Ein Administrator kann es unter Einstellungen > Erweiterte Einstellungen > Entwickleroptionen vergeben, die Änderung gilt sofort. get_key_info zeigt die aktuellen Rechte.
  • 429 Too Many Requests: Durchsatzgrenze erreicht oder zu viele fehlgeschlagene Authentifizierungsversuche für diesen Schlüssel. Warten Sie die in Retry-After genannte Zeit ab.
  • Die OAuth-Anmeldung scheitert oder wiederholt sich: Stellen Sie sicher, dass die Server-URL exakt https://mcp.schulungstool.de/mcp lautet, melden Sie sich als Administrator des Kontos an (nur Administratoren können Verbindungen freigeben) und schließen Sie die Freigabe innerhalb weniger Minuten ab. Wurde eine Verbindung im Administrationsbereich getrennt, muss sich der Client neu anmelden.
  • 401 mit hinterlegtem API-Schlüssel, obwohl der Schlüssel gültig ist: Prüfen Sie, ob die Authentifizierung als statischer Header konfiguriert ist (Keine Anmeldung auf claude.ai) und nicht als OAuth.
  • Tool-Aufrufe scheitern mit Validierungsfehlern: Die Fehlermeldung nennt die betroffenen Felder und die nötige Korrektur; Agents beheben das in der Regel selbst.