OpenCode から MCP 経由で Elasticsearch のデータをクエリする方法(CData Connect AI)
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 のコネクションを作成・設定していきましょう。
- Connect AI にログインし、Sources をクリック、次に Add Connection をクリック
- Add Connection パネルから Elasticsearch を選択
-
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 では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。
- 「Save & Test」をクリック
- Permissions タブに移動し、ユーザーベースの権限を更新
Personal Access Token の追加
Personal Access Token(PAT)は、OpenCode から Connect AI への接続を認証するために使用します。アクセス制御の粒度を維持するために、連携ごとに個別の PAT を作成することをおすすめします。
- Connect AI アプリ右上の歯車アイコン()をクリックして Settings を開く
- Settings ページで Access Tokens セクションに移動し、 Create PAT をクリック
- PAT にわかりやすい名前を付けて Create をクリック
- 表示されたトークンをコピーして安全に保管してください。一度しか表示されません
Elasticsearch のコネクションと PAT の設定が完了しました。これで OpenCode は Connect AI 経由でElasticsearch のデータに接続する準備が整いました。
ステップ 2:OpenCode のインストールと Connect AI MCP Server の設定
次に OpenCode をインストールし、プロジェクト設定ファイルに Connect AI Remote MCP Server を追加して、LLM プロバイダーを設定します。これにより、エージェントが Connect AI 経由でリアルタイムデータのツールを検出・呼び出せるようになります。
- 公式のインストールガイドに従って OpenCode をダウンロード・インストールします
- プロジェクト用の新しいフォルダを作成するか、既存のプロジェクトディレクトリを開きます
-
そのディレクトリのルートに 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== のような値になります
-
OpenCode でプロジェクトディレクトリを開きます。プロジェクトドロップダウンから選択するか、Add project をクリックして opencode.json を含むフォルダを指定します
-
エージェントがプロンプトを解釈し MCP ツールを呼び出せるように、LLM プロバイダーを設定します。モデルセレクター(Ctrl + ')を開き、OpenAI、Anthropic、Google などのプロバイダーを選択して API キーを入力します
opencode.json への MCP サーバーの追加と LLM プロバイダーの設定が完了したので、OpenCode は Connect AI 経由でリアルタイムElasticsearch のデータをクエリできる状態になりました。
ステップ 3:OpenCode からリアルタイム Elasticsearch のデータ をクエリ
連携設定が完了したら、OpenCode から、設定した LLM が処理する自然言語プロンプトでリアルタイムElasticsearch のデータを操作してみましょう。
-
新しいセッションで、チャット入力欄にプロンプトを入力します。例:
- cdata-connect-ai のツールを使ってすべてのカタログを一覧表示して
- Elasticsearch で利用可能なスキーマとテーブルを表示して
- Elasticsearch のテーブルから上位 5 件のレコードをクエリして
-
OpenCode が Connect AI MCP Server を呼び出し、Elasticsearch のデータのリアルタイム結果を返します
これで OpenCode が Connect AI MCP Server と通信し、AI コーディングエージェントから直接 Remote MCP ツールを通じてリアルタイムElasticsearch のデータを取得できるようになりました。
CData Connect AI でビジネスシステムのデータ活用を今すぐスタート
いかがでしたか?OpenCode から Elasticsearch へのデータ連携が思ったより手軽にできたのではないでしょうか。業務に使えそう、と感じてくださった方は、CData Connect AI をぜひお試しください。 14 日間の無償トライアルで、クラウドアプリケーションから数百種類の SaaS、ビッグデータ、NoSQL ソースへのリアルタイムアクセスを体験いただけます。ご不明点がございましたら、サポートチームまでお気軽にお問い合わせください。