გამოიყენეთ ეს სახელმძღვანელო, თუ ხართ ChatGPT-ის სამუშაო სივრცის ადმინისტრატორი ან ChatGPT Plus-ის ან Pro-ს მომხმარებელი და გსურთ ChatGPT-ის დაკავშირება Snowflake-თან Snowflake-ის მიერ მართული MCP სერვერის მეშვეობით.
დაყენების ძირითადი ნაწილი Snowflake-ში სრულდება. Snowflake-ის მომზადების შემდეგ ChatGPT-ში დაასრულეთ Snowflake-ის შაბლონის კავშირის გამართვა, შემდეგ კი ჩართეთ Snowflake-ის პლაგინი, რომელიც ამ შაბლონს იყენებს.
რას აყენებთ
თქვენ ქმნით Snowflake-ის მიერ მართულ MCP სერვერს, რომელიც ChatGPT-ის დამაკავშირებლის საბოლოო წერტილის ფუნქციას ასრულებს. MCP სერვერი განსაზღვრავს:
რომელი მოქმედებების გამოყენება შეუძლია ChatGPT-ს.
Snowflake-ის რომელ მონაცემებსა თუ ობიექტებზე აქვთ წვდომა ამ ხელსაწყოებს.
Snowflake-ის რომელი როლით გადის ავტორიზაციას თითოეული მომხმარებელი.
Snowflake-ის რომელი მონაცემთა ბაზა, სქემა და MCP სერვერის სახელი განსაზღვრავს საბოლოო წერტილს.
შემდეგ ChatGPT-ში გამართეთ Snowflake - Official Template მართული MCP სერვერის სრული URL-ით. შაბლონის დაყენების ეკრანზე URL შეიძლება ოთხ ცალკეულ ველად გამოჩნდეს:
Snowflake-ის ჰოსტის პრეფიქსი.
მონაცემთა ბაზა.
სქემა.
MCP სერვერის სახელი.
ChatGPT-ს შეუძლია აღმოაჩინოს და გამოიყენოს მხოლოდ MCP სერვერის მიერ ხელმისაწვდომი და მომხმარებლის მიერ ავტორიზებული Snowflake-ის როლით ნებადართული ხელსაწყოები.
დაწყებამდე
დაგჭირდებათ:
ChatGPT-ის სამუშაო სივრცის ადმინისტრატორის ან მფლობელის წვდომა, ან ChatGPT Plus-ზე ან Pro-ზე წვდომა.
Snowflake-ზე წვდომა, რომელიც MCP სერვერის ობიექტების შექმნისა და ნებართვების მინიჭების საშუალებას იძლევა.
Snowflake-ის მონაცემთა ბაზა და სქემა, სადაც MCP სერვერი განთავსდება.
გადაწყვეტილება იმის შესახებ, თუ რისი გაკეთების უფლება ექნება ChatGPT-ს, მაგალითად, Cortex Search-ის, Cortex Analyst-ის, მხოლოდ წასაკითხი SQL-ის ან კონკრეტული პროცედურისა თუ ფუნქციის გამოყენება.
Snowflake-ის მინიმალური პრივილეგიების მქონე როლი, რომელსაც მომხმარებლები აპის ავტორიზაციისას გამოიყენებენ.
Snowflake-ის ანგარიშის ჰოსტის პრეფიქსი, რეგიონის ან ღრუბლის სუფიქსის ჩათვლით.
თუ თქვენი Snowflake-ის ანგარიში წვდომას ქსელის პოლიტიკით ან ნებადართული IP-ების სიით ზღუდავს, სთხოვეთ Snowflake-ის ადმინისტრატორს, დაუშვას შემომავალი კავშირები ChatGPT-ის დამაკავშირებლის გამავალი IP დიაპაზონებიდან. ეს სია დინამიკურია და მუდმივად უნდა განახლდეს.
მოსამზადებელი მნიშვნელობები
Snowflake-ის ჰოსტის პრეფიქსი: Snowflake-ის ანგარიშის URL-ში .snowflakecomputing.com-მდე არსებული სრული ნაწილი.
მონაცემთა ბაზა: მონაცემთა ბაზა, რომელიც MCP სერვერს შეიცავს.
სქემა: სქემა, რომელიც MCP სერვერს შეიცავს.
MCP სერვერის სახელი: Snowflake-ის MCP სერვერის ობიექტის სახელი.
მართული MCP სერვერის სრული URL, თუ ChatGPT-ის დაყენების ეკრანი URL-ს ითხოვს.
Snowflake-ის როლი: როლი, რომელიც მომხმარებლებმა აპის ავტორიზაციისას უნდა გამოიყენონ.
ხელსაწყოების სია: Snowflake-ის ობიექტები და მოქმედებები, რომლებიც გსურთ ChatGPT-მ გამოიყენოს.
განსაზღვრეთ, რისი გაკეთება შეუძლია ChatGPT-ს
აირჩიეთ მხოლოდ ის შესაძლებლობები, რომელთა ხელმისაწვდომობაც გსურთ. გავრცელებული ვარიანტებია:
Cortex Search-ით ძიება ინდექსირებულ Snowflake-ის მონაცემებსა თუ შიგთავსში პასუხების მოსაძებნად.
კითხვა-პასუხი Cortex Analyst-თან დამტკიცებული სემანტიკური ხედის მეშვეობით.
მხოლოდ წასაკითხი SQL მოთხოვნებზე კონტროლირებული წვდომისთვის.
Snowflake Agent, შენახული პროცედურა ან UDF კონკრეტული სამუშაო პროცესისთვის.
თუ SQL-ს ჩართავთ, დატოვეთ ის მხოლოდ წასაკითხად, თუ თქვენს ორგანიზაციას ჩაწერის წვდომა განხილული და დამტკიცებული არ აქვს.
გახსენით Snowflake-ის სამუშაო ფურცელი
შედით Snowflake-ის აპში.
გადაერთეთ როლზე, რომელსაც MCP სერვერის შექმნა და წვდომის მინიჭება შეუძლია.
გადადით სამუშაო სივრცეებში.

