প্রকল্প সম্পর্কে

mcp-server-snowflake হলো একটি স্বাধীনভাবে রক্ষণাবেক্ষণ করা, Apache-2.0 লাইসেন্সপ্রাপ্ত Model Context Protocol (MCP) সার্ভার যা একটি AI অ্যাসিস্ট্যান্টকে Snowflake-এর সাথে কাজ করতে দেয়। প্রজেক্টটি উল্লেখ করেছে যে এটি Snowflake Inc.-এর সাথে যুক্ত নয়, তাদের দ্বারা স্পনসরড, অনুমোদিত বা সমর্থিত নয় এবং নোট করেছে যে "Snowflake" এবং "Cortex" হলো Snowflake Inc.-এর ট্রেডমার্ক। এটি PyPI-তে ডিস্ট্রিবিউটেড এবং uv বা pip দিয়ে ইনস্টল করা যায়, একটি সেটআপ উইজার্ড (--init)-এর মাধ্যমে চালানো যায়, একটি নির্দিষ্ট Snowflake CLI কানেকশন (-c)-এর দিকে নির্দেশ করা যায় অথবা Docker-এ চালানো যায়। README-তে বর্ণিত সক্ষমতাগুলো: কানেকশন রেজোলিউশন: সার্ভারটি ~/.snowflake/connections.toml থেকে Snowflake CLI কনফিগারেশন পড়তে পারে যাতে অতিরিক্ত কনফিগারেশন ছাড়াই বিদ্যমান প্রোফাইল ব্যবহার করা যায়। এটি snowflake_use_connection-এর মাধ্যমে রানটাইমে প্রোফাইল পরিবর্তন এবং snowflake_list_connections-এর মাধ্যমে সেগুলো তালিকাভুক্ত করা সমর্থন করে। অথেন্টিকেশন অপশনগুলোর মধ্যে রয়েছে প্রোগ্রাম্যাটিক অ্যাক্সেস টোকেন বা OAuth (কানেকশন প্রোফাইলে বা SNOWFLAKE_TOKEN-এ টোকেন), RSA key-pair JWT (SNOWFLAKE_PRIVATE_KEY_PATH, ঐচ্ছিক পাসফ্রেজ), externalbrowser অথেন্টিকেটর-এর মাধ্যমে SSO, এবং স্ট্যান্ডার্ড এনভায়রনমেন্ট ভেরিয়েবল (account, user, password, warehouse, database, schema, role)। নিরাপত্তা নিয়ন্ত্রণ: একটি রিড-অনলি মোড (SNOWFLAKE_MCP_READONLY=1 বা --readonly) DDL/DML মিউটেশন টুলগুলোকে নিষ্ক্রিয় করে; ডেটাবেস, স্কিমা বা টেবিল ড্রপ করার মতো ধ্বংসাত্মক অপারেশনের জন্য একটি স্পষ্ট confirm=True প্রয়োজন; এবং ডিফল্ট রো এবং টাইমআউট লিমিট (SNOWFLAKE_MAX_ROWS=1000, SNOWFLAKE_QUERY_TIMEOUT=120) রেজাল্ট সাইজ সীমাবদ্ধ করার জন্য রাখা হয়েছে। টুল কভারেজ: README-তে ১৪০টি টুলকে ১৯টি ডোমেইন মডিউলে সাজানো হয়েছে, যার মধ্যে রয়েছে SQL কুয়েরি এবং ট্রানজ্যাকশন (query, DML, cancel, query history, query plan, operator stats, begin/commit/rollback); ডেটাবেস, স্কিমা, টেবিল এবং ভিউ (list, describe, create, drop, clone, undrop, DDL, sampling, truncate); ভার্চুয়াল ওয়্যারহাউস (list, describe, create, drop, resume, suspend, resize, load history); স্টেজ এবং ফাইল অপারেশন; টাস্ক এবং DAG পাইপলাইন; স্ট্রিম এবং চেঞ্জ ডেটা ক্যাপচার; এক্সটার্নাল ভলিউম এবং ক্যাটালগ ইন্টিগ্রেশনসহ ডাইনামিক এবং Iceberg টেবিল; Snowpipe ইনজেশন; অ্যালার্ট এবং নোটিফিকেশন; গভর্ন্যান্স, RBAC, রোল এবং ইউজার; নেটওয়ার্ক এবং পাসওয়ার্ড পলিসি; SPCS কম্পিউট পুল এবং Streamlit; অবজেক্ট ট্যাগ এবং ক্লাসিফিকেশন; Horizon লিনেজ সহ মাস্কিং এবং রো অ্যাক্সেস পলিসি; প্রোগ্রামেবিলিটি অবজেক্ট যেমন প্রসিডিউর, ফাংশন, সিক্রেট, সিকোয়েন্স, ইন্টিগ্রেশন এবং ইভেন্ট টেবিল; কমপ্লিশন, সামারাইজেশন, সেন্টিমেন্ট, অ্যানসার এক্সট্রাকশন, ট্রান্সলেশন, সার্চ, টেক্সট এমবেডিং এবং অ্যানালিস্ট কুয়েরির জন্য Cortex AI হেল্পার; এবং কম্পোজিট ওয়ার্কফ্লো যেমন হেলথ চেক, টেবিল ইন্সপেকশন এবং প্রোফাইলিং, ওয়্যারহাউস স্কেল-অ্যান্ড-এক্সিকিউট, ক্লোনিং রেসিপি, স্টেজ-এ কুয়েরি রেজাল্ট এক্সপোর্ট করা, অ্যাকাউন্ট ইউসেজ সামারি এবং স্কিমা লিনেজ ডিসকভারি। টার্গেট অডিয়েন্স: ডেটা ইঞ্জিনিয়ার, অ্যানালিস্ট এবং প্ল্যাটফর্ম টিম যারা MCP-এর মাধ্যমে AI অ্যাসিস্ট্যান্ট দিয়ে Snowflake অ্যাকাউন্ট পরিদর্শন এবং পরিচালনা করতে চান, যেখানে রিড-অনলি বা কনফার্মেশন-গেটেড ব্যবহারের জন্য গার্ডরেল উপলব্ধ। লাইসেন্সিং, CI স্ট্যাটাস, PyPI ভার্সন এবং কভারেজ রিপোজিটরি ব্যাজ দ্বারা নির্দেশিত।