Hãy dùng hướng dẫn này nếu bạn là quản trị viên không gian làm việc ChatGPT hoặc người dùng ChatGPT Plus hay ChatGPT Pro muốn kết nối ChatGPT với Snowflake qua máy chủ MCP do Snowflake quản lý.
Hầu hết quá trình thiết lập diễn ra trong Snowflake. Sau khi Snowflake sẵn sàng, hãy hoàn tất kết nối mẫu Snowflake trong ChatGPT, rồi bật tiện ích Snowflake sử dụng mẫu đó.
Nội dung bạn sẽ thiết lập
Bạn sẽ tạo một máy chủ MCP do Snowflake quản lý, đóng vai trò là điểm cuối của trình kết nối dành cho ChatGPT. Máy chủ MCP xác định:
Những hành động ChatGPT có thể sử dụng.
Những dữ liệu hoặc đối tượng Snowflake mà các công cụ đó có thể truy cập.
Vai trò Snowflake mà mỗi người dùng sử dụng để cấp quyền.
Cơ sở dữ liệu, lược đồ và tên máy chủ MCP trong Snowflake dùng để nhận dạng điểm cuối.
Sau đó, bạn định cấu hình Snowflake - Mẫu chính thức trong ChatGPT bằng URL đầy đủ của máy chủ MCP được quản lý. Màn hình thiết lập mẫu có thể hiển thị URL dưới dạng bốn trường riêng biệt:
Tiền tố máy chủ Snowflake.
Cơ sở dữ liệu.
Lược đồ.
Tên máy chủ MCP.
ChatGPT chỉ có thể tìm và sử dụng các công cụ do máy chủ MCP cung cấp và được vai trò Snowflake mà người dùng dùng để cấp quyền cho phép.
Trước khi bắt đầu
Bạn cần:
Quyền quản trị viên hoặc chủ sở hữu không gian làm việc ChatGPT, hoặc quyền truy cập ChatGPT Plus hay ChatGPT Pro.
Quyền truy cập Snowflake cho phép tạo đối tượng máy chủ MCP và cấp quyền.
Cơ sở dữ liệu và lược đồ Snowflake nơi máy chủ MCP sẽ được lưu trữ.
Quyết định về những việc ChatGPT được phép làm, chẳng hạn như dùng Cortex Search, Cortex Analyst, SQL chỉ đọc hoặc một thủ tục hay hàm cụ thể.
Một vai trò Snowflake có đặc quyền tối thiểu mà người dùng sẽ sử dụng khi cấp quyền cho ứng dụng.
Tiền tố máy chủ của tài khoản Snowflake, bao gồm mọi hậu tố khu vực hoặc đám mây.
Nếu tài khoản Snowflake của bạn hạn chế truy cập bằng chính sách mạng hoặc danh sách IP cho phép, hãy nhờ quản trị viên Snowflake cho phép kết nối đến từ các dải IP đầu ra hiện tại của trình kết nối ChatGPT. Danh sách này thay đổi linh hoạt và cần được cập nhật thường xuyên.
Các giá trị cần chuẩn bị
Tiền tố máy chủ Snowflake: mọi nội dung đứng trước .snowflakecomputing.com trong URL tài khoản Snowflake.
Cơ sở dữ liệu: cơ sở dữ liệu chứa máy chủ MCP.
Lược đồ: lược đồ chứa máy chủ MCP.
Tên máy chủ MCP: tên đối tượng máy chủ MCP trong Snowflake.
URL đầy đủ của máy chủ MCP được quản lý nếu màn hình thiết lập ChatGPT yêu cầu URL.
Vai trò Snowflake: vai trò người dùng nên sử dụng khi cấp quyền cho ứng dụng.
Danh sách công cụ: các đối tượng và hành động Snowflake mà bạn muốn ChatGPT sử dụng.
Quyết định những việc ChatGPT có thể làm
Chỉ chọn những chức năng bạn muốn cung cấp. Các lựa chọn phổ biến gồm:
Tìm kiếm bằng Cortex Search để tìm câu trả lời trong dữ liệu hoặc nội dung Snowflake đã lập chỉ mục.
Hỏi đáp với Cortex Analyst thông qua một chế độ xem ngữ nghĩa đã được phê duyệt.
SQL chỉ đọc để kiểm soát quyền truy vấn.
Một tác nhân Snowflake, thủ tục được lưu trữ hoặc UDF dành cho quy trình làm việc cụ thể.
Nếu bật SQL, hãy giữ chế độ chỉ đọc, trừ khi tổ chức của bạn đã xem xét và phê duyệt quyền ghi.
Mở trang tính Snowflake
Đăng nhập vào ứng dụng Snowflake.
Chuyển sang vai trò có thể tạo máy chủ MCP và cấp quyền truy cập.
Chuyển đến Không gian làm việc.

