【MCP Server】n8n からSnowflake のデータと連携しよう!

加藤龍彦
加藤龍彦
デジタルマーケティング
CData Connect AI のリモートMCP Server で n8n から Snowflake へのリアルタイムアクセスを実現。ワークフロー自動化でデータの読み取りとアクション実行を簡単に。

n8n は、さまざまなアプリケーションやサービスを接続してタスクやプロセスを自動化できる、オープンソースのワークフロー自動化ツールです。CData Connect AI のリモートMCP と組み合わせることで、n8n を活用して Snowflake とリアルタイムでやり取りできます。この記事では、Connect AI Remote MCP を使用して Snowflake に接続し、n8n で Snowflake とやり取りする基本的なワークフローを作成する方法をご紹介します。

CData Connect AI は、Snowflake のデータに接続するための専用クラウド間インターフェースを提供します。CData Connect AI Remote MCP Server により、Google ADK エージェントと Snowflakeの間でセキュアな通信が可能になります。これにより、ネイティブ対応データベースへのデータレプリケーションを必要とせずに、エージェントから Snowflake のデータ の読み取りや操作を実行できます。CData Connect AIは最適化されたデータ処理機能を備えており、フィルタや JOIN を含むサポート対象のすべての SQL 操作を効率的に Snowflakeへ直接送信します。サーバーサイド処理を活用することで、要求されたSnowflake のデータ を迅速に取得できます。

この記事では、n8n でシンプルなチャットエージェントを構築して、データを会話形式で探索(Vibe Query)する方法をご紹介します。ここで紹介する接続の原則は、あらゆる n8n ワークフローに適用できます。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:n8n 用の Snowflake 接続を設定する

n8n から Snowflake への接続は、CData Connect AI のリモートMCP を通じて実現されます。n8n から Snowflake とやり取りするために、まず CData Connect AI で Snowflake 接続を作成・設定していきましょう。

  1. Connect AI にログインし、「Sources」をクリックして、「Add Connection」をクリックします
  2. 「Add Connection」パネルから「Snowflake」を選択します
  3. Snowflake に接続するために必要な認証プロパティを入力します。

    それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。

    • Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
      • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
      • ご自身のURL は以下のステップで確認できます。
        1. Snowflake UI の左下にあるユーザー名をクリックします
        2. Account ID にカーソルを合わせます
        3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします
    • Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
    • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

    Snowflakeへの認証

    CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証方法を選択してください。

    キーペア認証

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

    • User:認証に使用するユーザーアカウント
    • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
    • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
    • PrivateKeyPassword:指定されたプライベートキーのパスワード

    その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。

  4. 「Create & Test」をクリックします
  5. 「Add Snowflake Connection」ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。

パーソナルアクセストークンの追加

パーソナルアクセストークン(PAT)は、n8n から Connect AI への接続を認証するために使用されます。アクセス制御の粒度を維持するために、サービスごとに個別の PAT を作成することをおすすめします。

  1. Connect AI アプリの右上にある歯車アイコン()をクリックして、設定ページを開きます。
  2. 設定ページの「Access Tokens」セクションに移動し、「Create PAT」をクリックします。
  3. PAT に名前を付けて「Create」をクリックします。
  4. パーソナルアクセストークンは作成時にのみ表示されますので、必ずコピーして安全な場所に保管してください。

これで接続の設定と PAT の生成が完了しました。n8n から Snowflake に接続する準備が整いました。

ステップ 2:n8n を CData Connect AI に接続する

以下の手順に従って、n8n で CData Connect AI に接続していきましょう:

  1. n8n.io にサインインするか、新しいアカウントを作成します。
  2. MCP Client ツールを使用するワークフローをn8n で作成します。以下の例では、チャットボットとして機能するワークフローを作成しています。チャットモデルには OpenAI を使用し、Memory には Simple Memory を使用しました。
  3. ワークフロー内の MCP Client ノードを設定します:
    • Endpointhttps://mcp.cloud.cdata.com/mcp に設定します(Connect AI の「Connect Data to AI」リボンに記載されています)。
    • Server TransportHTTP Streamable に設定します。
    • AuthenticationHeader Auth に設定し、以下のプロパティを設定して Basic 認証を使用します。
      • NameAuthorization に設定します。
      • ValueBasic EMAIL:PAT に設定し、EMAILPAT をConnect AI のメールアドレスと先ほど作成した PAT に置き換えます。例:Basic [email protected]:Uu90pt5vEO...

オプション:AI エージェントにコンテキストを提供する

このステップでは、AI Agent ノードの System Message パラメータを通じて、AI エージェントの役割を確立し、会話のコンテキストを提供します。エージェントに MCP Server エキスパートとしての役割と利用可能なツールのリストを明示的に伝えるシステムメッセージを提供することで、エージェントの理解と応答の精度を高めることができます。例えば、System Message を以下のように設定できます。

あなたは、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:n8n でSnowflake のデータをリアルタイムで探索

n8n でワークフローを作成してMCP Client を接続できたので、n8n を使用して Snowflake と連携できるようになりました。MCP Client ノードを使用すると、Snowflake データソースにクエリを送信し、リアルタイムでレスポンスを受信できます。

n8n でワークフローを開いて実行し、Snowflake とのやり取りを開始してください。MCP Client ノードを使用して、Snowflake に質問したり、データを取得したり、アクションを実行したりできます。

CData Connect AI でビジネスシステムのデータ活用を今すぐスタート

いかがでしたか?Mistral AI から Snowflake へのデータ接続が簡単に完了したのではないでしょうか。業務に使えそう、と感じてくださった方は、14 日間の無償トライアルで AI ツールからビジネスシステムへのリアルタイムデータ接続をぜひお試しください。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル お問い合わせ