შექმენით სამუშაო სივრცე SQL ფაილით.

სამუშაო სივრცის კონტექსტად მიუთითეთ მონაცემთა ბაზა და სქემა, სადაც MCP სერვერი შეიქმნება.

შექმენით Snowflake-ის MCP სერვერი
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 Agent-ს, ამ ობიექტსაც მიანიჭეთ საჭირო ნებართვები.
შეამოწმეთ Snowflake-ის მზადყოფნა
გაუშვით:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
შემდეგ გაუშვით:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
დაადასტურეთ, რომ:
სერვერი არსებობს მოსალოდნელ მონაცემთა ბაზასა და სქემაში.
ხელსაწყოების სია შეესაბამება თქვენს ჩანაფიქრს.
თითოეული ხელსაწყოს
identifierSnowflake-ის სწორ ობიექტზე მიუთითებს.დამაკავშირებელ როლს MCP სერვერზე აქვს
USAGEნებართვა.დამაკავშირებელ როლს თითოეულ საბაზისო ობიექტზე საჭირო ნებართვები აქვს.
შეიყვანეთ Snowflake-ის სერვერის დეტალები ChatGPT-ში
ChatGPT-ში გადაერთეთ ანგარიშზე ან სამუშაო სივრცეზე, სადაც აპი ხელმისაწვდომი უნდა იყოს.
გახსენით პარამეტრები. მთელ სამუშაო სივრცეზე გასამართად, სამუშაო სივრცის ადმინისტრატორის ანგარიშით გახსენით სამუშაო სივრცის პარამეტრები.
გადადით პლაგინებში.
მოძებნეთ Snowflake.
ჩართეთ Snowflake - Official Template.
გახსენით Snowflake - Official Template, შეიყვანეთ კავშირის მკაფიო სახელი და აირჩიეთ დაკავშირება.
შეიყვანეთ მართული MCP სერვერის სრული URL:
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-ის ჰოსტის პრეფიქსი
გამოიყენეთ Snowflake-ის ანგარიშის URL-ში .snowflakecomputing.com-მდე არსებული სრული ნაწილი, რეგიონის ან ღრუბლის სუფიქსის ჩათვლით.
მაგალითად, თუ ანგარიშის URL იწყება ასე:
https://myorg-myaccount.azure.snowflakecomputing.com
ჰოსტის პრეფიქსია:
myorg-myaccount.azure
მონაცემთა ბაზა
შეიყვანეთ MCP სერვერის შემცველი მონაცემთა ბაზა, მაგალითად:
CHATGPT_APPS
სქემა
შეიყვანეთ MCP სერვერის შემცველი სქემა, მაგალითად:
TOOLS
MCP სერვერის სახელი
შეიყვანეთ Snowflake-ის MCP სერვერის ობიექტის სახელი, მაგალითად:
CHATGPT_SNOWFLAKE_MCP
OAuth კლიენტის გამართვა
დასაკავშირებლად Snowflake-ის Client ID და Client Secret დაგჭირდებათ.
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ჩასვით ChatGPT-ის ველში OAuth კლიენტის ID, ხოლოoauth_client_secret— ველში OAuth კლიენტის საიდუმლო კოდი.ტოკენის საბოლოო წერტილის ავტორიზაციის მეთოდად დააყენეთ
client_secret_basic.
Snowflake-ის დაკავშირება და მართვა
ChatGPT-ის იმავე დაყენების მოდალურ ფანჯარაში აირჩიეთ გაგრძელება, შედით Snowflake-ში და კავშირის ავტორიზაცია გაიარეთ.
სამუშაო სივრცისთვის გამართვისას დააკონფიგურირეთ პლაგინის ინსტალაციის პოლიტიკა და როლებსა თუ ჯგუფებზე წვდომა იმ წევრებისთვის, რომლებმაც ის უნდა გამოიყენონ. შეამოწმეთ, რომ ჩართულია როგორც Snowflake, ისე Snowflake - Official Template.
სამუშაო სივრცის ადმინისტრატორები პასუხისმგებელნი არიან მომხმარებლის წვდომის გამართვაზე იმ როლებისთვის, რომლებმაც Snowflake უნდა გამოიყენონ.
სამუშაო სივრცის ადმინისტრატორები პასუხისმგებელნი არიან ხელმისაწვდომი ხელსაწყოების მოქმედებების კონტროლის გადახედვაზე.
სამუშაო სივრცის ადმინისტრატორები პასუხისმგებელნი არიან აპის ნებართვების გადახედვაზე, რათა განსაზღვრონ, როდის სთხოვს ChatGPT წევრებს თანხმობას აპის გამოყენებამდე.
აპის ეს ნებართვები ChatGPT-ის საუბრებზე ვრცელდება. სამუშაო სივრცის აგენტები იყენებენ თითოეული აგენტისთვის მის შემქმნელის მიერ დაყენებულ კონტროლს, რათა განსაზღვრონ, აპის რომელი მოქმედებებია ხელმისაწვდომი და როდის უნდა სთხოვონ საბოლოო მომხმარებლებს მათი დამტკიცება. აგენტის ქცევის შესახებ იხილეთ: ChatGPT-ის სამუშაო სივრცის აგენტები Enterprise-ისა და Business-ისთვის.
აპის გამოცდა
გახსენით ჩატი, აირჩიეთ Snowflake და გამოსცადეთ კავშირი.
დაადასტურეთ, რომ ChatGPT თქვენ მიერ გამართულ ხელსაწყოებს პოულობს.
თავდაპირველად გაუშვით დაბალი რისკის წაკითხვის მოქმედება, მაგალითად, ძიება ან მხოლოდ წასაკითხი მოთხოვნა დამტკიცებულ მონაცემებზე.
დაადასტურეთ, რომ Snowflake-ის ნებართვები დამტკიცებული როლისა და ობიექტების ფარგლებს გარეთ წვდომას ზღუდავს.
სამუშაო სივრცისთვის გამართვისას გამოცადეთ ნებადართულ არაადმინისტრატორ წევრებთან, რომლებსაც Snowflake-ის სხვადასხვა ნაგულისხმევი როლი აქვთ. ადმინისტრატორის წარმატებული კავშირი არ ადასტურებს, რომ დაკავშირება ყველა წევრს შეუძლია.
სამუშაო სივრცის ადმინისტრატორებისთვის მხოლოდ Snowflake-ის ჩართვა საკმარისი არ არის. თუ Snowflake - Official Template ჩართული და დაკავშირებული არ არის, პლაგინი წევრებისთვის შეიძლება გამორთულად გამოჩნდეს.
MCP სერვერის URL და OAuth-ის მუშაობა
ChatGPT უკავშირდება Snowflake-ის მიერ მართული MCP სერვერის სრულ URL-ს:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT ამ URL-დან Snowflake-ის ჰოსტის პრეფიქსს იყენებს Snowflake-ის შემდეგი OAuth საბოლოო წერტილების მისაგნებად:
ავტორიზაცია:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeტოკენი:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
არ ჩასვათ Snowsight-ის URL, მხოლოდ Snowflake-ის ანგარიშის ძირეული URL ან URL დამატებითი ბილიკის სეგმენტებით. MCP URL უნდა შეიცავდეს /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}-ს და ზუსტად ემთხვეოდეს თქვენს Snowflake-ის ობიექტებს.
პრობლემების მოგვარება
Snowflake ჩართულია ადმინისტრატორისთვის, მაგრამ გამორთულია წევრისთვის
დაადასტურეთ, რომ Snowflake და Snowflake - Official Template ორივე ჩართულია განყოფილებაში სამუშაო სივრცის პარამეტრები > პლაგინები.
გახსენით Snowflake - Official Template და დაასრულეთ მისი დაკავშირების პროცესი. შაბლონის დაკავშირების გარეშე მხოლოდ მისი ჩართვა საკმარისი არ არის.
გახსენით Snowflake და დაადასტურეთ, რომ შაბლონი მის აუცილებელ აპად ჩანს.
დაადასტურეთ, რომ შესაბამისი წევრის როლი ან ჯგუფი დაშვებულია პლაგინის ინსტალაციის პოლიტიკით.
MCP სერვერი ვერ მოიძებნა
ხელახლა შეამოწმეთ MCP სერვერის სრული URL ან შაბლონის ოთხი ველი, თუ დაყენების ეკრანი მათ ითხოვს.
დაადასტურეთ, რომ MCP სერვერი ზუსტად ამ მონაცემთა ბაზასა და სქემაში არსებობს.
ChatGPT-ში ხელსაწყოები არ ჩანს
დაადასტურეთ, რომ MCP სერვერის სპეციფიკაცია ხელსაწყოებს შეიცავს.
დაადასტურეთ, რომ როლს MCP სერვერზე აქვს
USAGEნებართვა.
ხელსაწყო ჩანს, მაგრამ გამოყენებისას შეცდომას აჩვენებს
დაადასტურეთ, რომ როლს საჭირო ნებართვა აქვს Snowflake-ის საბაზისო ობიექტზე, მაგალითად, ძიების სერვისზე, სემანტიკურ ხედზე, საწყობზე, პროცედურაზე ან UDF-ზე.
SQL ხელსაწყო არ მუშაობს
დაადასტურეთ, რომ საწყობის სახელი სწორია და საწყობი მუშაობს.
დაადასტურეთ, რომ როლს საწყობზე აქვს
USAGEნებართვა.თუ მხოლოდ წასაკითხი წვდომა გსურთ, დაადასტურეთ, რომ დაყენებულია
read_only: true.
მოთხოვნილი როლი ALL აშკარად დაბლოკილია
სთხოვეთ Snowflake-ის ადმინისტრატორს, შეადაროს თქვენი ნაგულისხმევი როლი OAuth ინტეგრაციაში ნებადართულ და დაბლოკილ როლებს. სხვა ნებადართული როლის ქონა მას ავტომატურად არ ირჩევს. თუ მიზანშეწონილია, ნაგულისხმევ როლად დამტკიცებული როლი დააყენეთ და ხელახლა დაუკავშირდით. ნაგულისხმევი როლის შეცვლა ChatGPT-ის გარეთ Snowflake-ის თქვენს სესიებზეც მოქმედებს.
ავტორიზაცია ვერ სრულდება
დაადასტურეთ, რომ მომხმარებელს Snowflake-ში შესვლა შეუძლია.
session:role:all-ის გამოყენებისას დაადასტურეთ, რომ OAuth ინტეგრაცია მომხმარებლის ნაგულისხმევ როლს უშვებს.დაადასტურეთ, რომ დაყენება Snowflake-ის მიერ მართული MCP OAuth პროცესს იყენებს.
დაადასტურეთ, რომ Client ID და Client Secret ემთხვევა Snowflake-ის OAuth ინტეგრაციას, ხოლო მისი გადამისამართების URI — ChatGPT-ში ნაჩვენებ უკუგამოძახების URL-ს.
Snowflake-ის ქსელის პოლიტიკა ან ნებადართული IP-ების სია დამაკავშირებელს ბლოკავს
სთხოვეთ Snowflake-ის ადმინისტრატორს, განაახლოს Snowflake-ის ქსელის პოლიტიკა ან წვდომის წესები.
დაუშვით შემომავალი კავშირები ChatGPT-ის დამაკავშირებლის მიმდინარე გამავალი IP დიაპაზონებიდან.
ნებადართული სია Snowflake-ში გამართეთ. ეს ChatGPT-ის სამუშაო სივრცის ნებადართული IP-ების სიისგან დამოუკიდებელია.
შეძლებისდაგვარად, გამოქვეყნებული JSON-იდან განახლებები ავტომატიზებული გახადეთ, რადგან დიაპაზონები შეიძლება შეიცვალოს.
ჰოსტის სახელთან დაკავშირების პრობლემა
გამოიყენეთ Snowflake-ის სწორი ჰოსტის პრეფიქსი. Snowflake-ის ჰოსტის სახელებში ქვედა ტირემ შეიძლება პრობლემები გამოიწვიოს; უპირატესობა მიანიჭეთ დეფისებს.