Tạo một không gian làm việc có tệp SQL.

Đặt ngữ cảnh không gian làm việc thành cơ sở dữ liệu và lược đồ nơi máy chủ MCP sẽ được tạo.

Tạo máy chủ MCP Snowflake
Trong Snowflake, hãy đăng nhập bằng vai trò có thể tạo máy chủ MCP và cấp quyền truy cập. Mở một trang tính trong cơ sở dữ liệu và lược đồ nơi máy chủ MCP cần được tạo.
Chạy một câu lệnh như ví dụ sau. Thay các tên bằng tên cơ sở dữ liệu, lược đồ, dịch vụ, chế độ xem, kho dữ liệu và máy chủ Snowflake của bạn.
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" $$;

Tên công cụ và đối tượng Snowflake trong câu lệnh này là các ví dụ:
support-searchcung cấp dịch vụ Cortex Search đã chỉ định.revenue-analystcung cấp chế độ xem ngữ nghĩa đã chỉ định. Thêm công cụ cho các chế độ xem khác khi cần.sql-readonlycung cấp SQL chỉ đọc với kho dữ liệu đã chỉ định.
Dùng tên công cụ ổn định, mang tính mô tả để ChatGPT có thể chọn đúng công cụ. Việc tạo máy chủ MCP không tự động cấp quyền truy cập vào các đối tượng Snowflake nền tảng.
Để biết thêm các tùy chọn về thông số kỹ thuật, hãy xem: Tạo máy chủ MCP do Snowflake quản lý.
Cấp đúng quyền Snowflake
Chọn vai trò Snowflake mà người dùng sẽ dùng để cấp quyền, rồi cấp cho vai trò đó quyền truy cập vào:
Cơ sở dữ liệu và lược đồ.
Máy chủ MCP.
Mọi đối tượng nền tảng được công cụ sử dụng, chẳng hạn như dịch vụ tìm kiếm, chế độ xem ngữ nghĩa hoặc kho dữ liệu.
Ví dụ:
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;
Nếu máy chủ MCP cung cấp UDF, thủ tục được lưu trữ hoặc tác nhân Cortex, hãy cấp cả các quyền cần thiết cho đối tượng đó.
Xác minh Snowflake đã sẵn sàng
Chạy:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Sau đó chạy:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Xác nhận rằng:
Máy chủ tồn tại trong cơ sở dữ liệu và lược đồ dự kiến.
Danh sách công cụ đúng như bạn dự định.
identifiercủa từng công cụ trỏ đến đúng đối tượng Snowflake.Vai trò kết nối có quyền
USAGEtrên máy chủ MCP.Vai trò kết nối có các quyền cần thiết trên từng đối tượng nền tảng.
Nhập thông tin máy chủ Snowflake vào ChatGPT
Trong ChatGPT, hãy chuyển sang tài khoản hoặc không gian làm việc nơi ứng dụng cần khả dụng.
Mở Cài đặt. Để thiết lập cho toàn bộ không gian làm việc, hãy mở Cài đặt không gian làm việc với tư cách quản trị viên.
Chuyển đến Tiện ích.
Tìm kiếm Snowflake.
Bật Snowflake - Mẫu chính thức.
Mở Snowflake - Mẫu chính thức, nhập tên kết nối rõ ràng rồi chọn Kết nối.
Nhập URL đầy đủ của máy chủ MCP được quản lý:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Ví dụ:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Nếu màn hình thiết lập hiển thị cấu hình Snowflake dưới dạng các trường riêng biệt, hãy dùng chính các giá trị trong URL:
Tiền tố máy chủ Snowflake
Dùng mọi nội dung đứng trước .snowflakecomputing.com trong URL tài khoản Snowflake, bao gồm mọi hậu tố khu vực hoặc đám mây.
Ví dụ, nếu URL tài khoản bắt đầu bằng:
https://myorg-myaccount.azure.snowflakecomputing.com
Tiền tố máy chủ là:
myorg-myaccount.azure
Cơ sở dữ liệu
Nhập cơ sở dữ liệu chứa máy chủ MCP, chẳng hạn như:
CHATGPT_APPS
Lược đồ
Nhập lược đồ chứa máy chủ MCP, chẳng hạn như:
TOOLS
Tên máy chủ MCP
Nhập tên đối tượng máy chủ MCP trong Snowflake, chẳng hạn như:
CHATGPT_SNOWFLAKE_MCP
Định cấu hình ứng dụng khách OAuth
Bạn cần ID ứng dụng khách và mật mã ứng dụng khách từ Snowflake để kết nối.
Khi bạn dùng session:role:all, Snowflake sẽ sử dụng vai trò mặc định của từng người dùng. Vai trò mặc định phải được danh sách vai trò cho phép của tích hợp OAuth chấp nhận (nếu đã định cấu hình) và không được bị chặn. Việc có một vai trò khác đã được phê duyệt không khiến vai trò đó tự động được chọn.
Trong hộp thoại thiết lập ChatGPT, hãy mở Cài đặt OAuth nâng cao, chọn Ứng dụng khách OAuth do người dùng xác định rồi sao chép URL gọi lại hiển thị trong ChatGPT.
Tạo tích hợp bảo mật OAuth tùy chỉnh với
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'và đặtOAUTH_REDIRECT_URIthành chính xác URL gọi lại đó.Chạy câu lệnh sau trong Snowflake, dùng tên tích hợp viết hoa:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Từ kết quả JSON, dán
oauth_client_idvào ID ứng dụng khách OAuth vàoauth_client_secretvào Mật mã ứng dụng khách OAuth trong ChatGPT.Đặt Phương thức xác thực điểm cuối token thành
client_secret_basic.
Kết nối và quản lý Snowflake
Trong cùng hộp thoại thiết lập ChatGPT, hãy chọn Tiếp tục, đăng nhập vào Snowflake rồi cấp quyền cho kết nối.
Đối với thiết lập không gian làm việc, hãy định cấu hình chính sách cài đặt tiện ích và quyền truy cập theo vai trò hoặc nhóm cho các thành viên cần sử dụng tiện ích. Xác minh rằng cả Snowflake và Snowflake - Mẫu chính thức đều đã được bật.
Quản trị viên không gian làm việc chịu trách nhiệm định cấu hình Quyền truy cập của người dùng cho các vai trò cần sử dụng Snowflake.
Quản trị viên không gian làm việc chịu trách nhiệm xem xét Kiểm soát hành động cho các công cụ được cung cấp.
Quản trị viên không gian làm việc chịu trách nhiệm xem xét Quyền của ứng dụng để chọn thời điểm ChatGPT hỏi thành viên trước khi dùng ứng dụng.
Các quyền ứng dụng này áp dụng cho cuộc trò chuyện ChatGPT. Các tác nhân trong không gian làm việc dùng chế độ kiểm soát riêng cho từng tác nhân do người tạo đặt để xác định hành động ứng dụng nào khả dụng và thời điểm yêu cầu người dùng cuối phê duyệt. Để tìm hiểu hành vi của tác nhân, hãy xem: Tác nhân trong không gian làm việc ChatGPT dành cho Enterprise và Business.
Kiểm thử ứng dụng
Mở một cuộc trò chuyện, chọn Snowflake rồi kiểm thử kết nối.
Xác nhận rằng ChatGPT tìm thấy các công cụ bạn đã định cấu hình.
Trước tiên, hãy chạy một hành động đọc ít rủi ro, chẳng hạn như tìm kiếm hoặc truy vấn chỉ đọc trên dữ liệu đã được phê duyệt.
Xác nhận rằng các quyền Snowflake ngăn truy cập ngoài vai trò và đối tượng đã được phê duyệt.
Đối với thiết lập không gian làm việc, hãy kiểm thử bằng các thành viên không phải quản trị viên được phép và có vai trò Snowflake mặc định khác nhau. Việc quản trị viên kết nối thành công không có nghĩa là mọi thành viên đều có thể kết nối.
Đối với quản trị viên không gian làm việc, chỉ bật Snowflake là chưa đủ. Nếu Snowflake - Mẫu chính thức chưa được bật và kết nối, tiện ích có thể hiển thị là bị tắt đối với thành viên.
URL máy chủ MCP và hoạt động của OAuth
ChatGPT kết nối với URL đầy đủ của máy chủ MCP do Snowflake quản lý:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT dùng tiền tố máy chủ Snowflake trong URL đó để phân giải các điểm cuối OAuth Snowflake sau:
Ủy quyền:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Không dán URL Snowsight, chỉ riêng URL gốc của tài khoản Snowflake hoặc URL có thêm các phân đoạn đường dẫn. URL MCP phải có /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} và khớp chính xác với các đối tượng Snowflake của bạn.
Khắc phục sự cố
Snowflake được bật cho quản trị viên nhưng bị tắt đối với thành viên
Xác nhận rằng cả Snowflake và Snowflake - Mẫu chính thức đều được bật trong Cài đặt không gian làm việc > Tiện ích.
Mở Snowflake - Mẫu chính thức và hoàn tất quy trình Kết nối. Chỉ bật mẫu mà không kết nối là chưa đủ.
Mở Snowflake và xác nhận mẫu xuất hiện dưới dạng ứng dụng bắt buộc.
Xác nhận rằng vai trò hoặc nhóm của thành viên bị ảnh hưởng được chính sách cài đặt tiện ích cho phép.
Không tìm thấy máy chủ MCP
Kiểm tra lại URL đầy đủ của máy chủ MCP hoặc bốn trường mẫu nếu màn hình thiết lập yêu cầu.
Xác nhận rằng máy chủ MCP tồn tại trong chính xác cơ sở dữ liệu và lược đồ đó.
Không có công cụ nào xuất hiện trong ChatGPT
Xác nhận rằng thông số kỹ thuật của máy chủ MCP có chứa công cụ.
Xác nhận rằng vai trò có quyền
USAGEtrên máy chủ MCP.
Công cụ xuất hiện nhưng gặp lỗi khi sử dụng
Xác nhận rằng vai trò có quyền cần thiết trên đối tượng Snowflake nền tảng, chẳng hạn như dịch vụ tìm kiếm, chế độ xem ngữ nghĩa, kho dữ liệu, thủ tục hoặc UDF.
Công cụ SQL gặp lỗi
Xác nhận rằng tên kho dữ liệu chính xác và kho dữ liệu đang chạy.
Xác nhận rằng vai trò có quyền
USAGEtrên kho dữ liệu.Xác nhận rằng
read_only: trueđã được đặt nếu bạn muốn quyền truy cập chỉ đọc.
Vai trò ALL được yêu cầu đã bị chặn rõ ràng
Nhờ quản trị viên Snowflake so sánh vai trò mặc định của bạn với các vai trò được phép và bị chặn trong tích hợp OAuth. Việc có một vai trò khác được phép không khiến vai trò đó tự động được chọn. Nếu phù hợp, hãy đổi vai trò mặc định thành vai trò đã được phê duyệt rồi kết nối lại. Việc thay đổi vai trò mặc định cũng ảnh hưởng đến các phiên Snowflake bên ngoài ChatGPT.
Ủy quyền không thành công
Xác nhận rằng người dùng có thể đăng nhập vào Snowflake.
Khi dùng
session:role:all, hãy xác nhận rằng vai trò mặc định của người dùng được tích hợp OAuth cho phép.Xác nhận rằng quá trình thiết lập sử dụng quy trình OAuth MCP do Snowflake quản lý.
Xác nhận rằng ID ứng dụng khách và mật mã ứng dụng khách khớp với tích hợp OAuth Snowflake, đồng thời URI chuyển hướng khớp với URL gọi lại hiển thị trong ChatGPT.
Chính sách mạng hoặc danh sách IP cho phép của Snowflake chặn trình kết nối
Nhờ quản trị viên Snowflake cập nhật chính sách mạng hoặc quy tắc truy cập Snowflake.
Cho phép kết nối đến từ các dải IP đầu ra hiện tại của trình kết nối ChatGPT.
Định cấu hình danh sách cho phép này trong Snowflake. Danh sách này tách biệt với danh sách IP cho phép của không gian làm việc ChatGPT.
Khi có thể, hãy tự động cập nhật từ JSON đã công bố vì các dải này có thể thay đổi.
Sự cố kết nối tên máy chủ
Dùng đúng tiền tố máy chủ Snowflake. Tên máy chủ Snowflake có dấu gạch dưới có thể gây sự cố; nên dùng dấu gạch ngang.
