Ten przewodnik jest przeznaczony dla administratorów przestrzeni roboczych ChatGPT oraz użytkowników ChatGPT Plus lub Pro, którzy chcą połączyć ChatGPT ze Snowflake przez serwer MCP zarządzany przez Snowflake.
Większość konfiguracji odbywa się w Snowflake. Gdy Snowflake będzie gotowy, skonfiguruj w ChatGPT połączenie z szablonem Snowflake, a następnie włącz wtyczkę Snowflake korzystającą z tego szablonu.
Wbudowana obsługa OAuth: jeśli jest dostępna dla Twojego konta Snowflake i w ChatGPT, użyj aplikacji partnerskiej ChatGPT włączonej przez administratora Snowflake. Zaloguj się do Snowflake, korzystając z logowania jednokrotnego swojej organizacji, jeśli jest skonfigurowane. Nie musisz wpisywać w ChatGPT identyfikatora ani klucza tajnego klienta. Postępuj zgodnie z poniższą sekcją „Wbudowana obsługa OAuth”.
Niestandardowy klient OAuth: wybierz tę opcję, jeśli Twoja organizacja wymaga własnego klienta OAuth lub wbudowana obsługa OAuth jest niedostępna. Postępuj zgodnie z poniższą sekcją „Niestandardowy klient OAuth”.
Obie opcje OAuth wymagają opisanej poniżej wspólnej konfiguracji serwera MCP, uprawnień do obiektów, z których korzystają narzędzia, oraz dostępu do sieci. Przed skonfigurowaniem OAuth wykonaj wspólne kroki konfiguracji aż do sekcji „Wprowadź dane serwera Snowflake w ChatGPT” włącznie.
Co konfigurujesz
Tworzysz serwer MCP zarządzany przez Snowflake, który pełni funkcję punktu końcowego konektora dla ChatGPT. Serwer MCP określa:
Z jakich działań może korzystać ChatGPT.
Do których danych lub obiektów Snowflake te narzędzia mają dostęp.
Jakiej roli Snowflake każdy użytkownik używa do autoryzacji.
Która baza danych, schemat i nazwa serwera MCP w Snowflake identyfikują punkt końcowy.
Następnie konfigurujesz Snowflake — oficjalny szablon w ChatGPT, podając pełny adres URL zarządzanego serwera MCP. Ekran konfiguracji szablonu może wyświetlać adres URL jako cztery osobne pola:
Prefiks hosta Snowflake.
Baza danych.
Schemat.
Nazwa serwera MCP.
ChatGPT może wykrywać i używać tylko narzędzi udostępnionych przez serwer MCP i dozwolonych przez rolę Snowflake, której użytkownik używa do autoryzacji.
Zanim zaczniesz
Potrzebujesz:
Uprawnień administratora lub właściciela przestrzeni roboczej ChatGPT albo dostępu do ChatGPT Plus lub Pro.
Dostępu do Snowflake umożliwiającego tworzenie obiektów serwera MCP i nadawanie uprawnień.
Bazy danych i schematu Snowflake, w których będzie znajdował się serwer MCP.
Decyzji, z jakich funkcji ChatGPT ma móc korzystać, takich jak Cortex Search, Cortex Analyst, SQL tylko do odczytu lub konkretna procedura bądź funkcja.
Roli Snowflake z minimalnymi niezbędnymi uprawnieniami, której użytkownicy będą używać podczas autoryzacji aplikacji.
Prefiksu hosta konta Snowflake, wraz z ewentualnym sufiksem regionu lub chmury.
Jeśli Twoje konto Snowflake ogranicza dostęp za pomocą zasad sieciowych lub listy dozwolonych adresów IP, poproś administratora Snowflake o zezwolenie na połączenia przychodzące z aktualnych zakresów wychodzących adresów IP konektorów ChatGPT. Lista jest dynamiczna i należy ją na bieżąco aktualizować.
Wartości do przygotowania
Prefiks hosta Snowflake: część adresu URL konta Snowflake przed .snowflakecomputing.com.
Baza danych: baza danych zawierająca serwer MCP.
Schemat: schemat zawierający serwer MCP.
Nazwa serwera MCP: nazwa obiektu serwera MCP w Snowflake.
Pełny adres URL zarządzanego serwera MCP, jeśli ekran konfiguracji ChatGPT wymaga adresu URL.
Rola Snowflake: rola, której użytkownicy powinni używać podczas autoryzacji aplikacji.
Lista narzędzi: obiekty i działania Snowflake, z których ma korzystać ChatGPT.
Zdecyduj, co ChatGPT może robić
Wybierz tylko te funkcje, które chcesz udostępnić. Typowe opcje to:
Wyszukiwanie za pomocą Cortex Search w celu znajdowania odpowiedzi w zindeksowanych danych lub treściach Snowflake.
Odpowiadanie na pytania za pomocą Cortex Analyst z użyciem zatwierdzonego widoku semantycznego.
SQL tylko do odczytu zapewniający kontrolowany dostęp do wykonywania zapytań.
Agent Snowflake, procedura składowana lub funkcja UDF do obsługi określonego przepływu pracy.
Jeśli włączysz SQL, pozostaw tryb tylko do odczytu, chyba że Twoja organizacja przeanalizowała i zatwierdziła dostęp do zapisu.
Otwórz arkusz Snowflake
Zaloguj się do aplikacji Snowflake.
Przełącz się na rolę, która pozwala tworzyć serwer MCP i przyznawać dostęp.
Przejdź do Przestrzenie robocze.

