OpenCode から MCP 経由で Elasticsearch のデータをクエリする方法(CData Connect AI)

Yazhini G
Yazhini G
Technical Marketing Engineer
AI コーディングエージェント OpenCode から、CData Connect AI の Remote MCP Server を経由してElasticsearch のデータにセキュアにアクセス・クエリできるようにします。

OpenCode は、幅広い LLM プロバイダーに対応するオープンソースの AI コーディングエージェントです。Model Context Protocol(MCP)をサポートしており、設定ファイルでローカルまたはリモートの MCP サーバーを構成できます。これにより外部ツールやデータソースを追加し、エージェントがリアルタイムデータにアクセスできるようになります。

OpenCode を組み込みの MCP Server 経由で CData Connect AI と連携すると、OpenCode はガバナンスの効いたリアルタイムのElasticsearch のデータへのアクセスが可能になります。自然言語のプロンプトでElasticsearch のデータのカタログ一覧表示、スキーマ探索、レコードのクエリが行え、すべてのデータアクセスは認可されたソースに対してセキュアに実行されます。

この記事では、Connect AI での Elasticsearch 接続設定、必要な Personal Access Token の生成、OpenCode のインストール、プロジェクト設定ファイルへの Connect AI MCP Server の追加、LLM プロバイダーの設定、そして OpenCode からリアルタイムElasticsearch のデータをクエリして連携を確認する方法をご紹介します。

Elasticsearch とのデータ連携について

CData を使用すれば、Elasticsearch のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • SQL エンドポイントと REST エンドポイントの両方にアクセスでき、接続を最適化し、Elasticsearch データの読み書きに関してより多くのオプションを提供します。
  • v2.2 以降およびオープンソース Elasticsearch サブスクリプションを含む、ほぼすべての Elasticsearch インスタンスに接続できます。
  • SCORE() 関数を明示的に要求することなく、常にクエリ結果の関連性スコアを受け取ることができます。これにより、サードパーティツールからのアクセスが簡素化され、クエリ結果のテキスト関連性のランキングを簡単に確認できます。
  • 複数のインデックスを検索でき、クライアントマシンではなく Elasticsearch がクエリと結果の管理・処理を担当します。

ユーザーは、Crystal Reports、Power BI、Excel などの分析ツールと Elasticsearch データを統合し、当社のツールを活用して、Elasticsearch を含むすべてのデータソースへの単一のフェデレートアクセスレイヤーを実現しています。

CData の Elasticsearch ソリューションの詳細については、ナレッジベース記事をご覧ください:CData Elasticsearch Driver Features & Differentiators


ステップ 1:OpenCode 用に Elasticsearch への接続を設定

OpenCode から Elasticsearch への接続は、Connect AI の Remote MCP Server を通じて実現されます。OpenCode からElasticsearch のデータを操作するために、まず Connect AI で Elasticsearch のコネクションを作成・設定していきましょう。

  1. Connect AI にログインし、Sources をクリック、次に Add Connection をクリック
  2. Connect AI での接続の追加
  3. Add Connection パネルから Elasticsearch を選択
  4. データソースの選択
  5. Elasticsearch に接続するために必要な認証プロパティを入力します。

    Elasticsearch 接続プロパティの取得・設定方法

    接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。

    CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。

    接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

    接続の設定(Salesforce の例)
  6. 「Save & Test」をクリック
  7. Permissions タブに移動し、ユーザーベースの権限を更新
  8. 権限の更新

Personal Access Token の追加

Personal Access Token(PAT)は、OpenCode から Connect AI への接続を認証するために使用します。アクセス制御の粒度を維持するために、連携ごとに個別の PAT を作成することをおすすめします。

  1. Connect AI アプリ右上の歯車アイコン()をクリックして Settings を開く
  2. Settings ページで Access Tokens セクションに移動し、 Create PAT をクリック
  3. PAT にわかりやすい名前を付けて Create をクリック
  4. 新しい PAT の作成
  5. 表示されたトークンをコピーして安全に保管してください。一度しか表示されません

