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

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

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

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

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

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


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

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

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

    それでは、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への認証」セクションをご確認ください。

    接続の設定(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. 表示されたトークンをコピーして安全に保管してください。一度しか表示されません

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

ステップ 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 経由でリアルタイムSnowflake のデータをクエリできる状態になりました。

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

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

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

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

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

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

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

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

無料トライアル