Grok を使って CData Connect AI 経由で SingleStore のデータと対話する
Grok AI は、xAI が開発した大規模言語モデルです。 リアルタイムの推論やツール呼び出し、エージェントワークフローに対応しており、 ライブデータをもとに推論し、ツールを動的に検出してインテリジェントなアクションを実行する AI エージェントを構築できます。
CData Connect AI は、350 以上のエンタープライズデータソースを Grok AI と連携させるための、セキュアなクラウド間インターフェースを提供します。 Connect AI を使用すると、リアルタイムの SingleStore のデータ をレプリケーションなしでリモート MCP エンドポイント経由で公開できるため、Grok AI エージェントがガバナンスされたエンタープライズデータに対してリアルタイムでセキュアにクエリや分析を実行できます。
Step 1: CData Connect AI で SingleStore を設定
Grok からリアルタイムの SingleStore のデータ にクエリを実行するには、まず CData Connect AI で SingleStore 接続を作成します。 この接続は CData Remote MCP Server 経由で公開されます。
-
Connect AI にログインし、Sources をクリックしてから Add Connection をクリックします。
-
Add Connection パネルから「SingleStore」を選択します。
-
必要な認証プロパティを入力します。
データに接続するには、次の接続プロパティが必要です。
- Server:SingleStore データベースをホスティングしているサーバーのホスト名またはIP アドレス。
- Port:SingleStore データベースをホスティングしているサーバーのポート。
また、オプションで以下を設定することもできます。
- SingleStore:SingleStore Server に接続する場合のデフォルトデータベース。設定されていない場合、すべてのデータベースのテーブルが返されます。
標準認証
標準認証で認証するには、次を設定します。
- User:SingleStore サーバーに認証する際に使われるユーザー。
- Password:SingleStore サーバーに認証する際に使われるパスワード。
統合セキュリティを使用した接続
標準のユーザー名とパスワードを提供する代わりに、Windows 認証を介して信頼されたされたユーザーをサーバーに認証できます。
SSL 認証
SSL 認証を活用してセキュアなセッションを介してSingleStore データに接続できます。次の接続プロパティを設定し、データに接続します。
- SSLClientCert:クライアント証明書のための証明書ストア名に設定。クライアントとサーバーの両方のマシンでトラストストアとキーストアが保持される2-way SSL の場合に使用されます。
- SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
- SSLClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
- SSLClientCertType:クライアントストアの証明書タイプ。
- SSLServerCert:サーバーが受け入れ可能な証明書。
SSH 認証
SSH を使用して、セキュアにリモートマシンにログインできます。SingleStore データにSSH 経由でアクセスするには、次の接続プロパティを設定します。
- SSHClientCert:クライアント証明書のための証明書ストア名に設定。
- SSHClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
- SSHClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
- SSHClientCertType:クライアントストアの証明書タイプ。
- SSHPassword:SSH サーバーに認証するためのパスワード。
- SSHPort:SSH 操作に使用するポート。
- SSHServer:認証しようとしているSSH 認証サーバー。
- SSHServerFingerPrint:接続先のホストの検証に使用するSSH サーバーのフィンガープリント。
- SSHUser:SSH サーバーに認証するためのユーザー名。
Create & Test をクリックします。
-
Permissions タブを開き、ユーザーアクセスを設定します。
Personal Access Token の追加
Personal Access Token(PAT)は、Agno から CData Connect AI への MCP リクエストを認証するために使用されます。
- Settings を開き、Access Tokens に移動します。
- Create PAT をクリックします。
-
生成されたトークンを安全に保存します。
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 キーの生成
- xAI アカウントを作成するか、ログインします。
- xAI API コンソールを開きます。
- API Keys に移動します。
- 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 以上の外部システムへのリアルタイムかつセキュアなアクセスを提供できるか、ぜひ無料トライアルでお試しください。