Utwórz przestrzeń roboczą z plikiem SQL.

Ustaw kontekst przestrzeni roboczej na bazę danych i schemat, w których zostanie utworzony serwer MCP.

Utwórz serwer MCP w Snowflake
Zaloguj się do Snowflake z rolą, która pozwala tworzyć serwer MCP i przyznawać dostęp. Otwórz arkusz w bazie danych i schemacie, w których ma zostać utworzony serwer MCP.
Wykonaj instrukcję podobną do poniższego przykładu. Zastąp nazwy nazwami własnej bazy danych, schematu, usług, widoków, magazynu obliczeniowego i serwera w Snowflake.
CREATE MCP SERVER CHATGPT_SNOWFLAKE_MCP FROM SPECIFICATION $$ tools: - name: "support-search" type: "CORTEX_SEARCH_SERVICE_QUERY" identifier: "CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE" title: "Support Search" description: "Search support content for relevant customer issues." - name: "revenue-analyst" type: "CORTEX_ANALYST_MESSAGE" identifier: "CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW" title: "Revenue Analyst" description: "Answer revenue questions using the approved semantic view." - name: "sql-readonly" type: "SYSTEM_EXECUTE_SQL" title: "Read-only SQL" description: "Run read-only SQL queries against approved Snowflake data." config: read_only: true query_timeout: 600 warehouse: "CHATGPT_WH" $$;

