【MCP Server】Microsoft Copilot Studio からSnowflake のデータにアクセスする
Microsoft Copilot Studio は、タスクの自動化、質問への回答など、さまざまなビジネスプロセスの支援を行うAI エージェントを作成するためのノーコード / ローコードプラットフォームです。CData Connect AI のリモートMCP と組み合わせることで、Copilot Studio を活用してSnowflake のデータとリアルタイムに対話できます。この記事では、Connect AI Remote MCP を使用してSnowflake に接続し、Copilot Studio からSnowflake のデータと対話するための手順を解説していきます。
CData Connect AI は、Snowflake のデータに接続するための専用クラウド間インターフェースを提供します。CData Connect AI Remote MCP Server により、Google ADK エージェントと Snowflakeの間でセキュアな通信が可能になります。これにより、ネイティブ対応データベースへのデータレプリケーションを必要とせずに、エージェントから Snowflake のデータの読み取りや操作を実行できます。CData Connect AIは最適化されたデータ処理機能を備えており、フィルタや JOIN を含むサポート対象のすべての SQL 操作を効率的に Snowflakeへ直接送信します。サーバーサイド処理を活用することで、要求されたSnowflake のデータ を迅速に取得できます。
この記事では、Microsoft Copilot Studio でエージェントを構築し、データを会話形式で探索する方法(または Vibe Query)を紹介します。接続の原則は、すべての Copilot エージェントに適用されます。Connect AI を使用すると、ライブの 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: Microsoft Copilot Studio 用の Snowflake 接続を設定
それでは、Microsoft Copilot Studio からSnowflake への接続を実現していきましょう。まずCData 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」をクリック
それでは、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への認証」セクションをご確認ください。
「Create & Test」をクリックします
パーソナルアクセストークンを追加する
パーソナルアクセストークン (PAT) は、Microsoft Copilot Studio から Connect AI への接続を認証するために使用されます。アクセスの粒度を維持するために、サービスごとに個別の PAT を作成することがベストプラクティスです。
- Connect AI アプリの右上にある歯車アイコン () をクリックして、設定ページを開きます。
- 「Settings」ページで、「Access Tokens」セクションに移動し、 「Create PAT」をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- パーソナルアクセストークンは作成時にのみ表示されるため、必ずコピーして安全に保管してください。
これで接続を作成しPAT を生成できたので、Microsoft Copilot Studio から Snowflake に接続する準備が整いました!
ステップ 2: Microsoft Copilot Studio からCData Connect AI に接続
それでは、Copilot Studio をConnect AI につなげていきましょう。
-
Copilot Studio のナビゲーションメニューで、「Agents」をクリックし、「+New agent」をクリックします。
-
「Configure」ボタンを切り替え、MCP Serverを利用する際のエージェントの使用方法に基づいて情報を入力します。次に、右上の「Create」をクリックすると、Copilot にエージェントの詳細が表示されます。
-
「Tools」の下で、「Add tool」をクリックし、「+ New Tool」をクリックします。
-
「Add Tool」ウィンドウで、「Model Context Protocol」をクリックして新しい MCP ツールを追加します。
-
「Add a Model Context Protocol server」ウィンドウで、次の情報を入力します。
- 「Server Name」: ツールの名前を入力します (例:「CData Connect AI MCP Server」)。
- Server Description: ツールの説明を入力します。
- Server URL: CData Connect AI のリモートMCP サーバー の URL を入力します。URL はこちら:https://mcp.cloud.cdata.com/mcp
- Authentication Type: ドロップダウンメニューから「API Key」を選択します。
- Header Name: ヘッダー名として「Authorization」と入力します。これは、API キー認証の標準ヘッダー名です。
-
次にMCP ツールの接続を選択/作成するように求められます。「Create new connection」をクリックして新しい接続を作成します。
-
新しい接続の値を Basic EMAIL:PAT に設定します。EMAIL と PAT を、Connect AI のメールアドレスと以前に作成した PAT に置き換えてください。例: Basic [email protected]:Uu90pt5vEO...
-
接続が正常に作成されたら、「Add to agent」をクリックして MCP ツールをエージェントに追加します。
-
MCP ツールをエージェントに追加すると、「Tools」セクションにリストされます。これで、このツールを使用してCData Connect AI 経由でSnowflake と対話できます。
任意のステップ:AI エージェントにコンテキストを提供する
このステップでは、エージェントの「Instructions」プロパティを使ってAI エージェントの役割を明示することで、会話のコンテキストを提供する方法を見てみましょう。エージェントに MCP Server の専門家としての役割と利用可能なツールのリストを明示的に通知する指示を提供することで、エージェントの理解と応答の精度を向上させることができます。例えば、システムメッセージを次のように設定できます。
あなたは CData Connect AI MCP Server に接続された MCP Client ツールの使用に関する専門家です。常に徹底的に検索を行い、各クエリに最も適切な MCP Client ツールを使用してください。以下は利用可能なツールとそれぞれの説明です: queryData: 接続されたデータソースに対して SQL クエリを実行し、結果を取得します。queryData ツールを使用する際は、テーブル名に次の形式を使用してください: catalog.schema.tableName execData: 接続されたデータソースに対してストアドプロシージャを実行します getCatalogs: CData Connect AI から利用可能な接続のリストを取得します。接続名は、他のツールや CData Connect AI へのクエリでカタログ名として使用する必要があります。特定のカタログで利用可能なスキーマのリストを取得するには、`getSchemas` ツールを使用してください。 getColumns: CData Connect AI から、特定のカタログ、スキーマ、テーブルの利用可能なデータベース列のリストを取得します。 getExportedKeys: CData Connect AI から、特定のカタログ、スキーマ、テーブルの外部キー関係のリストを取得します。 getImportedKeys: CData Connect AI から、特定のカタログ、スキーマ、テーブルの外部キー関係のリストを取得します。 getIndexes: CData Connect AI から、特定のカタログ、スキーマ、テーブルのインデックスのリストを取得します。 getPrimaryKeys: CData Connect AI から、特定のカタログ、スキーマ、テーブルの主キーのリストを取得します。 getProcedures: CData Connect AI から、特定のカタログとスキーマのストアドプロシージャのリストを取得します getProcedureParameters: CData Connect AI から、特定のカタログ、スキーマ、プロシージャのストアドプロシージャパラメータのリストを取得します。 getSchemas: CData Connect AI から、特定のカタログの利用可能なデータベーススキーマのリストを取得します。特定のカタログとスキーマで利用可能なテーブルのリストを取得するには、`getTables` ツールを使用してください。 getTables: CData Connect AI から、特定のカタログとスキーマの利用可能なデータベーステーブルのリストを取得します。特定のテーブルの利用可能な列のリストを取得するには、`getColumns` ツールを使用してください。
ステップ3: Microsoft Copilot Studio でSnowflake のデータをリアルタイムで探索
Microsoft Copilot Studio でエージェントが作成できMCP ツールも作成したので、Microsoft Copilot Studio を使用して Snowflake のデータと対話できるようになりました。MCP ツールを使用すると、クエリを送信してSnowflake データからリアルタイムで応答を受信できます。
Microsoft Copilot Studio エージェントでチャットウィンドウを開いて、Snowflake との対話を開始します。MCP ツールを使用して、質問をしたり、データを取得したり、Snowflake に対してアクションを実行したりできます。
CData Connect AI でビジネスシステムのデータ活用を今すぐスタート
いかがでしたか?ChatGPT からSnowflake へのデータ接続が10分もかからずに完了したのではないでしょうか。業務に使えそう、と感じてくださった方は、14日間の無償トライアルでAI ツールからビジネスシステムへのリアルタイムデータ接続をぜひお試しください。