اگر مدیر فضای کاری ChatGPT یا کاربر ChatGPT Plus یا Pro هستید و میخواهید ChatGPT را از طریق یک سرور MCP تحت مدیریت Snowflake به Snowflake متصل کنید، از این راهنما استفاده کنید.
بیشتر مراحل راهاندازی در Snowflake انجام میشود. پس از آمادهشدن Snowflake، اتصال قالب Snowflake را در ChatGPT تکمیل کنید، سپس افزونه Snowflake را که از آن قالب استفاده میکند فعال کنید.
OAuth داخلی: اگر این گزینه برای حساب Snowflake شما و در ChatGPT در دسترس است، از برنامه همکار ChatGPT که مدیر Snowflake فعال کرده است استفاده کنید. وارد Snowflake شوید؛ اگر سیستم تک نشانه ای (SSO) سازمانتان پیکربندی شده است، از آن استفاده کنید. نیازی نیست شناسه کلاینت یا رمز محرمانه کلاینت را در ChatGPT وارد کنید. مراحل بخش «OAuth داخلی» را در ادامه دنبال کنید.
کلاینت OAuth سفارشی: اگر سازمانتان به کلاینت OAuth اختصاصی خود نیاز دارد یا OAuth داخلی در دسترس نیست، از این روش استفاده کنید. مراحل بخش «کلاینت OAuth سفارشی» را در ادامه دنبال کنید.
هر دو روش OAuth به مراحل مشترک راهاندازی سرور MCP، مجوزهای اشیای زیربنایی و دسترسی شبکه نیاز دارند که در ادامه توضیح داده شدهاند. پیش از پیکربندی OAuth، مراحل مشترک راهاندازی را تا پایان بخش «جزئیات سرور Snowflake را در ChatGPT وارد کنید» تکمیل کنید.
آنچه راهاندازی میکنید
شما یک سرور MCP تحت مدیریت Snowflake ایجاد میکنید که بهعنوان نقطه پایان اتصالدهنده برای ChatGPT عمل میکند. سرور MCP مشخص میکند:
ChatGPT میتواند از کدام کنشها استفاده کند.
این ابزارها به کدام دادهها یا اشیای Snowflake دسترسی دارند.
هر کاربر با کدام نقش Snowflake مجوز میدهد.
کدام پایگاه داده، اسکیما و نام سرور MCP در Snowflake، نقطه پایان را مشخص میکنند.
سپس Snowflake - قالب رسمی را در ChatGPT با نشانی کامل سرور MCP مدیریتشده پیکربندی میکنید. ممکن است صفحه راهاندازی قالب، نشانی را در چهار فیلد جداگانه نشان دهد:
پیشوند میزبان Snowflake.
پایگاه داده.
اسکیما.
نام سرور MCP.
ChatGPT فقط میتواند ابزارهایی را شناسایی و استفاده کند که سرور MCP ارائه میدهد و نقش Snowflake مورد استفاده کاربر برای اعطای مجوز، اجازه استفاده از آنها را میدهد.
پیش از شروع
به این موارد نیاز دارید:
دسترسی مدیر یا مالک فضای کاری ChatGPT، یا دسترسی به ChatGPT Plus یا Pro.
دسترسی به Snowflake با امکان ایجاد اشیای سرور MCP و اعطای مجوز.
پایگاه داده و اسکیمای Snowflake که سرور MCP در آن قرار میگیرد.
تصمیمگیری درباره قابلیتهای مجاز برای ChatGPT؛ مانند Cortex Search، Cortex Analyst، SQL فقطخواندنی، یا یک رویه یا تابع مشخص.
یک نقش Snowflake با حداقل سطح دسترسی لازم که کاربران هنگام اعطای مجوز به برنامه از آن استفاده کنند.
پیشوند میزبان حساب Snowflake، شامل هرگونه پسوند منطقه یا سرویس ابری.
اگر حساب Snowflake شما دسترسی را از طریق خطمشی شبکه یا فهرست IPهای مجاز محدود میکند، از مدیر Snowflake بخواهید اتصالهای ورودی از محدودههای فعلی IP خروجی اتصالدهنده ChatGPT را مجاز کند. این فهرست تغییر میکند و باید بهروز نگه داشته شود.
مقادیری که باید آماده کنید
پیشوند میزبان Snowflake: تمام بخش پیش از .snowflakecomputing.com در نشانی حساب Snowflake.
پایگاه داده: پایگاه داده حاوی سرور MCP.
اسکیما: اسکیمای حاوی سرور MCP.
نام سرور MCP: نام شیء سرور MCP در Snowflake.
نشانی کامل سرور MCP مدیریتشده، اگر صفحه راهاندازی ChatGPT از شما نشانی میخواهد.
نقش 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 را فراهم نمیکند.
برای گزینههای بیشترِ تعریف مشخصات، به ایجاد سرور MCP تحت مدیریت Snowflake مراجعه کنید.
مجوزهای مناسب 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 - قالب رسمی را باز کنید، نامی گویا برای اتصال وارد کنید و اتصال را انتخاب کنید.
نشانی کامل سرور 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 را در فیلدهای جداگانه نشان میدهد، از همان مقادیر موجود در نشانی استفاده کنید:
پیشوند میزبان Snowflake
از تمام بخش پیش از .snowflakecomputing.com در نشانی حساب Snowflake خود، شامل هرگونه پسوند منطقه یا سرویس ابری، استفاده کنید.
برای مثال، اگر نشانی حساب با این عبارت شروع میشود:
https://myorg-myaccount.azure.snowflakecomputing.com
پیشوند میزبان این است:
myorg-myaccount.azure
پایگاه داده
نام پایگاه داده حاوی سرور MCP را وارد کنید، مانند:
CHATGPT_APPS
اسکیما
نام اسکیمای حاوی سرور MCP را وارد کنید، مانند:
TOOLS
نام سرور MCP
نام شیء سرور MCP در Snowflake را وارد کنید، مانند:
CHATGPT_SNOWFLAKE_MCP
OAuth را پیکربندی کنید
روش OAuth را انتخاب کنید که برای حساب شما در دسترس است و الزامات سازمانتان را برآورده میکند. هر دو روش از مراحل مشترک راهاندازی سرور MCP در بالا و آزمونهای اتصال و کنترلهای دسترسی در ادامه استفاده میکنند.
در هر دو روش OAuth، وقتی از session:role:all استفاده میکنید، Snowflake نقش پیشفرض هر کاربر را به کار میگیرد. اگر فهرست نقشهای مجاز برای یکپارچهسازی OAuth پیکربندی شده باشد، نقش پیشفرض باید در آن مجاز باشد و نباید مسدود شده باشد. داشتن یک نقش تأییدشده دیگر به این معنی نیست که آن نقش خودکار انتخاب میشود.
OAuth داخلی
پیش از ادامه، بخشهای مشترک بالا را تکمیل کنید تا سرور MCP ایجاد شود، مجوزها اعطا شوند، سرور بررسی شود و جزئیات آن در ChatGPT وارد شود. حتی اگر مستقیم به این بخش آمدهاید، انجام این مراحل الزامی است.
فقط زمانی از این روش استفاده کنید که برنامه همکار ChatGPT برای حساب Snowflake شما و OAuth داخلی در پنجره راهاندازی ChatGPT در دسترس باشند.
از مدیر Snowflake بخواهید یکپارچهسازی همکار ChatGPT را در همان حساب Snowflake که میزبان سرور MCP است فعال کند. اگر یکپارچهسازی همکار ChatGPT از قبل فعال شده است، از همان استفاده کنید.
در پنجره راهاندازی ChatGPT، از OAuth داخلی استفاده کنید. نیازی نیست شناسه کلاینت یا رمز محرمانه کلاینت وارد کنید یا نشانی بازگشت ثبت کنید.
برای ورود، اعلام رضایت و پیکربندی دسترسی، مراحل بخش «اتصال و مدیریت Snowflake» را در ادامه دنبال کنید. سپس بخش «برنامه را آزمایش کنید» را تکمیل کنید؛ آزمایش با اعضای غیرمدیر دارای دسترسی مجاز را نیز انجام دهید.
رفتار نقش پیشفرض، فهرست مجاز و نقشهای مسدودشده که در بالا توضیح داده شد، در این روش نیز یکسان است.
کلاینت OAuth سفارشی
پیش از ادامه، بخشهای مشترک بالا را تکمیل کنید تا سرور MCP ایجاد شود، مجوزها اعطا شوند، سرور بررسی شود و جزئیات آن در ChatGPT وارد شود. حتی اگر مستقیم به این بخش آمدهاید، انجام این مراحل الزامی است.
برای کلاینت OAuth سفارشی، به شناسه کلاینت و رمز محرمانه کلاینت از Snowflake نیاز دارید. رفتار نقش پیشفرض، فهرست مجاز و نقشهای مسدودشده که در بالا توضیح داده شد، در این روش نیز یکسان است.
در پنجره راهاندازی ChatGPT، تنظیمات پیشرفته OAuth > کلاینت OAuth تعریفشده توسط کاربر را انتخاب کنید و نشانی بازگشت نمایشدادهشده در ChatGPT را عیناً کپی کنید.
یک یکپارچهسازی امنیتی OAuth سفارشی ایجاد کنید که در آن
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'باشد و مقدارOAUTH_REDIRECT_URIدقیقاً روی همان نشانی بازگشت تنظیم شده باشد.دستور زیر را در Snowflake اجرا کنید و نام یکپارچهسازی را با حروف بزرگ بنویسید:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');از نتیجه JSON، مقدار
oauth_client_idرا در شناسه کلاینت OAuth و مقدارoauth_client_secretرا در رمز محرمانه کلاینت OAuth در ChatGPT جایگذاری کنید.روش احراز هویت نقطه پایان توکن را روی
client_secret_basicتنظیم کنید.
پس از واردکردن اطلاعات اعتبارسنجی کلاینت سفارشی، مراحل بخشهای «اتصال و مدیریت Snowflake» و «برنامه را آزمایش کنید» را در ادامه دنبال کنید.
اتصال و مدیریت Snowflake
در هر دو روش OAuth، در همان پنجره راهاندازی ChatGPT، ادامه را انتخاب کنید، وارد Snowflake شوید و مجوز اتصال را بدهید. اگر سیستم تک نشانه ای (SSO) سازمانتان پیکربندی شده است، میتوانید از آن استفاده کنید.
برای راهاندازی در فضای کاری، خطمشی نصب افزونه و دسترسی نقش یا گروه را برای اعضایی که باید از آن استفاده کنند پیکربندی کنید. مطمئن شوید که هم Snowflake و هم Snowflake - قالب رسمی فعال هستند.
مدیران فضای کاری مسئول پیکربندی دسترسی کاربران برای نقشهایی هستند که باید از Snowflake استفاده کنند.
مدیران فضای کاری مسئول بررسی کنترل کنشها برای ابزارهای ارائهشده هستند.
مدیران فضای کاری مسئول بررسی مجوزهای برنامه هستند تا مشخص کنند ChatGPT چه زمانی پیش از استفاده از برنامه از اعضا اجازه بخواهد.
این مجوزهای برنامه در گفتوگوهای ChatGPT اعمال میشوند. عاملهای فضای کاری از کنترلهای اختصاصی هر عامل استفاده میکنند که سازنده آن تنظیم کرده است؛ این کنترلها مشخص میکنند کدام کنشهای برنامه در دسترس باشند و چه زمانی از کاربران نهایی تأیید خواسته شود. برای آشنایی با رفتار عاملها، به عاملهای فضای کاری ChatGPT برای Enterprise و Business مراجعه کنید.
برنامه را آزمایش کنید
یک گفتوگو باز کنید، Snowflake را انتخاب کنید و اتصال را آزمایش کنید.
مطمئن شوید ChatGPT ابزارهای پیکربندیشده شما را شناسایی میکند.
ابتدا یک کنش خواندن کمخطر، مانند جستوجو یا پرسوجوی فقطخواندنی روی دادههای تأییدشده، اجرا کنید.
مطمئن شوید مجوزهای Snowflake مانع دسترسی خارج از محدوده نقش و اشیای تأییدشده میشوند.
برای راهاندازی در فضای کاری، اتصال را با اعضای غیرمدیر دارای دسترسی مجاز آزمایش کنید که نقشهای پیشفرض متفاوتی در Snowflake دارند. اتصال موفق مدیر به این معنی نیست که همه اعضا میتوانند متصل شوند.
برای مدیران فضای کاری، فعالکردن Snowflake بهتنهایی کافی نیست. اگر Snowflake - قالب رسمی فعال و متصل نشده باشد، ممکن است افزونه برای اعضا غیرفعال نمایش داده شود.
نشانی سرور MCP و نحوه عملکرد OAuth
ChatGPT به نشانی کامل سرور MCP تحت مدیریت Snowflake متصل میشود:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT از پیشوند میزبان Snowflake در آن نشانی برای تعیین این نقاط پایان OAuth در Snowflake استفاده میکند:
اعطای مجوز:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeتوکن:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
نشانی Snowsight، نشانی ریشه حساب Snowflake بهتنهایی، یا نشانی دارای بخشهای اضافی در مسیر را جایگذاری نکنید. نشانی MCP باید شامل /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} باشد و دقیقاً با اشیای Snowflake شما مطابقت داشته باشد.
عیبیابی
Snowflake برای مدیر فعال است، اما برای عضو غیرفعال است
مطمئن شوید که هم Snowflake و هم Snowflake - قالب رسمی در تنظیمات فضای کاری > افزونهها فعال هستند.
Snowflake - قالب رسمی را باز کنید و مراحل اتصال آن را تکمیل کنید. فعالکردن قالب بدون برقراری اتصال آن کافی نیست.
Snowflake را باز کنید و مطمئن شوید قالب بهعنوان برنامه مورد نیاز آن نمایش داده میشود.
مطمئن شوید خطمشی نصب افزونه به نقش یا گروه عضوی که با مشکل مواجه شده است اجازه دسترسی میدهد.
سرور MCP پیدا نشد
نشانی کامل سرور MCP را دوباره بررسی کنید؛ اگر صفحه راهاندازی چهار فیلد قالب را از شما میخواهد، آنها را بررسی کنید.
مطمئن شوید سرور MCP دقیقاً در همان پایگاه داده و اسکیما وجود دارد.
هیچ ابزاری در ChatGPT نمایش داده نمیشود
مطمئن شوید ابزارها در مشخصات سرور MCP تعریف شدهاند.
مطمئن شوید نقش، مجوز
USAGEروی سرور MCP دارد.
ابزار نمایش داده میشود، اما هنگام استفاده خطا میدهد
مطمئن شوید نقش، مجوز لازم را روی شیء زیربنایی Snowflake، مانند سرویس جستوجو، نمای معنایی، انبار، رویه یا UDF دارد.
ابزار SQL خطا میدهد
مطمئن شوید نام انبار درست است و انبار در حال اجراست.
مطمئن شوید نقش، مجوز
USAGEروی انبار دارد.اگر قصد دارید دسترسی فقطخواندنی بدهید، مطمئن شوید
read_only: trueتنظیم شده است.
نقش درخواستی ALL بهصراحت مسدود شده است
از مدیر Snowflake خود بخواهید نقش پیشفرض شما را با نقشهای مجاز و مسدودشده یکپارچهسازی OAuth مقایسه کند. داشتن یک نقش مجاز دیگر به این معنی نیست که آن نقش خودکار انتخاب میشود. در صورت صلاحدید، نقش پیشفرض را به یک نقش تأییدشده تغییر دهید و دوباره متصل شوید. تغییر نقش پیشفرض بر نشستهای Snowflake شما خارج از ChatGPT نیز تأثیر میگذارد.
اعطای مجوز ناموفق است
مطمئن شوید کاربر میتواند وارد Snowflake شود.
هنگام استفاده از
session:role:all، مطمئن شوید یکپارچهسازی OAuth نقش پیشفرض کاربر را مجاز میداند.مطمئن شوید در این پیکربندی از فرایند OAuth مربوط به MCP تحت مدیریت Snowflake استفاده میشود.
اگر از کلاینت OAuth سفارشی استفاده میکنید، مطمئن شوید شناسه کلاینت و رمز محرمانه کلاینت با یکپارچهسازی OAuth در Snowflake مطابقت دارند و URI تغییر مسیر آن دقیقاً با نشانی بازگشت نمایشدادهشده در ChatGPT یکسان است.
اگر از OAuth داخلی استفاده میکنید، از مدیر Snowflake بخواهید بررسی کند که یکپارچهسازی همکار ChatGPT در حساب میزبان سرور MCP در دسترس و فعال باشد.
خطمشی شبکه یا فهرست IPهای مجاز Snowflake، اتصالدهنده را مسدود میکند
از مدیر Snowflake بخواهید خطمشی شبکه یا قواعد دسترسی Snowflake را بهروز کند.
اتصالهای ورودی از محدودههای فعلی IP خروجی اتصالدهنده ChatGPT را مجاز کنید.
این فهرست مجاز را در Snowflake پیکربندی کنید. این فهرست از فهرست IPهای مجاز فضای کاری ChatGPT جداست.
در صورت امکان، بهروزرسانی از فایل JSON منتشرشده را خودکار کنید، زیرا ممکن است محدودهها تغییر کنند.
مشکل اتصال مربوط به نام میزبان
از پیشوند درست میزبان Snowflake استفاده کنید. وجود زیرخط در نام میزبان Snowflake میتواند مشکلساز شود؛ بهتر است از خط تیره استفاده کنید.