Nazwy narzędzi i obiekty Snowflake w tej instrukcji są przykładowe:
support-searchudostępnia wskazaną usługę Cortex Search.revenue-analystudostępnia wskazany widok semantyczny. W razie potrzeby dodaj narzędzia dla innych widoków.sql-readonlyudostępnia zapytania SQL tylko do odczytu z użyciem wskazanego magazynu obliczeniowego.
Używaj stałych, opisowych nazw narzędzi, aby ChatGPT mógł wybrać właściwe narzędzie. Utworzenie serwera MCP nie przyznaje automatycznie dostępu do obiektów Snowflake, z których korzystają narzędzia.
Dodatkowe opcje specyfikacji znajdziesz w artykule Tworzenie serwera MCP zarządzanego przez Snowflake.
Nadaj odpowiednie uprawnienia w Snowflake
Wybierz rolę Snowflake, której użytkownicy będą używać do autoryzacji, a następnie przyznaj tej roli dostęp do:
Bazy danych i schematu.
Serwera MCP.
Każdego obiektu używanego przez narzędzia, takiego jak usługa wyszukiwania, widok semantyczny lub magazyn obliczeniowy.
Przykład:
GRANT USAGE ON DATABASE CHATGPT_APPS TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON SCHEMA CHATGPT_APPS.TOOLS TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON CORTEX SEARCH SERVICE CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT SELECT ON SEMANTIC VIEW CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;
Jeśli serwer MCP udostępnia funkcję UDF, procedurę składowaną lub agenta Cortex, nadaj wymagane uprawnienia także do tego obiektu.
Sprawdź, czy Snowflake jest gotowy
Wykonaj:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Następnie wykonaj:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Sprawdź, czy:
Serwer istnieje w oczekiwanej bazie danych i schemacie.
Lista narzędzi jest zgodna z Twoimi zamierzeniami.
Pole
identifierkażdego narzędzia wskazuje właściwy obiekt Snowflake.Rola używana do połączenia ma uprawnienie
USAGEdo serwera MCP.Rola używana do połączenia ma wymagane uprawnienia do każdego obiektu, z którego korzystają narzędzia.
Wprowadź dane serwera Snowflake w ChatGPT
Aby skonfigurować połączenie dla przestrzeni roboczej, otwórz admin.openai.com, wybierz docelową przestrzeń roboczą ChatGPT i otwórz sekcję Wtyczki. Informacje o nawigacji w przestrzeni roboczej i dostępie do starszych aplikacji znajdziesz w artykule Ustawienia administratora, bezpieczeństwo i zgodność wtyczek i aplikacji.
W ChatGPT przełącz się na konto lub przestrzeń roboczą, w których aplikacja ma być dostępna.
Przejdź do Ustawienia > Wtyczki w przypadku konfiguracji osobistej lub, jako administrator przestrzeni roboczej, do Konsola administratora > Wtyczki w przypadku konfiguracji dla przestrzeni roboczej.
Wyszukaj Snowflake.
Włącz Snowflake — oficjalny szablon.
Otwórz Snowflake — oficjalny szablon, wpisz zrozumiałą nazwę połączenia i wybierz Połącz.
Wpisz pełny adres URL zarządzanego serwera MCP:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Przykład:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Jeśli ekran konfiguracji pokazuje ustawienia Snowflake w osobnych polach, użyj tych samych wartości co w adresie URL:
Prefiks hosta Snowflake
Użyj części adresu URL konta Snowflake przed .snowflakecomputing.com, wraz z ewentualnym sufiksem regionu lub chmury.
Na przykład, jeśli adres URL konta zaczyna się od:
https://myorg-myaccount.azure.snowflakecomputing.com
Prefiks hosta to:
myorg-myaccount.azure
Baza danych
Wpisz bazę danych zawierającą serwer MCP, na przykład:
CHATGPT_APPS
Schemat
Wpisz schemat zawierający serwer MCP, na przykład:
TOOLS
Nazwa serwera MCP
Wpisz nazwę obiektu serwera MCP w Snowflake, na przykład:
CHATGPT_SNOWFLAKE_MCP
Skonfiguruj OAuth
Wybierz opcję OAuth dostępną dla Twojego konta i spełniającą wymagania Twojej organizacji. Obie opcje korzystają ze wspólnej konfiguracji serwera MCP opisanej powyżej oraz z testów połączenia i ustawień kontroli dostępu opisanych poniżej.
W obu opcjach OAuth przy użyciu session:role:all Snowflake korzysta z domyślnej roli każdego użytkownika. Domyślna rola musi znajdować się na liście dozwolonych ról integracji OAuth, jeśli taka lista jest skonfigurowana, i nie może być zablokowana. Posiadanie innej zatwierdzonej roli nie oznacza, że zostanie ona wybrana automatycznie.
Wbudowana obsługa OAuth
Zanim przejdziesz dalej, wykonaj kroki ze wspólnych sekcji powyżej, aby utworzyć serwer MCP, nadać uprawnienia, zweryfikować serwer i wprowadzić jego dane w ChatGPT. Jest to wymagane także wtedy, gdy zaczynasz bezpośrednio od tej sekcji.
Użyj tej opcji tylko wtedy, gdy aplikacja partnerska ChatGPT jest dostępna dla Twojego konta Snowflake, a wbudowana obsługa OAuth jest dostępna w oknie konfiguracji ChatGPT.
Poproś administratora Snowflake o włączenie integracji partnerskiej ChatGPT na tym samym koncie Snowflake, na którym znajduje się serwer MCP. Wykorzystaj istniejącą, włączoną integrację partnerską ChatGPT.
W oknie konfiguracji ChatGPT użyj wbudowanej obsługi OAuth. Nie musisz wpisywać identyfikatora ani klucza tajnego klienta ani rejestrować adresu URL wywołania zwrotnego.
Przejdź do poniższej sekcji „Połącz Snowflake i zarządzaj połączeniem”, aby się zalogować, wyrazić zgodę i skonfigurować dostęp. Następnie wykonaj kroki z sekcji „Przetestuj aplikację”, w tym testy z udziałem członków mających dostęp, którzy nie są administratorami.
Opisane powyżej zasady dotyczące roli domyślnej, listy dozwolonych ról i zablokowanych ról mają zastosowanie także do tej opcji.
Niestandardowy klient OAuth
Zanim przejdziesz dalej, wykonaj kroki ze wspólnych sekcji powyżej, aby utworzyć serwer MCP, nadać uprawnienia, zweryfikować serwer i wprowadzić jego dane w ChatGPT. Jest to wymagane także wtedy, gdy zaczynasz bezpośrednio od tej sekcji.
W przypadku niestandardowego klienta OAuth potrzebujesz identyfikatora i klucza tajnego klienta ze Snowflake. Opisane powyżej zasady dotyczące roli domyślnej, listy dozwolonych ról i zablokowanych ról mają zastosowanie także do tej opcji.
W oknie konfiguracji ChatGPT wybierz Zaawansowane ustawienia OAuth > Klient OAuth zdefiniowany przez użytkownika i skopiuj dokładną wartość pola Adres URL wywołania zwrotnego wyświetlaną w ChatGPT.
Utwórz niestandardową integrację zabezpieczeń OAuth z ustawieniem
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'i parametremOAUTH_REDIRECT_URIustawionym dokładnie na ten adres URL wywołania zwrotnego.Wykonaj poniższą instrukcję w Snowflake, wpisując nazwę integracji wielkimi literami:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Z wyniku w formacie JSON wklej wartość
oauth_client_iddo pola Identyfikator klienta OAuth, a wartośćoauth_client_secretdo pola Klucz tajny klienta OAuth w ChatGPT.Ustaw Metodę uwierzytelniania punktu końcowego tokena na
client_secret_basic.
Po wprowadzeniu danych uwierzytelniających niestandardowego klienta przejdź do poniższych sekcji „Połącz Snowflake i zarządzaj połączeniem” oraz „Przetestuj aplikację”.
Połącz Snowflake i zarządzaj połączeniem
Niezależnie od wybranej opcji OAuth w tym samym oknie konfiguracji ChatGPT wybierz Kontynuuj, zaloguj się do Snowflake i autoryzuj połączenie. Możesz skorzystać z logowania jednokrotnego swojej organizacji, jeśli jest skonfigurowane.
W przypadku konfiguracji dla przestrzeni roboczej ustaw zasady instalacji wtyczki i dostęp według ról lub grup dla członków, którzy mają z niej korzystać. Sprawdź, czy włączone są zarówno Snowflake, jak i Snowflake — oficjalny szablon.
Administratorzy przestrzeni roboczej odpowiadają za skonfigurowanie ustawienia Dostęp użytkowników dla ról, które mają korzystać ze Snowflake.
Administratorzy przestrzeni roboczej odpowiadają za sprawdzenie ustawienia Kontrola działań dla udostępnionych narzędzi.
Administratorzy przestrzeni roboczej odpowiadają za sprawdzenie ustawienia Uprawnienia aplikacji, aby określić, kiedy ChatGPT ma pytać członków o zgodę przed użyciem aplikacji.
Te uprawnienia aplikacji dotyczą rozmów w ChatGPT. Agenci przestrzeni roboczej korzystają z ustawień określonych indywidualnie przez twórcę każdego agenta. Ustawienia te określają, które działania aplikacji są dostępne i kiedy użytkownicy końcowi są proszeni o ich zatwierdzenie. Informacje o działaniu agentów znajdziesz w artykule Agenci przestrzeni roboczej ChatGPT w planach Enterprise i Business.
Przetestuj aplikację
Otwórz czat, wybierz Snowflake i przetestuj połączenie.
Sprawdź, czy ChatGPT wykrywa skonfigurowane narzędzia.
Najpierw wykonaj operację odczytu o niskim ryzyku, taką jak wyszukiwanie lub zapytanie tylko do odczytu w zatwierdzonych danych.
Sprawdź, czy uprawnienia Snowflake uniemożliwiają dostęp wykraczający poza zatwierdzoną rolę i obiekty.
W przypadku konfiguracji dla przestrzeni roboczej przeprowadź testy z udziałem członków mających dostęp, którzy nie są administratorami i mają różne domyślne role w Snowflake. Pomyślne połączenie administratora nie potwierdza, że każdy członek może się połączyć.
W przypadku administratorów przestrzeni roboczej włączenie samego Snowflake nie wystarczy. Jeśli Snowflake — oficjalny szablon nie został włączony i połączony, wtyczka może być wyświetlana członkom jako wyłączona.
Adres URL serwera MCP i działanie OAuth
ChatGPT łączy się z serwerem MCP zarządzanym przez Snowflake, używając pełnego adresu URL:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT używa prefiksu hosta Snowflake z tego adresu URL, aby ustalić adresy następujących punktów końcowych OAuth w Snowflake:
Autoryzacja:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Nie wklejaj adresu URL Snowsight, samego głównego adresu URL konta Snowflake ani adresu URL z dodatkowymi segmentami ścieżki. Adres URL MCP musi zawierać /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} i dokładnie odpowiadać Twoim obiektom Snowflake.
Rozwiązywanie problemów
Snowflake jest włączony dla administratora, ale wyłączony dla członka
Sprawdź, czy w sekcji Konsola administratora > Wtyczki włączone są zarówno Snowflake, jak i Snowflake — oficjalny szablon.
Otwórz Snowflake — oficjalny szablon i przejdź cały proces Połącz. Samo włączenie szablonu bez nawiązania połączenia nie wystarczy.
Otwórz Snowflake i sprawdź, czy szablon jest wyświetlany jako wymagana aplikacja.
Sprawdź, czy zasady instalacji wtyczki zezwalają na dostęp roli lub grupie członka, którego dotyczy problem.
Nie znaleziono serwera MCP
Ponownie sprawdź pełny adres URL serwera MCP lub cztery pola szablonu, jeśli ekran konfiguracji ich wymaga.
Sprawdź, czy serwer MCP istnieje dokładnie w tej bazie danych i w tym schemacie.
W ChatGPT nie pojawiają się żadne narzędzia
Sprawdź, czy specyfikacja serwera MCP zawiera narzędzia.
Sprawdź, czy rola ma uprawnienie
USAGEdo serwera MCP.
Narzędzie jest widoczne, ale nie działa przy próbie użycia
Sprawdź, czy rola ma wymagane uprawnienia do obiektu Snowflake, z którego korzysta narzędzie, takiego jak usługa wyszukiwania, widok semantyczny, magazyn obliczeniowy, procedura lub funkcja UDF.
Narzędzie SQL nie działa
Sprawdź, czy nazwa magazynu obliczeniowego jest poprawna i czy magazyn jest uruchomiony.
Sprawdź, czy rola ma uprawnienie
USAGEdo magazynu obliczeniowego.Jeśli dostęp ma być tylko do odczytu, sprawdź, czy ustawiono
read_only: true.
Żądana rola ALL została jawnie zablokowana
Poproś administratora Snowflake o porównanie Twojej domyślnej roli z dozwolonymi i zablokowanymi rolami w integracji OAuth. Posiadanie innej dozwolonej roli nie oznacza, że zostanie ona wybrana automatycznie. Jeśli to zasadne, zmień domyślną rolę na zatwierdzoną i połącz się ponownie. Zmiana domyślnej roli wpływa także na Twoje sesje Snowflake poza ChatGPT.
Autoryzacja nie powiodła się
Sprawdź, czy użytkownik może zalogować się do Snowflake.
Jeśli używasz
session:role:all, sprawdź, czy integracja OAuth dopuszcza domyślną rolę użytkownika.Sprawdź, czy konfiguracja korzysta z procesu OAuth dla MCP zarządzanego przez Snowflake.
Jeśli używasz niestandardowego klienta OAuth, sprawdź, czy Identyfikator klienta i Klucz tajny klienta są zgodne z integracją OAuth w Snowflake, a jej identyfikator URI przekierowania jest identyczny z wartością Adres URL wywołania zwrotnego wyświetlaną w ChatGPT.
Jeśli używasz wbudowanej obsługi OAuth, poproś administratora Snowflake o sprawdzenie, czy integracja partnerska ChatGPT jest dostępna i włączona na koncie, na którym znajduje się serwer MCP.
Zasady sieciowe lub lista dozwolonych adresów IP w Snowflake blokują konektor
Poproś administratora Snowflake o zaktualizowanie zasad sieciowych lub reguł dostępu w Snowflake.
Zezwól na połączenia przychodzące z aktualnych zakresów wychodzących adresów IP konektorów ChatGPT.
Skonfiguruj tę listę dozwolonych adresów w Snowflake. Jest ona niezależna od listy dozwolonych adresów IP przestrzeni roboczej ChatGPT.
W miarę możliwości zautomatyzuj aktualizacje na podstawie opublikowanego pliku JSON, ponieważ zakresy mogą się zmieniać.
Problem z połączeniem związany z nazwą hosta
Użyj prawidłowego prefiksu hosta Snowflake. Nazwy hostów Snowflake zawierające podkreślenia mogą powodować problemy; zamiast nich używaj łączników.
