Grok を使って CData Connect AI 経由で Snowflake のデータと対話する

Anusha M B
Anusha M B
Technical Marketing Engineer
CData Connect AI Remote MCP Server を活用して、Grok AI が Snowflake のデータ に対して安全に質問やアクションを実行できるようにします。

Grok AI は、xAI が開発した大規模言語モデルです。 リアルタイムの推論やツール呼び出し、エージェントワークフローに対応しており、 ライブデータをもとに推論し、ツールを動的に検出してインテリジェントなアクションを実行する AI エージェントを構築できます。

CData Connect AI は、350 以上のエンタープライズデータソースを Grok AI と連携させるための、セキュアなクラウド間インターフェースを提供します。 Connect AI を使用すると、リアルタイムの Snowflake のデータ をレプリケーションなしでリモート MCP エンドポイント経由で公開できるため、Grok AI エージェントがガバナンスされたエンタープライズデータに対してリアルタイムでセキュアにクエリや分析を実行できます。

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


はじめに


Step 1: CData Connect AI で Snowflake を設定

Grok からリアルタイムの Snowflake のデータ にクエリを実行するには、まず CData Connect AISnowflake 接続を作成します。 この接続は CData Remote MCP Server 経由で公開されます。

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

    それでは、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:指定されたプライベートキーのパスワード

    多要素認証(MFA)

    Snowflake アカウントでMFA(Duo Security 経由)が有効になっている場合は、MFACode に Duo 認証アプリで生成されたパスコードを設定してください。

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

    Create & Test をクリックします。
  4. Permissions タブを開き、ユーザーアクセスを設定します。

Personal Access Token の追加

Personal Access Token(PAT)は、Agno から CData Connect AI への MCP リクエストを認証するために使用されます。

  1. Settings を開き、Access Tokens に移動します。
  2. Create PAT をクリックします。
  3. 生成されたトークンを安全に保存します。

Step 2: 必要な依存関係のインストール

Remote MCP Tools を使うと、Grok を外部の MCP(Model Context Protocol)サーバーに接続して、サードパーティや独自実装のカスタムツールで機能を拡張できます。サーバー URL とオプション設定を指定するだけで、xAI が MCP サーバーへの接続とやり取りを代行してくれます。

ターミナルを開き、pip を使って MCP 連携に必要な依存関係をインストールします。

	pip install xai-sdk==1.4.0

xai-sdk(v1.4.0)は Remote MCP Tools を有効にします。また、python-dotenv は環境変数を安全に読み込むために使用します。

	pip install python-dotenv

Step 3: xAI API キーの生成

  1. xAI アカウントを作成するか、ログインします。
  2. xAI API コンソールを開きます。
  3. API Keys に移動します。
  4. create API key をクリックします。

API キーを生成したら、安全な場所に保存してください。ターミナルで環境変数としてエクスポートするか、 .env ファイルに保存する方法がおすすめです。

Step 4: CData Connect AI に接続

Grok クライアントを初期化し、CData Connect AI への MCP 接続を設定します。以下のコードでは、セキュアな接続を確立し、データソースに対して自然言語クエリを送信します。

import os

from xai_sdk import Client
from xai_sdk.chat import user
from xai_sdk.tools import mcp

client = Client(api_key="Your_xAI-API_KEY")
chat = client.chat.create(
	model="grok-4-1-fast-non-reasoning",
	tools=[
		mcp(
			server_url="https://mcp.cloud.cdata.com/mcp",
			extra_headers={"Authorization": "Basic Username:PAT"} #Base64 Encoded Username:PAT
		)
		],
	include=["verbose_streaming"],
)

chat.append(user("List the top two catalogs for me please"))

is_thinking = True
for response, chunk in chat.stream():
	# View the server-side tool calls as they are being made in real-time
	for tool_call in chunk.tool_calls:
		print(f"
Calling tool: {tool_call.function.name} with arguments: {tool_call.function.arguments}")
	if response.usage.reasoning_tokens and is_thinking:
		print(f"
Thinking... ({response.usage.reasoning_tokens} tokens)", end="", flush=True)
	if chunk.content and is_thinking:
		print("

Final Response:")
		is_thinking = False
	if chunk.content and not is_thinking:
		print(chunk.content, end="", flush=True)

print("

Usage:")
print(response.usage)
print(response.server_side_tool_usage)
print("

Server Side Tool Calls:")
print(response.tool_calls)

このコードでは、Grok AI クライアントを初期化し、Basic 認証を使って MCP 経由で CData Connect AI に接続して、レスポンスをリアルタイムでストリーミングします。エージェントは利用可能なツールを自動的に検出し、ライブデータにクエリを実行して、ツール呼び出しと最終結果の両方を表示します。

スクリプトを実行して、Grok が接続先のデータソースにクエリを実行する様子を確認してみましょう。

クエリ結果

以下の出力は、Grok が CData Connect AI を通じて MCP ツールを呼び出し、接続先のデータソースからリアルタイムのデータを返す様子を示しています。

これで、Grok AI を通じて自然言語でライブデータにクエリを実行できるようになりました。

Grok と CData Connect AI でエージェントワークフローを構築

Grok AI と CData Connect AI を組み合わせることで、パイプラインやカスタム連携なしに AI 駆動のデータアクセスを実現できます。CData がどのように Grok に 350 以上の外部システムへのリアルタイムかつセキュアなアクセスを提供できるか、ぜひ無料トライアルでお試しください。

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

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

無料トライアル