GrokからConnect AI経由でHubDB と対話する方法
Grok AI は、xAI が開発した大規模言語モデルです。 リアルタイムの推論やツール呼び出し、エージェントワークフローに対応しており、 ライブデータをもとに推論し、ツールを動的に検出してインテリジェントなアクションを実行する AI エージェントを構築できます。
CData Connect AI は、数百種類のエンタープライズデータソースを Grok AI と連携させるための、セキュアなクラウド間インターフェースを提供します。 Connect AI を使用すると、リアルタイムの HubDB のデータ をレプリケーションなしでリモート MCP エンドポイント経由で公開できるため、Grok AI エージェントがガバナンスされたエンタープライズデータに対してリアルタイムでセキュアにクエリや分析を実行できます。
Step 1: CData Connect AI で HubDB を設定
Grok からリアルタイムの HubDB のデータ にクエリを実行するには、まず CData Connect AI で HubDB 接続を作成します。 この接続は CData Remote MCP Server 経由で公開されます。
-
Connect AI にログインし、Sources をクリックしてから Add Connection をクリックします。
-
Add Connection パネルから「HubDB」を選択します。
-
必要な認証プロパティを入力します。
HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。
カスタムOAuthアプリを使用する
すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。
アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。
- HubSpotアプリ開発者アカウントにログインします。
- アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
- 開発者アカウントのホームページで、アプリタブをクリックします。
- アプリを作成をクリックします。
- アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
- 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
- デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
- Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
- アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
- 認証タブで、クライアントIDとクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。
テーブルにアクセスするには、最低限以下のスコープが必要です:
- hubdb
- oauth
- crm.objects.owners.read
- 変更を保存をクリックします。
- 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
- 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
- コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
- アプリを接続をクリックします。結果のタブは閉じて構いません。
プライベートアプリを使用する
HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。
以下の手順に従ってプライベートアプリケーショントークンを生成できます:
- HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
- 左サイドバーメニューで、統合 > プライベートアプリに移動します。
- プライベートアプリを作成をクリックします。
- 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
- スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
- テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
- アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
- アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
- コピーをクリックして、プライベートアプリケーショントークンをコピーします。
接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。
Create & Test をクリックします。
- HubSpotアプリ開発者アカウントにログインします。
-
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 に 数百種類の外部システムへのリアルタイムかつセキュアなアクセスを提供できるか、ぜひ無料トライアルでお試しください。