【MCP Server】ChatGPT でSnowflake のデータと会話しよう!
ChatGPT はOpenAIが開発したAI アシスタントで、2022年11月にリリースされました。大規模言語モデル(LLM)をベースとして膨大な知識を持っており、業務のリサーチやコーディング、資料作成などに活用している方も多いのではないでしょうか。Plus およびPro 版で利用できるChatGPT の開発者モードで、外部データソースやツールに接続するためのMCP(Model Context Protocol)をサポートしています。
CData Connect AI は、Snowflake のデータに接続するための専用クラウド間インターフェースを提供します。CData Connect AI Remote MCP Server により、Google ADK エージェントと Snowflakeの間でセキュアな通信が可能になります。これにより、ネイティブ対応データベースへのデータレプリケーションを必要とせずに、エージェントから Snowflake のデータの読み取りや操作を実行できます。CData Connect AIは最適化されたデータ処理機能を備えており、フィルタや JOIN を含むサポート対象のすべての SQL 操作を効率的に Snowflakeへ直接送信します。サーバーサイド処理を活用することで、要求されたSnowflake のデータ を迅速に取得できます。
Snowflake データ連携について
CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- Snowflake データを迅速かつ効率的に読み書きできます。
- 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
- OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。
多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。
CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations
はじめに
ステップ1: ChatGPT 用のSnowflake への接続を設定
ChatGPT からCData Connect AI のリモートMCP を介してSnowflake に接続していきます。まずはConnect AI でSnowflake への接続を設定します。
- Connect AI にログインして「Sources」をクリック、次に「 Add Connection」をクリック
- 接続を追加パネルから「Snowflake」を選択
- Snowflakeに接続するために必要な認証プロパティを入力します。
それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
- ご自身のURL は以下のステップで確認できます。
- Snowflake UI の左下にあるユーザー名をクリックします
- Account ID にカーソルを合わせます
- Copy Account URL アイコンをクリックして、アカウントURL をコピーします
- Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
- Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します
Snowflakeへの認証
CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証方法を選択してください。
キーペア認証
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、以下の値を設定してください。
- User:認証に使用するユーザーアカウント
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
- PrivateKeyPassword:指定されたプライベートキーのパスワード
その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- 「Save & Test」をクリック
これで、ChatGPT からSnowflake に接続する準備が整いました!
ステップ2: ChatGPT をCData Connect AI に接続
それでは、ChatGPT にCData Connect AI コネクタを追加していきましょう。注意点として、以下の操作の実行にはChatGPT のPlus またはPro サブスクリプションが必要になります。
- ChatGPTにサインインします。
- 「設定」 > 「アプリとコネクター」に移動します。
- 「高度な設定」セクションで、「開発者モード」をオンに切り替えます。
- 開発者モードが有効になったら、「アプリとコネクター」ページに戻り、「作成する」をクリックします。
- コネクタの名前を入力します(例: Connect AI MCP)。
- 「MCP Serverの URL」フィールドに以下を入力します。
https://mcp.cloud.cdata.com/mcp
- 「認証」を「OAuth」に設定します。
- 「わたしはこのアプリケーションを信頼します」にチェックを入れ、「作成する」をクリックします
- CData Connect AI のOAuth 認証ページにリダイレクトされます。Connect AI の認証情報でサインインします。
- 要求された権限を確認し、「認証する」をクリックしてChatGPT にConnect AI リソースへのアクセスを許可します。
- 認証が成功すると、ChatGPT にリダイレクトされます。
- Connect AI MCP Server が利用可能なコネクタリストに表示され、コネクタの管理やアクション(ツール)の有効化・無効化ができるようになります。
これで設定は完了です!では、実際にSnowflake のデータを探索してみましょう。
ステップ3: ChatGPT でSnowflake のデータをリアルタイムで探索
設定が完了したので、実際の業務に役立つ質問をいつでも聞くことができます。試してみましょう。
- ChatGPT で新しい会話を開始します。
- ツールピッカーで「開発者モード」を有効にします。
- 「+」ボタンから「Connect AI MCP」を有効にします。
- 自然言語のプロンプトでデータの探索を開始できます。ChatGPT はConnect AI MCP を使用してSnowflake のデータをリアルタイムにクエリします。例えば以下のようなプロンプトを試してみてください。
- 「過去30日間のすべての顧客を表示して」
- 「最もパフォーマンスの高い製品は何ですか?」
- 「今四半期の売上トレンドを分析して」
- 「すべてのアクティブなプロジェクトと現在のステータスをリストして」
- ChatGPT は自然言語のクエリを自動でSQL に変換し、Connect AI を通じてSnowflake データを取得・分析します。
重要:ChatGPTの開発者モードは読み取り/書き込み権限を提供します。Snowflake への書き込み操作を許可する際は注意してください。データの変更を許可する前に必ず内容を確認してください。
注意: 開発者モードはベータ版であり、ChatGPT Plus およびPro 版でのみ利用できます。最新のセットアップ情報については、OpenAIのドキュメントをご参照ください。
CData Connect AI でビジネスシステムのデータ活用を今すぐスタート
いかがでしたか?ChatGPT からSnowflake へのデータ接続が10分もかからずに完了したのではないでしょうか。業務に使えそう、と感じてくださった方は、14日間の無償トライアルでAI ツールからビジネスシステムへのリアルタイムデータ接続をぜひお試しください。