Elasticsearch のコネクションと PAT の設定が完了しました。これで OpenCode は Connect AI 経由でElasticsearch のデータに接続する準備が整いました。

ステップ 2:OpenCode のインストールと Connect AI MCP Server の設定

次に OpenCode をインストールし、プロジェクト設定ファイルに Connect AI Remote MCP Server を追加して、LLM プロバイダーを設定します。これにより、エージェントが Connect AI 経由でリアルタイムデータのツールを検出・呼び出せるようになります。

  1. 公式のインストールガイドに従って OpenCode をダウンロード・インストールします
  2. プロジェクト用の新しいフォルダを作成するか、既存のプロジェクトディレクトリを開きます
  3. そのディレクトリのルートに opencode.json という名前のファイルを作成し、以下の設定を貼り付けます:
    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "cdata-connect-ai": {
          "type": "remote",
          "url": "https://mcp.cloud.cdata.com/mcp",
          "enabled": true,
          "oauth": false,
          "headers": {
            "Authorization": "Basic your_base64_encoded_email_PAT"
          },
          "timeout": 30000
        }
      }
    }
    		

    注意:OpenCode は Connect AI との通信に Basic 認証を使用します。Connect AI のユーザーメールアドレスと先ほど作成した PAT を email:PAT の形式で組み合わせ、その文字列を Base64 エンコードして先頭に Basic を付けてください。例えば [email protected]:ABC123...XYZ789 の場合、Authorization ヘッダーの値は Basic dXNlckBkb21haW4uY29tOkFCQzEyMy4uLlhZWjc4OQ== のような値になります

  4. OpenCode でプロジェクトディレクトリを開きます。プロジェクトドロップダウンから選択するか、Add project をクリックして opencode.json を含むフォルダを指定します OpenCode でプロジェクトディレクトリを開く
  5. エージェントがプロンプトを解釈し MCP ツールを呼び出せるように、LLM プロバイダーを設定します。モデルセレクター(Ctrl + ')を開き、OpenAI、Anthropic、Google などのプロバイダーを選択して API キーを入力します OpenCode での LLM プロバイダーとモデルの選択

opencode.json への MCP サーバーの追加と LLM プロバイダーの設定が完了したので、OpenCode は Connect AI 経由でリアルタイムElasticsearch のデータをクエリできる状態になりました。

ステップ 3:OpenCode からリアルタイム Elasticsearch のデータ をクエリ

連携設定が完了したら、OpenCode から、設定した LLM が処理する自然言語プロンプトでリアルタイムElasticsearch のデータを操作してみましょう。

  1. 新しいセッションで、チャット入力欄にプロンプトを入力します。例:
    • cdata-connect-ai のツールを使ってすべてのカタログを一覧表示して
    • Elasticsearch で利用可能なスキーマとテーブルを表示して
    • Elasticsearch のテーブルから上位 5 件のレコードをクエリして
  2. OpenCode が Connect AI MCP Server を呼び出し、Elasticsearch のデータのリアルタイム結果を返します OpenCode からのリアルタイムデータのクエリ

これで OpenCode が Connect AI MCP Server と通信し、AI コーディングエージェントから直接 Remote MCP ツールを通じてリアルタイムElasticsearch のデータを取得できるようになりました。

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

いかがでしたか?OpenCode から Elasticsearch へのデータ連携が思ったより手軽にできたのではないでしょうか。業務に使えそう、と感じてくださった方は、CData Connect AI をぜひお試しください。 14 日間の無償トライアルで、クラウドアプリケーションから数百種類の SaaS、ビッグデータ、NoSQL ソースへのリアルタイムアクセスを体験いただけます。ご不明点がございましたら、サポートチームまでお気軽にお問い合わせください。

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

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

無料トライアル