Skorzystaj z tego przewodnika, jeśli jesteś administratorem przestrzeni roboczej ChatGPT albo użytkownikiem ChatGPT Plus lub Pro i chcesz 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 szablonu Snowflake, a następnie włącz korzystającą z niego wtyczkę Snowflake.
Co konfigurujesz
Tworzysz zarządzany przez Snowflake serwer MCP, który pełni funkcję punktu końcowego łącznika dla ChatGPT. Serwer MCP określa:
Z jakich działań może korzystać ChatGPT.
Do jakich danych lub obiektów Snowflake mogą uzyskiwać dostęp te narzędzia.
Przy użyciu której roli Snowflake uwierzytelnia się każdy użytkownik.
Które nazwy bazy danych, schematu i serwera MCP w Snowflake identyfikują punkt końcowy.
Następnie konfigurujesz w ChatGPT Snowflake — oficjalny szablon, używając pełnego adresu URL zarządzanego serwera MCP. Na ekranie konfiguracji szablonu adres URL może być podzielony na cztery pola:
Prefiks hosta Snowflake.
Baza danych.
Schemat.
Nazwa serwera MCP.
ChatGPT może wykrywać i używać wyłącznie narzędzi udostępnionych przez serwer MCP oraz dozwolonych przez rolę Snowflake, przy użyciu której uwierzytelnia się użytkownik.
Zanim zaczniesz
Potrzebujesz:
Dostępu 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 znajdzie się serwer MCP.
Decyzji, jakie działania będą dozwolone w ChatGPT, na przykład Cortex Search, Cortex Analyst, SQL tylko do odczytu albo określona procedura lub funkcja.
Roli Snowflake z minimalnymi niezbędnymi uprawnieniami, której użytkownicy będą używać podczas autoryzowania aplikacji.
Prefiksu hosta konta Snowflake wraz z sufiksem regionu lub chmury.
Jeśli dostęp do konta Snowflake jest ograniczony przez zasady sieciowe lub listę dozwolonych adresów IP, poproś administratora Snowflake o zezwolenie na połączenia przychodzące z aktualnych zakresów wychodzących adresów IP łącznika ChatGPT. Lista jest dynamiczna i należy ją regularnie aktualizować.
Wartości do przygotowania
Prefiks hosta Snowflake: wszystko przed .snowflakecomputing.com w adresie URL konta Snowflake.
Baza danych: baza 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 podania adresu URL.
Rola Snowflake: rola, której użytkownicy powinni używać podczas autoryzowania aplikacji.
Lista narzędzi: obiekty i działania Snowflake, z których ma korzystać ChatGPT.
Określ, co może robić ChatGPT
Wybierz tylko te funkcje, które chcesz udostępnić. Typowe opcje to:
Wyszukiwanie za pomocą Cortex Search odpowiedzi w zindeksowanych danych lub treściach Snowflake.
Pytania i odpowiedzi za pomocą Cortex Analyst poprzez zatwierdzony widok semantyczny.
SQL tylko do odczytu, zapewniający kontrolowany dostęp do zapytań.
Agent Snowflake, procedura składowana lub funkcja UDF do określonego przepływu pracy.
Jeśli włączysz SQL, pozostaw dostęp tylko do odczytu, chyba że organizacja sprawdziła i zatwierdziła dostęp do zapisu.
Otwórz arkusz Snowflake
Zaloguj się w aplikacji Snowflake.
Przełącz się na rolę, która może utworzyć serwer MCP i przyznać dostęp.
Przejdź do sekcji 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ę w Snowflake przy użyciu roli, która może utworzyć serwer MCP i przyznać dostęp. Otwórz arkusz w bazie danych i schemacie, w których ma zostać utworzony serwer MCP.
Uruchom instrukcję podobną do poniższego przykładu. Zastąp nazwy własnymi nazwami bazy danych, schematu, usług, widoków, magazynu 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 obiektów Snowflake w tej instrukcji są przykładami:
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 SQL tylko do odczytu ze wskazanym magazynem.
Używaj stałych, opisowych nazw narzędzi, aby ChatGPT mógł wybrać właściwe narzędzie. Utworzenie serwera MCP nie powoduje automatycznego przyznania dostępu do bazowych obiektów Snowflake.
Więcej opcji specyfikacji opisano w artykule: Tworzenie serwera MCP zarządzanego przez Snowflake.
Nadaj odpowiednie uprawnienia Snowflake
Wybierz rolę Snowflake, przy użyciu której użytkownicy będą się uwierzytelniać, a następnie przyznaj jej dostęp do:
Bazy danych i schematu.
Serwera MCP.
Wszystkich bazowych obiektów używanych przez narzędzia, takich jak usługa wyszukiwania, widok semantyczny lub magazyn.
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 także uprawnienia wymagane dla tego obiektu.
Sprawdź gotowość Snowflake
Uruchom:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Następnie uruchom:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Potwierdź, że:
Serwer istnieje w oczekiwanej bazie danych i schemacie.
Lista narzędzi jest zgodna z 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 bazowego.
Wprowadź dane serwera Snowflake w ChatGPT
W ChatGPT przełącz się na konto lub przestrzeń roboczą, w której aplikacja ma być dostępna.
Otwórz Ustawienia. Aby skonfigurować aplikację dla całej przestrzeni roboczej, otwórz jako administrator Ustawienia przestrzeni roboczej.
Przejdź do sekcji Wtyczki.
Wyszukaj Snowflake.
Włącz Snowflake — oficjalny szablon.
Otwórz Snowflake — oficjalny szablon, wpisz zrozumiałą nazwę połączenia i wybierz Połącz.
Wprowadź 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 konfiguracja Snowflake jest na ekranie podzielona na osobne pola, użyj tych samych wartości co w adresie URL:
Prefiks hosta Snowflake
Użyj wszystkiego, co znajduje się przed .snowflakecomputing.com w adresie URL konta Snowflake, w tym sufiksu regionu lub chmury.
Jeśli na przykład adres URL konta zaczyna się od:
https://myorg-myaccount.azure.snowflakecomputing.com
Prefiks hosta to:
myorg-myaccount.azure
Baza danych
Wprowadź nazwę bazy danych zawierającej serwer MCP, na przykład:
CHATGPT_APPS
Schemat
Wprowadź nazwę schematu zawierającego serwer MCP, na przykład:
TOOLS
Nazwa serwera MCP
Wprowadź nazwę obiektu serwera MCP w Snowflake, na przykład:
CHATGPT_SNOWFLAKE_MCP
Skonfiguruj klienta OAuth
Do połączenia potrzebujesz identyfikatora klienta i klucza tajnego klienta ze Snowflake.
Gdy używasz session:role:all, Snowflake korzysta z domyślnej roli każdego użytkownika. Domyślna rola musi być dozwolona przez listę dozwolonych ról integracji OAuth, jeśli ją skonfigurowano, i nie może być zablokowana. Posiadanie innej zatwierdzonej roli nie powoduje jej automatycznego wybrania.
W oknie konfiguracji ChatGPT otwórz Zaawansowane ustawienia OAuth, wybierz Klient OAuth zdefiniowany przez użytkownika i skopiuj Adres URL wywołania zwrotnego wyświetlany w ChatGPT.
Utwórz niestandardową integrację zabezpieczeń OAuth z ustawieniem
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'i wartościąOAUTH_REDIRECT_URIrówną dokładnie temu adresowi URL wywołania zwrotnego.Uruchom poniższą instrukcję w Snowflake, wpisując nazwę integracji wielkimi literami:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Z wyniku JSON wklej
oauth_client_idw polu Identyfikator klienta OAuth, aoauth_client_secretw polu Klucz tajny klienta OAuth w ChatGPT.Ustaw Metodę uwierzytelniania w punkcie końcowym tokenu na
client_secret_basic.
Połącz Snowflake i zarządzaj nim
W tym samym oknie konfiguracji ChatGPT wybierz Kontynuuj, zaloguj się w Snowflake i autoryzuj połączenie.
W przypadku konfiguracji przestrzeni roboczej określ zasady instalowania wtyczki oraz dostęp dla ról lub grup 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 opcji 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 i określenie, 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 ustawionych przez ich twórcę mechanizmów kontroli poszczególnych agentów, aby określić dostępne działania aplikacji i sytuacje, w których użytkownik końcowy jest proszony o ich zatwierdzenie. Informacje o działaniu agentów znajdziesz w artykule: Agenci przestrzeni roboczej ChatGPT dla planów Enterprise i Business.
Przetestuj aplikację
Otwórz czat, wybierz Snowflake i przetestuj połączenie.
Sprawdź, czy ChatGPT wykrywa skonfigurowane narzędzia.
Najpierw wykonaj działanie odczytu o niskim ryzyku, na przykład wyszukiwanie lub zapytanie tylko do odczytu dotyczące zatwierdzonych danych.
Sprawdź, czy uprawnienia Snowflake uniemożliwiają dostęp poza zatwierdzoną rolą i obiektami.
W przypadku konfiguracji przestrzeni roboczej przeprowadź test z uprawnionymi członkami niebędącymi administratorami, którzy mają różne domyślne role Snowflake. Udane połączenie administratora nie oznacza, że każdy członek może się połączyć.
Administratorom przestrzeni roboczej nie wystarczy włączenie samej opcji Snowflake. 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 pełnym adresem URL serwera MCP zarządzanego przez Snowflake:
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 do ustalenia następujących punktów końcowych OAuth 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ć obiektom Snowflake.
Rozwiązywanie problemów
Snowflake jest włączony dla administratora, ale wyłączony dla członka
Sprawdź, czy zarówno Snowflake, jak i Snowflake — oficjalny szablon są włączone w sekcji Ustawienia przestrzeni roboczej > Wtyczki.
Otwórz Snowflake — oficjalny szablon i ukończ proces Połącz. Samo włączenie szablonu bez jego połączenia nie wystarczy.
Otwórz Snowflake i sprawdź, czy szablon jest wyświetlany jako wymagana aplikacja.
Sprawdź, czy zasady instalowania wtyczki zezwalają na rolę lub grupę członka, którego dotyczy problem.
Nie znaleziono serwera MCP
Sprawdź ponownie pełny adres URL serwera MCP lub cztery pola szablonu, jeśli wymaga ich ekran konfiguracji.
Sprawdź, czy serwer MCP istnieje dokładnie w tej bazie danych i tym schemacie.
W ChatGPT nie są wyświetlane żadne narzędzia
Sprawdź, czy specyfikacja serwera MCP zawiera narzędzia.
Sprawdź, czy rola ma uprawnienie
USAGEdo serwera MCP.
Narzędzie jest widoczne, ale podczas używania występuje błąd
Sprawdź, czy rola ma wymagane uprawnienie do bazowego obiektu Snowflake, takiego jak usługa wyszukiwania, widok semantyczny, magazyn, procedura lub funkcja UDF.
Narzędzie SQL nie działa
Sprawdź, czy nazwa magazynu jest poprawna i czy magazyn jest uruchomiony.
Sprawdź, czy rola ma uprawnienie
USAGEdo magazynu.Jeśli zamierzony był dostęp 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 integracji OAuth. Posiadanie innej dozwolonej roli nie powoduje jej automatycznego wybrania. W razie potrzeby zmień domyślną rolę na zatwierdzoną i połącz się ponownie. Zmiana domyślnej roli wpływa również na sesje Snowflake poza ChatGPT.
Autoryzacja nie powiodła się
Sprawdź, czy użytkownik może zalogować się w Snowflake.
Podczas korzystania z
session:role:allsprawdź, czy domyślna rola użytkownika jest dozwolona przez integrację OAuth.Sprawdź, czy konfiguracja używa przepływu OAuth MCP zarządzanego przez Snowflake.
Sprawdź, czy identyfikator klienta i klucz tajny klienta odpowiadają integracji OAuth Snowflake, a jej identyfikator URI przekierowania jest zgodny z Adresem URL wywołania zwrotnego wyświetlanym w ChatGPT.
Zasady sieciowe lub lista dozwolonych adresów IP Snowflake blokują łącznik
Poproś administratora Snowflake o zaktualizowanie zasad sieciowych lub reguł dostępu Snowflake.
Zezwól na połączenia przychodzące z aktualnych zakresów wychodzących adresów IP łącznika 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 automatyzuj aktualizacje na podstawie opublikowanego pliku JSON, ponieważ zakresy mogą się zmieniać.
Problem z połączeniem z nazwą hosta
Użyj poprawnego prefiksu hosta Snowflake. Nazwy hostów Snowflake z podkreśleniami mogą powodować problemy; używaj łączników.
