Използвайте това ръководство, ако сте администратор на работно пространство в ChatGPT или потребител на ChatGPT Plus или ChatGPT Pro и искате да свържете ChatGPT със Snowflake чрез управляван от Snowflake MCP сървър.
По-голямата част от настройването се извършва в Snowflake. След като Snowflake е готов, завършете свързването на шаблона за Snowflake в ChatGPT, след което активирайте плъгина за Snowflake, който използва този шаблон.
Какво настройвате
Създавате управляван от Snowflake MCP сървър, който служи като крайна точка на конектора за ChatGPT. MCP сървърът определя:
Кои действия може да използва ChatGPT.
До кои данни или обекти в Snowflake имат достъп тези инструменти.
С коя роля в Snowflake се упълномощава всеки потребител.
Кои база данни, схема и име на MCP сървър в Snowflake идентифицират крайната точка.
След това конфигурирайте Snowflake – официален шаблон в ChatGPT с пълния URL адрес на управлявания MCP сървър. Екранът за настройване на шаблона може да показва URL адреса като четири отделни полета:
Префикс на хоста на Snowflake.
База данни.
Схема.
Име на MCP сървъра.
ChatGPT може да открива и използва само инструментите, предоставени от MCP сървъра и разрешени от ролята в Snowflake, с която се упълномощава потребителят.
Преди да започнете
Необходими са ви:
Достъп като администратор или собственик на работно пространство в ChatGPT или достъп до ChatGPT Plus или ChatGPT Pro.
Достъп до Snowflake с права за създаване на обекти на MCP сървъра и предоставяне на разрешения.
Базата данни и схемата в Snowflake, където ще се намира MCP сървърът.
Решение какво да бъде разрешено на ChatGPT, например Cortex Search, Cortex Analyst, SQL само за четене или конкретна процедура или функция.
Роля в Snowflake с минимално необходимите права, която потребителите ще използват при упълномощаване на приложението.
Префиксът на хоста на акаунта в Snowflake, включително суфикс за регион или облачна услуга, ако има такъв.
Ако акаунтът ви в Snowflake ограничава достъпа чрез мрежова политика или списък с разрешени IP адреси, помолете администратор на Snowflake да разреши входящите връзки от текущите диапазони от изходящи IP адреси на конектора за ChatGPT. Списъкът е динамичен и трябва да се поддържа актуален.
Стойности, които да подготвите
Префикс на хоста на Snowflake: всичко преди .snowflakecomputing.com в URL адреса на акаунта в Snowflake.
База данни: базата данни, съдържаща MCP сървъра.
Схема: схемата, съдържаща MCP сървъра.
Име на MCP сървъра: името на обекта на MCP сървъра в Snowflake.
Пълният URL адрес на управлявания MCP сървър, ако екранът за настройване на ChatGPT изисква URL адрес.
Роля в Snowflake: ролята, която потребителите трябва да използват при упълномощаване на приложението.
Списък с инструменти: обектите и действията в Snowflake, които искате ChatGPT да използва.
Решете какво може да прави ChatGPT
Изберете само възможностите, които искате да предоставите. Често използваните опции включват:
Търсене с Cortex Search за намиране на отговори в индексирани данни или съдържание в Snowflake.
Въпроси и отговори с Cortex Analyst чрез одобрен семантичен изглед.
SQL само за четене за контролиран достъп до заявки.
Агент на Snowflake, съхранена процедура или UDF за конкретен работен процес.
Ако активирате SQL, оставете го само за четене, освен ако организацията ви не е прегледала и одобрила достъп за запис.
Отворете работен лист в Snowflake
Влезте в приложението Snowflake.
Превключете към роля, която може да създаде MCP сървъра и да предостави достъп.
Отворете Работни пространства.

Създайте работно пространство с SQL файл.

Задайте като контекст на работното пространство базата данни и схемата, в които ще бъде създаден MCP сървърът.

Създайте MCP сървъра в Snowflake
Влезте в Snowflake с роля, която може да създаде MCP сървъра и да предостави достъп. Отворете работен лист в базата данни и схемата, където трябва да бъде създаден MCP сървърът.
Изпълнете команда като следната. Заменете имената с тези на вашата база данни, схема, услуги, изгледи, изчислителен ресурс и сървър в 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" $$;

