MCP-Fähigkeiten
Als Admin können Sie MCP-Server als Fähigkeiten in Alan bereitstellen. Alan wird damit ermöglicht, auf externe Dienste zuzugreifen, wodurch der Austausch von Daten möglich wird. MCP-Server bieten eine standardisierte Möglichkeit für Alan, mit verschiedenen Diensten zu kommunizieren, sodass deren Fähigkeiten und Informationen innerhalb von Alan genutzt werden können.
MCP steht für Model Context Protocol und beschreibt ein Protokoll mit dem Server – die sogenannten MCP-Server – Kontextinformationen für Large Language Models (LLMs) wie Alan bereitstellen können. MCP wurde durch die Firma Anthropic entwickelt und popularisiert und hat sich zu einem Branchenstandard etabliert. Viele Software-Anbieter stellen MCP-Server für ihre Produkte bereit. Darüber hinaus gibt es Entwicklungswerkzeuge, die es Unternehmen ermöglichen, eigene MCP-Server zu entwickeln und in ihre LLM-Lösungen einzubinden.
Wichtig:
Nur Admins können MCP-Fähigkeiten anlegen und verwalten. Die Nutzung der Fähigkeiten ist dann für alle Nutzer im Tenant möglich. Das heißt, nachdem Sie als Admin eine MCP-Fähigkeit angelegt haben, können alle Nutzer Ihres Tenants diese Fähigkeit in ihren Chats nutzen.
MCP-Fähigkeiten verwalten
Um MCP-Fähigkeiten in Alan zu verwalten, navigieren Sie zum Menü "MCP-Server" im Adminbereich.
Hier finden Sie eine Übersicht aller bestehenden MCP-Fähigkeiten in Alan. Bestehende MCP-Fähigkeiten können Sie hier bearbeiten oder löschen.
MCP-Fähigkeiten anlegen
Über den "Neu"-Button können Sie MCP-Server als Fähigkeiten hinzufügen. Titel und Beschreibung helfen Ihnen bei der MCP-Verwaltung und Nutzern bei der Fähigkeitenauswahl in ihren Chats. Diese Beschreibungen werden nicht an das LLM selbst weitergeleitet. Die Beschreibung des MCP-Servers und der durch ihn bereitgestellten Werkzeuge obliegt einzig dem MCP-Server selbst.
Schutzstatus
Der Schutzstatus gibt Nutzern Orientierung, ob sie sensible, unternehmensinterne Informationen in einem Chat mit dieser Fähigkeit verwenden dürfen. Wenn es sich um eine sichere Datenverbindung handelt, können Nutzer "sicher chatten", ansonsten bekommen sie einen Hinweis angezeigt, dass "externe Dienste" zur Erzeugung der Chat-Antworten verwendet werden und sie vorsichtig mit sensiblen Informationen umgehen müssen.
Der Schutzstatus bestimmt außerdem darüber, ob standardmäßig eine manuelle Nutzungsgenehmigung dieser Fähigkeit erforderlich ist. Bei sicheren Datenverbindungen wird standardmäßig eine automatische Nutzungsgenehmigung erteilt, ansonsten ist standardmäßig eine manuelle Nutzungsgenehmigung erforderlich.
URL
Im URL-Feld müssen Sie die URL des MCP-Servers angeben. Dabei muss es sich um eine HTTPS-URL handeln, die für das Alan-Backend zugänglich ist. Der MCP-Standard hat historisch mehrere Kommunikationsprotokolle unterstützt: WebSockets, Server Sent Events (SSE) und Streamable-HTTP. Alan unterstützt nur MCP-Server mit dem moderneren Streamable-HTTP Protokoll. Die anderen Kommunikationsprotokolle sind in dem aktuellen MCP-Standard nicht mehr vorgesehen.
Authentifizierung
Wenn Ihr MCP-Server keinen öffentlichen (anonymen) Zugriff erlaubt, können Sie zwischen zwei Authentifizierungsmethoden wählen. Es kann nur eine Methode gleichzeitig aktiv sein: die Authentifizierung erfolgt entweder über OAuth2 oder es wird ein statischer API-Schlüssel verwendet.
OAuth2
Alan unterstützt für die Authentifizierung an MCP-Servern den Authorization Code Grant
aus OAuth2. Hierfür muss im Authorization Server (z.B. Entra ID, Keycloak, o.Ä.) ein Client mit entsprechendem Secret angelegt werden. Zusätzlich werden die Authorization-URL und die Token-URL benötigt.
Wichtig: Alan verwaltet die Access Tokens für jeden Nutzer und sorgt dafür, dass vor jeder Chatanfrage mit MCP-Servern ein Access Token mit ausreichender Lebensdauer erstellt wird. Hierfür muss der Authorization Server Refresh Tokens ausstellen, da sonst eine dauerhafte Authentifizierung der Nutzer am MCP-Server nicht möglich ist und es zu unerwarteten Fehlern bei der Authentifizierung kommen kann.
Wenn die Authentifizierung per OAuth2 erfolgen soll, müssen Sie die folgenden Felder befüllen:
- Client-ID: Name oder Idenfikator des Client
- Client-Secret: Zum Client zugehöriges Secret
- Authorization-URL: URL für die Autorisierungsanfrage, z.B. für Entra ID
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
- Token-URL: URL für den Tokenabruf, z.B. für Entra ID
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
Normalerweise muss im Authorization Server eine valide Redirect URL hinterlegt werden. Die Redirect URL einer MCP-Fähigkeit wird in Alan angezeigt, nachdem die o.g. Einstellungen vorgenommen worden sind und die MCP-Fähigkeit in Alan angelegt wurde. Sollte Ihr Authorization Server kein Anlegen eines Client ohne Redirect-URL erlauben (z.B. GitHub), tragen sie vorübergehend eine URL wie https://example.com
ein und aktualisieren Sie diese, nachdem die MCP-Fähigkeit in Alan angelegt worden ist.
Sobald eine MCP-Fähigkeit mit OAuth2 Authentifizierung in Alan angelegt wurde, können alle Nutzer in Ihrem Tenant diese in ihren Chats mit Alan verwenden. Dafür müssen sich Ihre Anwender vor der Nutzung durch einen Klick auf Login
authentifizieren. Sofern Ihre Anwender den MCP-Server innerhalb der Lebensdauer des Refresh Token regelmäßig verwenden, ist diese Authentifizierung nicht noch einmal nötig. Ihre Anwender können sich jederzeit abmelden oder neu authentifizieren, sollte der Refresh Token abgelaufen sein.
Durch die Verwendung von OAuth2 sind fortan alle Interaktionen mit dem MCP-Server auf den eingeloggten Nutzer eingeschränkt. Diese Methode eignet sich also ideal, um bestimmte Informationen nur ausgewählten Nutzergruppen zur Verfügung zu stellen oder um auf nutzerspezifische Ressourcen zuzugreifen.
API-Schlüssel
Wenn die Authentifizierung per API-Schlüssel erfolgen soll, setzen Sie einen Schlüssel für die Verbindung zum MCP-Server. Damit können alle Nutzer in Ihrem Tenant ohne weitere Authentifizierung auf den MCP-Server zugreifen. Im Unterschied zur OAuth2-Authentifizierung haben somit alle Nutzer Zugriff auf die gleichen Daten und müssen sich nicht individuell authentifizieren.
Es ist nicht möglich, den API-Schlüssel nach dem Speichern auszulesen, er kann jedoch neu gesetzt oder gelöscht werden.