MCP-Konnektoren¶
Übersicht¶
Ein MCP-Konnektor in Snowflake verbindet Snowflake Intelligence und Cortex Agenten mit einem entfernten Model Context Protocol (MCP)-Server, sodass der Agent Tools erkennen und aufrufen kann, die von Anbietern wie Atlassian Jira, Salesforce oder Ihren eigenen benutzerdefinierten Anwendungen bereitgestellt werden Durch MCP-Konnektoren können Ihre Agenten über die Beantwortung von Fragen hinaus gehen und Aktionen in Unternehmenssystemen durchführen, z. B. das Erstellen von Jira-Tickets, das Aktualisieren von Salesforce-Datensätzen oder das Posten in Slack, und das alles innerhalb der verwalteten Umgebung von Snowflake.
Wie MCP-Konnektoren funktionieren¶
Administratoren erstellen ein externes MCP-Serverobjekt, das auf eine API-Integration verweist, die OAuth-Anmeldeinformationen enthält. Snowflake unterstützt Standard-OAuth mit Anmeldeinformationen (Client-ID, Clientgeheimnis) sowie die dynamische Clientregistrierung (DCR). Sie können aus einer Reihe von verfügbaren MCP-Konnektoren auswählen oder Ihren eigenen Konnektor erstellen. Nachdem der MCP-Konnektor zum Agenten hinzugefügt wurde, können sich Benutzer mit dem Drittanbieterdienst authentifizieren und die Tools direkt mit Cortex Agents und in Snowflake Intelligence verwenden.
Einrichtungsablauf¶
Mit diesen Schritten können Sie einen MCP-Konnektor erstellen und in Ihren Snowflake-Workflows verwenden:
Einrichten durch den Anbieter: Der Kontoadministrator erstellt einen MCP-Server auf dem Dashboard des Anbieters (z. B. Salesforce oder Atlassian) und erhält OAuth-Anmeldeinformationen.
API-Integration: Der Kontoadministrator erstellt eine API-Integration in Snowflake, in der die Server-URL, Client-ID, das Clientgeheimnis und OAuth-Endpunkte gespeichert werden.
Externe MCP-Servererstellung: Der Kontoadministrator erstellt ein externes MCP-Serverobjekt, das auf die API-Integration verweist.
Agentenkonfiguration: Der Entwickler des Agenten fügt den externen MCP-Server zur Spezifikation eines Cortex Agents hinzu.
Benutzerauthentifizierung: Snowflake Intelligence-Benutzer verbinden sich mit dem MCP-Server über die Snowflake Intelligence-Schnittstelle und authentifizieren sich gegenüber dem Drittanbieterdienst mittels OAuth.
Erkennen und Aufrufen von Tools¶
Wenn ein Agent aufgerufen wird, ruft er die Liste der verfügbaren Tools von jedem konfigurierten externen MCP-Server unter Verwendung der tools/list-Methode ab. Während der Orchestrierung ruft der Agent bestimmte Tools auf, indem er die tools/call-Methode nutzt und die erforderlichen Argumente übergibt. Snowflake überprüft, ob sowohl der MCP-Server als auch dessen zugrunde liegende API-Integration aktiviert wurden, bevor ein Tool-Aufruf ausgeführt wird.
Zugriffssteuerung¶
In der folgenden Tabelle sind die Berechtigungen beschrieben, die für externe MCP-Serveroperationen erforderlich sind:
Berechtigung |
Objekt |
Erforderlich für |
|---|---|---|
CREATE EXTERNAL MCP SERVER |
Schema |
Erstellen eines externen MCP-Servers |
OWNERSHIP |
MCP Server |
Löschen des MCP-Servers |
MODIFY |
MCP Server |
Aktualisieren, Löschen, Beschreiben, Anzeigen und Verwenden des MCP-Servers |
USAGE |
MCP Server |
Verbinden mit dem MCP-Server und Erkennungstools |
USAGE |
API-Integration |
Verbinden mit dem MCP-Server und Erkennungstools |
OWNERSHIP oder MODIFY |
API-Integration |
Aktivieren, Deaktivieren oder Löschen der API-Integration |
Standardmäßig verfügen nur Kontoadministratoren über diese Berechtigungen.
Wichtig
Externe MCP-Server werden nicht von Snowflake bereitgestellt, gewartet oder überprüft. Durch die Verbindung mit einem externen MCP-Server sind Sie dafür verantwortlich, die Vertrauenswürdigkeit des Servers zu überprüfen, sicherzustellen, dass Sie über die Rechte für den Zugriff und die Verarbeitung der bereitgestellten Daten verfügen, und alle geltenden Gesetze sowie die Bedingungen Dritter, die diese Daten regeln, einzuhalten Snowflake übernimmt keine Garantie oder Unterstützung für externe MCP-Server und ist nicht verantwortlich für Fehler, Datenverluste oder Sicherheitsvorfälle, die sich aus der Verwendung ergeben.
Einrichten unterstützter MCP-Konnektoren¶
Sie können sich mit minimalem Konfigurationsaufwand mit den folgenden MCP-Servern verbinden
Atlassian
GitHub
Glean
Linear
Salesforce
Mit diesen MCP-Anbietern durchlaufen Sie den folgenden Workflow:
Geben Sie in die Anbieterdetails im Typfeld
API_USER_AUTHENTICATIONan.Richten Sie die Anbieterkonfiguration ein, die für jeden Anbieter eindeutig ist.
Referenzieren Sie diese API-Integration bei der Erstellung des externen MCP-Server-Objekts.
Bemerkung
Für OAuth-Autorisierungscodeabläufe muss der Client einen URL-Callback bereitstellen, nachdem die Zustimmung zum externen Dienstanbieter erteilt wurde. Der externe Dienstanbieter sendet den Benutzer an den URL-Callback, um den Ablauf zu beenden. Im Allgemeinen müssen zwei URLs an die OAuth-App-Konfiguration übergeben werden:
Für Cortex Code-CLI:
<account_url>/oauth/complete-secretFür Snowflake Intelligence- und Snowsight-UI:
<snowsight_url>/oauth/complete-secret
Die Snowsight-URL kann über SYSTEM$ALLOWLIST oder SYSTEM$ALLOWLIST_PRIVATELINK abgerufen werden, je nachdem, ob PrivateLink verwendet wird. Wählen Sie den Typ SNOWSIGHT_DEPLOYMENT, der mit apps-api (für öffentlichen Zugang) oder app.<region>.privatelink.snowflakecomputing (für PrivateLink ) beginnt.
Navigieren Sie zu
Admin.atlassian.com.Wählen Sie im linken Navigationsbereich die Option Apps > AI Settings > Rovo MCP Server aus.
Unter Your domains wählen Sie Add Domain aus, um zwei Callback-URLs hinzuzufügen, wie im Hinweis oben beschrieben.
Wählen Sie Add aus.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option AI & ML » Agents aus.
Wählen Sie Settings aus.
Wählen Sie Tools and Connectors aus.
Wählen Sie Browse Connectors aus.
Wählen Sie Atlassian aus.
Geben Sie einen Namen und eine Beschreibung für den MCP-Server ein.
Unter Server URL geben Sie
https://mcp.atlassian.com/v1/mcpein.Wählen Sie die Datenbank und das Schema aus, wo der MCP-Server erstellt wird.
Wählen Sie Add aus.
Das folgende Beispiel zeigt die SQL-Befehle, um die API-Integration und den MCP-Server für Atlassian zu erstellen.
Melden Sie sich bei GitHub an.
Navigieren Sie zum rechten oberen Avatar und wählen Sie Settings aus.
Wählen Sie Developer Settings aus.
Wählen Sie New GitHub App aus. Geben Sie den Namen, die Homepage-URL und zwei Callback-URLs an, wie zuvor beschrieben.
Sie können Webhook deaktivieren und benutzerdefinierte Berechtigungen (Bereiche) einstellen.
Erstellen Sie die App. Sie sollten die App in GitHub Apps in den Developer Settings sehen.
Wählen Sie Edit und Generate a new client secret. Notieren Sie die Client-ID und Geheimnis.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option AI & ML » Agents aus.
Wählen Sie Settings aus.
Wählen Sie Tools and Connectors aus.
Wählen Sie Browse Connectors aus.
Wählen Sie GitHub aus.
Geben Sie eine Beschreibung für den MCP-Server ein.
Unter Server URL geben Sie
https://api.githubcopilot.com/mcpein.Geben Sie für den Token endpoint
https://github.com/login/oauth/access_tokenein.Geben Sie für den Authorization endpoint
https://github.com/login/oauth/authorizeein.Geben Sie als Client ID die notierte Client-ID ein.
Geben Sie als Client secret das notierte Clientgeheimnis ein.
Wählen Sie die Datenbank und das Schema aus, wo der MCP-Server erstellt wird.
Wählen Sie Add aus.
Navigieren Sie zu
app.glean.com/settings/install.Wählen Sie Configure MCP Server aus.
Wählen Sie unter Host application die Option Custom aus. Wählen Sie für den MCP-Server den gewünschten Server aus (kann Standard sein).
Kopieren Sie die Server-URL.
Wählen Sie Save aus.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option AI & ML » Agents aus.
Wählen Sie Settings aus.
Wählen Sie Tools and Connectors aus.
Wählen Sie Browse Connectors aus.
Wählen Sie Glean aus.
Geben Sie eine Beschreibung für den MCP-Server ein.
Geben Sie als Server URL die kopierte Server-URL ein.
Wählen Sie die Datenbank und das Schema aus, wo der MCP-Server erstellt wird.
Wählen Sie Add aus.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option AI & ML » Agents aus.
Wählen Sie Settings aus.
Wählen Sie Tools and Connectors aus.
Wählen Sie Browse Connectors aus.
Wählen Sie Linear aus.
Geben Sie eine Beschreibung für den MCP-Server ein.
Wählen Sie die Datenbank und das Schema aus, wo der MCP-Server erstellt wird.
Wählen Sie Add aus.
Bemerkung
Sie müssen Administratorzugriff auf Ihre Salesforce (Sandbox)-Organisation haben.
Navigieren Sie zu Ihrer Salesforce-Organisation.
Rufen Sie Setup über das App-Symbol auf.
Suchen Sie nach External Client App Manager in der Suchleiste der neuen Seite.
Wählen Sie New External Client App und markieren Sie Enable OAuth.
Nachdem die App erstellt wurde, navigieren Sie zu den OAuth Settings der App.
Konfigurieren Sie die Bereiche (stellen Sie sicher, dass
sfap_apienthalten ist) und den URI-Callback als<snowsight_url>/oauth/complete-secret.Beachten Sie Consumer Key and Secret, welche die OAuth-Client-ID und das Clientgeheimnis sind, die in der externen Snowflake-API verwendet werden sollen.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option AI & ML » Agents aus.
Wählen Sie Settings aus.
Wählen Sie Tools and Connectors aus.
Wählen Sie Browse Connectors aus.
Wählen Sie Salesforce aus.
Geben Sie eine Beschreibung für den MCP-Server ein.
Geben Sie die MCP-Server-URL ein. Salesforce macht seine MCP-Server über individuelle URLs verfügbar, und der Benutzer muss wissen, auf welchen Server oder welche Tools er zugreifen soll Die OAuth-Token, das aus dem letzten Schritt abgerufen wurden, können für alle Server und Tools verwendet werden, sofern die Geltungsbereiche dies zulassen.
Das Basis-URL für jeden gehosteten MCP-Server ist:
https://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/<server_name>wenn Ihre Organisation eine Sandbox istAnsonsten
https://api.salesforce.com/platform/mcp/v1-beta.2/platform/<server_name>ohne/sandbox-Suffix
Da die Testorganisation eine Sandbox ist, verwenden Sie``test.salesforce.com`` als Domäne der OAuth-Endpunkte und
https://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/<server_name>als Basis-URL imEXTERNAL MCP SERVER-Objekt.Sie können die gewünschten MCP-Server-URLs mit der Basis erstellen. Beispiel:
https://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/sobject-allhttps://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/queryhttps://api.salesforce.com/platform/mcp/v1-beta.2/sandbox/platform/search
Geben Sie das Token und die Autorisierungsendpunkte ein:
Für den Token endpoint, geben Sie
https://<domain>/services/oauth2/tokenein.Für den Authorization endpoint, geben Sie :code:` https://<domain> /services/oauth2/authorize` ein.
Bemerkung
<domain>kann eine vontest.salesforce.comsein, wenn die Salesforce-Organisation eine Sandbox ist, ansonstenlogin.salesforce.com.Geben Sie die Client-ID und das Clientgeheimnis ein, die Sie notiert haben.
Wählen Sie die Datenbank und das Schema aus, wo der MCP-Server erstellt wird.
Wählen Sie Add aus.
Kundenspezifische MCP-Konnektoren¶
Sie können benutzerdefinierte Konnektoren auch manuell konfigurieren, um eine Verbindung zu einem beliebigen MCP-kompatiblem Endpunkt herzustellen.
Stellen Sie die vollständige OAuth-Konfiguration als Teil der API-Integrationserstellung bereit:
Alternativ können Sie auch API-Integration mit DCR verwenden:
Erstellen Sie das MCP-Serverobjekt:
Referenzieren Sie den MCP-Server in der Konfiguration des Agenten:
OAuth-Parameter für benutzerdefinierte MCP-Server¶
In der folgenden Tabelle beschreibt den OAuth-Parameter für benutzerdefinierte MCP-Server:
Parameter |
Typ |
Erforderlich |
Standard |
Beschreibung |
|---|---|---|---|---|
OAUTH_CLIENT_ID |
STRING |
Ja |
Keine |
Client-ID des MCP-Serveranbieters |
OAUTH_CLIENT_SECRET |
STRING |
Ja |
Keine |
Clientgeheimnis des MCP-Serveranbieters |
OAUTH_DISCOVERY_URL |
STRING |
Nein |
Keine |
OpenID Connect Discovery URL für die automatische Endpunkt-Auflösung |
OAUTH_TOKEN_ENDPOINT |
STRING |
Ja |
Keine |
Endpunkt für den Austausch von Autorisierungscodes für Zugriffstoken |
OAUTH_AUTHORIZATION_ENDPOINT |
STRING |
Ja |
Keine |
Endpunkt, an dem Benutzer die Verbindung autorisieren |
OAUTH_CLIENT_AUTH_METHOD |
STRING |
Nein |
CLIENT_SECRET_BASIC |
Authentifizierungsmethode: CLIENT_SECRET_BASIC oder CLIENT_SECRET_POST |
MCP-Konnektoren zum Cortex Agent hinzufügen¶
Nach der MCP-Serverobjekterstellung referenziert der Agentenentwickler es in der Cortex Agent-Konfiguration. MCP-Konnektoren sind im Agent Admin-UI verfügbar, wo Entwickler MCP-Konnektoren durchsuchen und auswählen können, die auf Kontoebene konfiguriert sind. Sie können auch SQL oder API verwenden, um MCP-Konnektoren zu Ihren Agenten hinzuzufügen.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option AI & ML » Agents aus.
Wählen Sie in der Liste der Agenten den entsprechenden Agenten aus.
Wählen Sie MCP Connectors aus.
Wählen Sie aus der Liste Available Connectors den Konnektor aus, den Sie hinzufügen möchten.
Überprüfen Sie die Details des Konnektors und wählen Sie Add to agent aus.
Agentenentwickler fügen externe MCP-Server mithilfe der Agentenobjekt-REST-API zur Spezifikation eines Cortex Agents hinzu:
Cortex Agenten, die auf diese MCP-Server verweisen, können auf vom Anbieter bereitgestellte Tools zugreifen. Beispielsweise umfassen die Tools bei Atlassian das Erstellen von Jira-Tickets, das Kommentieren von Tickets, das Erstellen von Confluence-Seiten sowie das Aktualisieren bestehender Seiten.
Wenn der Agent aufgerufen wird, ruft er die Toolliste von jedem MCP-Server ab und bezieht diese Tools in seine Orchestrierung ein. Der Agent wählt Tools basierend auf der Anfrage des Benutzers und den vom MCP-Server bereitgestellten Tool-Beschreibungen aus und ruft diese auf.
Verwenden von MCP-Konnektoren in Snowflake Intelligence¶
Snowflake Intelligence-Benutzer verbinden sich mit externen MCP-Servern über die Snowflake Intelligence-Schnittstelle:
Navigieren Sie zu Snowflake Intelligence, indem Sie die Anweisungen unter Zugriff auf den Agenten befolgen.
Öffnen Sie das Quellenfenster und wählen Sie Connectors aus.
Wählen Sie Connect neben dem gewünschten Konnektor. Sie können auch Manage Connections auswählen. Wählen Sie dann Connect.
Der Benutzer wird auf die Seite des Authentifizierungsdienstes eines Drittanbieters weitergeleitet, um die Verbindung zu genehmigen.
Nach der Authentifizierung wird der Konnektor als Connected in der Liste der Quellen angezeigt. Sie können nun mit dem Agenten interagieren, um Informationen vom externen MCP-Server zu erhalten.
Um die Verbindung zum Server zu trennen, kann der Benutzer Folgendes tun:
Wählen Sie Manage Connections aus.
Wählen Sie MCP Server und dann Disconnect aus.
Benutzer können Konnektoren im Dropdown-Menü „Quellen“ verbinden und trennen, um sie in die Orchestrierung des Agenten einzubeziehen oder davon auszuschließen. Konnektoren, die nicht im Connected-Status enthalten, sind bei der Orchestrierung nicht enthalten.
Wenn das Authentifizierungstoken eines Benutzers abläuft, forder Snowflake Intelligence den Benutzer auf, sich erneut zu authentifizieren.
Verwenden von MCP Konnektoren in Agent:run API¶
Agent:run API stellt eine Verbindung zu MCP-Servern über die Clientschnittstelle her. Verwenden Sie die folgenden Funktionen, um Benutzer mit dem Drittanbieterdienst zu authentifizieren:
Funktion zum Starten des OAuth-Ablaufs:
Funktion zum Beenden des OAuth-Ablaufs:
SYSTEM$START_USER_OAUTH_FLOW gibt eine Autorisierungs-URL für API-Integrationen mit API_PROVIDER = EXTERNAL_MCP zurück. Öffnen Sie die URL in einem Browser, um die Zustimmung zu vervollständigen, und führen Sie dann SYSTEM$FINISH_OAUTH_FLOW in derselben Sitzung mit der Abfragezeichenfolge aus der Umleitungs-URL aus. Weitere Informationen zu SYSTEM$FINISH_OAUTH_FLOW finden Sie unter SYSTEM$FINISH_OAUTH_FLOW.
Verwalten von MCP-Servern¶
Auflisten und Beschreiben von MCP-Servern¶
Auflisten aller externer MCP-Server in verschiedenen Bereichen:
Die Ausgabe umfasst den Servernamen, die Datenbank, das Schema, den Eigentümer, den Typ (vorgefertigt oder benutzerdefiniert), MCP-Server-URL, Zustand (aktiviert oder deaktiviert) und zugehörige API-Integration.
So zeigen Sie die vollständige Konfiguration eines bestimmten Servers an:
Deaktivieren und Aktivieren Sie MCP-Server¶
Deaktivieren Sie einen MCP-Server durch Ändern seiner zugrunde liegenden API-Integration. Das Deaktivieren macht sofort alle Benutzer-Token ungültig und löst einen Aufruf an den Revocation-Endpunkt des MCP-Servers aus Geheimnisse werden nicht gelöscht, wenn Sie eine Integration deaktivieren. Sie verfallen auf natürliche Weise, wenn die Integration lange genug deaktiviert bleibt.
Warnung
Wenn Sie eine API-Integration deaktivieren, verlieren alle Agenten, die diesen MCP-Server verwenden, sofort den Zugriff auf seine Tools. Snowflake Intelligence zeigt Benutzern eine Warnung an, wenn ein Konnektor deaktiviert ist. Beim erneuten Aktivieren müssen sich die Benutzer erneut authentifizieren, als würden sie sich zum ersten Mal verbinden.
Sie können keinen neuen MCP-Server erstellen, der auf eine deaktivierte API-Integration verweist. Während der Ausführung des Agenten überprüft Snowflake sowohl den MCP-Server als auch die API-Integration und verwendet nur aktivierte Server.
Löschen eines MCP-Servers¶
Löschen Sie den MCP-Server zuerst und dann die API-Integration. Nur Rollen mit der OWNERSHIP-Berechtigung können Löschungen ausführen.
Warnung
Das Löschen einer API-Integration löscht permanent alle OAuth-Konfigurationen und gespeicherten Geheimnisse. Stellen Sie sicher, dass derzeit keine Agenten den MCP-Server verwenden, bevor Sie ihn löschen. Sie müssen beide Objekte von Grund auf neu erstellen, wenn Sie sie erneut benötigen.
Wichtige Hinweise und Best Practices¶
Benutzerdefinierte MCP-Server: Verwenden Sie benutzerdefinierte Server, wenn Sie eine Verbindung zu MCP-Endpunkten herstellen, die nicht in der Liste der verfügbaren MCP-Konnektoren sind. Snowflake unterstützt Benutzerauthentifizierungstypen für Atlassian, GitHub, Glean, Linear und Salesforce in der API-Integration.
Zugriff mit geringsten erforderlichen Berechtigungen: Gewähren Sie jeder Rolle nur die geringsten erforderlichen Berechtigungen. Der Zugriff auf einen MCP-Server gewährt nicht automatisch Zugriff auf dessen Tools; Sie müssen die Berechtigungen für jedes Tool separat erteilen.
OAuth-Authentifizierung: Snowflake unterstützt nur die Verwendung von OAuth für alle MCP-Serververbindungen.
Deaktivieren oder Löschen: Deaktivieren einer API-Integration behält ihre Konfiguration bei, macht aber sofort alle Benutzer-Token ungültig und blockiert Tool-Aufrufe. Löschen einer API-Integration löscht sie zusammen mit allen gespeicherten Geheimnissen dauerhaft. Deaktivieren Sie die Integration, wenn Sie Wartungsarbeiten durchführen. Löschen Sie die Integration bei einer Stilllegung.
Formatierung von Hostnamen: Verwenden Sie Bindestriche (
-) anstelle von Unterstrichen (_) in Hostnamen bei der Konfiguration von MCP-Serververbindungen. Hostnamen mit Unterstrichen verursachen Verbindungsprobleme.
Einschränkungen¶
Es gelten die folgenden Einschränkungen für MCP-Konnektoren:
Überwachung: MCP-Tool-Aufrufe werden nicht in der Überwachungstabelle protokolliert.
MCP-Protokollbereich: Externe MCP-Server unterstützen nur Tool-Funktionen. Ressourcen, Eingabeaufforderungen, Roots, Benachrichtigungen, Versionsverhandlungen, Lebenszyklusphasen und Sampling werden nicht unterstützt.
Deaktivierte Integrationen: Sie können keinen MCP-Server erstellen, der auf eine deaktivierte API-Integration verweist.
Format von Hostnamen: Hostnamen dürfen Bindestriche und keine Unterstriche enthalten.