Имената на инструментите и обектите в Snowflake в тази команда са примерни:
support-searchпредоставя посочената услуга Cortex Search.revenue-analystпредоставя посочения семантичен изглед. При необходимост добавете инструменти за други изгледи.sql-readonlyпредоставя SQL само за четене с посочения изчислителен ресурс.
Използвайте устойчиви и описателни имена на инструментите, за да може ChatGPT да избере правилния инструмент. Създаването на MCP сървъра не предоставя автоматично достъп до свързаните обекти в Snowflake.
За допълнителни опции на спецификацията вижте: Създаване на управляван от Snowflake MCP сървър.
Предоставете правилните разрешения в Snowflake
Изберете ролята в Snowflake, с която потребителите ще се упълномощават, след което ѝ предоставете достъп до:
Базата данни и схемата.
MCP сървъра.
Всеки свързан обект, използван от инструментите, като услуга за търсене, семантичен изглед или изчислителен ресурс.
Пример:
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;
Ако MCP сървърът предоставя UDF, съхранена процедура или Агент на Cortex, предоставете и необходимите разрешения за съответния обект.
Проверете дали Snowflake е готов
Изпълнете:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
След това изпълнете:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Потвърдете, че:
Сървърът съществува в очакваните база данни и схема.
Списъкът с инструменти отговаря на намеренията ви.
Полето
identifierна всеки инструмент сочи към правилния обект в Snowflake.Свързващата роля има разрешение
USAGEза MCP сървъра.Свързващата роля има необходимите разрешения за всеки свързан обект.
Въведете данните за сървъра на Snowflake в ChatGPT
В ChatGPT превключете към акаунта или работното пространство, където приложението трябва да е достъпно.
Отворете Настройки. За настройване в цялото работно пространство отворете Настройки на работното пространство като администратор.
Отворете Плъгини.
Потърсете Snowflake.
Активирайте Snowflake – официален шаблон.
Отворете Snowflake – официален шаблон, въведете ясно име на връзката и изберете Свързване.
Въведете пълния URL адрес на управлявания MCP сървър:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Пример:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Ако екранът за настройване показва конфигурацията на Snowflake в отделни полета, използвайте същите стойности като в URL адреса:
Префикс на хоста на Snowflake
Използвайте всичко преди .snowflakecomputing.com в URL адреса на акаунта си в Snowflake, включително суфикс за регион или облачна услуга, ако има такъв.
Например, ако URL адресът на акаунта започва с:
https://myorg-myaccount.azure.snowflakecomputing.com
Префиксът на хоста е:
myorg-myaccount.azure
База данни
Въведете базата данни, съдържаща MCP сървъра, например:
CHATGPT_APPS
Схема
Въведете схемата, съдържаща MCP сървъра, например:
TOOLS
Име на MCP сървъра
Въведете името на обекта на MCP сървъра в Snowflake, например:
CHATGPT_SNOWFLAKE_MCP
Конфигурирайте OAuth клиента
За свързването са ви необходими ИД и тайна на клиента от Snowflake.
Когато използвате session:role:all, Snowflake използва ролята по подразбиране на всеки потребител. Ролята по подразбиране трябва да е разрешена от списъка с разрешени роли на OAuth интеграцията, ако е конфигуриран такъв, и не трябва да е блокирана. Наличието на друга одобрена роля не я избира автоматично.
В модалния прозорец за настройване на ChatGPT отворете Разширени настройки за OAuth, изберете Дефиниран от потребителя OAuth клиент и копирайте показания в ChatGPT URL адрес за обратно извикване.
Създайте персонализирана интеграция за защита с OAuth с
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'и задайте заOAUTH_REDIRECT_URIточно този URL адрес за обратно извикване.Изпълнете следната команда в Snowflake, като използвате името на интеграцията с главни букви:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');От резултата в JSON поставете
oauth_client_idв ИД на OAuth клиента, аoauth_client_secret— в Тайна на OAuth клиента в ChatGPT.Задайте за Метод за удостоверяване на крайната точка за токени стойността
client_secret_basic.
Свържете и управлявайте Snowflake
В същия модален прозорец за настройване на ChatGPT изберете Продължаване, влезте в Snowflake и упълномощете връзката.
За настройване в работно пространство конфигурирайте правилата за инсталиране на плъгина и достъпа по роли или групи за членовете, които трябва да го използват. Проверете дали са активирани както Snowflake, така и Snowflake – официален шаблон.
Администраторите на работното пространство отговарят за конфигурирането на Потребителски достъп за ролите, които трябва да използват Snowflake.
Администраторите на работното пространство отговарят за прегледа на Контрол на действията за предоставените инструменти.
Администраторите на работното пространство отговарят за прегледа на Разрешения на приложението, за да изберат кога ChatGPT да иска съгласие от членовете, преди да използва приложението.
Тези разрешения на приложението важат за разговорите в ChatGPT. Агентите в работното пространство използват индивидуални контроли, зададени от създателя на Агента, за да определят кои действия на приложението са достъпни и кога крайните потребители трябва да ги одобрят. За поведението на Агентите вижте: Агенти в работни пространства на ChatGPT за Enterprise и Business.
Тествайте приложението
Отворете чат, изберете Snowflake и тествайте връзката.
Потвърдете, че ChatGPT открива конфигурираните от вас инструменти.
Първо изпълнете действие за четене с нисък риск, като търсене или заявка само за четене в одобрени данни.
Потвърдете, че разрешенията в Snowflake предотвратяват достъп извън одобрените роля и обекти.
При настройване на работно пространство тествайте с допуснати членове без администраторски права, които имат различни роли по подразбиране в Snowflake. Успешното свързване като администратор не потвърждава, че всеки член може да се свърже.
За администраторите на работното пространство не е достатъчно да активират само Snowflake. Ако Snowflake – официален шаблон не е активиран и свързан, плъгинът може да изглежда деактивиран за членовете.
URL адрес на MCP сървъра и поведение на OAuth
ChatGPT се свързва с пълния URL адрес на управлявания от Snowflake MCP сървър:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT използва префикса на хоста на Snowflake от този URL адрес, за да определи следните крайни точки за OAuth в Snowflake:
Упълномощаване:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeТокен:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Не поставяйте URL адрес на Snowsight, само основния URL адрес на акаунта в Snowflake или URL адрес с допълнителни сегменти в пътя. URL адресът на MCP трябва да включва /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} и да съответства точно на обектите ви в Snowflake.
Отстраняване на неизправности
Snowflake е активиран за администратор, но е деактивиран за член
Потвърдете, че както Snowflake, така и Snowflake – официален шаблон са активирани в Настройки на работното пространство > Плъгини.
Отворете Snowflake – официален шаблон и завършете процеса за Свързване. Не е достатъчно да активирате шаблона, без да го свържете.
Отворете Snowflake и потвърдете, че шаблонът се показва като задължителното му приложение.
Потвърдете, че ролята или групата на засегнатия член е разрешена от правилата за инсталиране на плъгина.
MCP сървърът не е намерен
Проверете отново пълния URL адрес на MCP сървъра или четирите полета на шаблона, ако екранът за настройване ги изисква.
Потвърдете, че MCP сървърът съществува точно в тази база данни и схема.
В ChatGPT не се показват инструменти
Потвърдете, че спецификацията на MCP сървъра включва инструменти.
Потвърдете, че ролята има разрешение
USAGEза MCP сървъра.
Инструментът се показва, но при използване възниква грешка
Потвърдете, че ролята има необходимото разрешение за свързания обект в Snowflake, като услуга за търсене, семантичен изглед, изчислителен ресурс, процедура или UDF.
SQL инструментът не работи
Потвърдете, че името на изчислителния ресурс е правилно и че ресурсът работи.
Потвърдете, че ролята има разрешение
USAGEза изчислителния ресурс.Потвърдете, че е зададено
read_only: true, ако сте искали достъп само за четене.
Заявената роля ALL е изрично блокирана
Помолете администратора си на Snowflake да сравни ролята ви по подразбиране с разрешените и блокираните роли на OAuth интеграцията. Наличието на друга разрешена роля не я избира автоматично. Ако е уместно, променете ролята по подразбиране на одобрена роля и се свържете отново. Промяната на ролята ви по подразбиране засяга и сесиите ви в Snowflake извън ChatGPT.
Неуспешно упълномощаване
Потвърдете, че потребителят може да влезе в Snowflake.
Когато използвате
session:role:all, потвърдете, че ролята по подразбиране на потребителя е разрешена от OAuth интеграцията.Потвърдете, че настройката използва потока за OAuth на управлявания от Snowflake MCP.
Потвърдете, че ИД и тайната на клиента съответстват на OAuth интеграцията в Snowflake и че нейният URI за пренасочване съответства на показания в ChatGPT URL адрес за обратно извикване.
Мрежовата политика или списъкът с разрешени IP адреси в Snowflake блокира конектора
Помолете администратор на Snowflake да актуализира мрежовата политика или правилата за достъп в Snowflake.
Разрешете входящите връзки от текущите диапазони от изходящи IP адреси на конектора за ChatGPT.
Конфигурирайте този списък с разрешени адреси в Snowflake. Той е отделен от списъка с разрешени IP адреси на работното пространство в ChatGPT.
Когато е възможно, автоматизирайте актуализациите от публикувания JSON файл, тъй като диапазоните могат да се променят.
Проблем при свързването с името на хоста
Използвайте правилния префикс на хоста на Snowflake. Имената на хостове в Snowflake с долни черти могат да причинят проблеми; използвайте тирета.
