Cline を使用して Visual Studio Code からリアルタイム PingOne のデータにアクセスする方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData MCP Server for PingOne を Windows Subsystem for Linux (WSL) で実行し、Visual Studio Code の Cline 拡張機能からリアルタイム PingOne のデータ に接続します。

Cline は IDE 上で動作する自律型コーディングエージェントです。ユーザーの許可を得ながら、ファイルの作成や編集、コマンドの実行、ブラウザの操作などを実行できます。CData MCP Server for PingOne と組み合わせることで、IDE から直接 CRM データにリアルタイムでアクセスでき、開発環境を離れることなくリアルタイムのスキーマとレコードを使用してデータ駆動型機能の構築、テスト、検証が行えます。

この記事では、CData MCP Server for PingOne を WSL(Windows Subsystem for Linux)で実行し、Windows 上の Visual Studio Code の Cline 拡張機能から接続する方法について説明します。

背景

CData MCP Server は通常、Claude Desktop などのクライアント向けに設計されています。しかし、Windows の VS Code で Cline 拡張機能を使用してサーバーに接続しようとすると、以下のエラーが発生しました:

MCP error -32000: Connection closed

この問題は、Cline 拡張機能の Windows 版における stdio トランスポート実装の I/O 処理に起因していると考えられます

  • 関連する GitHub Issue: https://github.com/cline/cline/issues/3464
  • また、Java や Node などのプロセスを起動する際に、PATH などの環境変数が正しく継承されない場合があります。

前提条件

  • Windows に Visual Studio Code がインストールされていること
  • VS Code に Cline 拡張機能がインストールおよび設定されていること
  • Windows Subsystem for Linux (WSL) がインストールされ、Linux ディストリビューション(Ubuntu など)が動作していること
  • WSL に Java 21 以上の JRE がインストールされていること
  • Windows に CData MCP Server for PingOne がインストールされていること

ステップ 1: PingOne で認証(Windows 上)

WSL で MCP Server を実行する前に、Windows 環境で認証フローを完了する必要があります。これにより、必要な資格情報がすべて生成され、適切に保存されます。「CData MCP Server for PingOne」を見つけて実行するか、MCP Server JAR ファイルを実行して設定ウィザードを開きます。

java -jar "C:\Program Files\CData\CData MCP Server for PingOne 2024\lib\cdata.mcp.pingone.jar"

PingOne への接続

PingOne に接続するには以下のプロパティを設定します。

  • Region:自身のPingOne 組織のデータがホスティングされている地域。
  • AuthScheme:PingOne に接続する際に使用する認証の種類。
  • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

WorkerAppEnvironmentId の設定

WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

はじめに、このプロパティの値を見つけます。

  1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
  2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
  3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
  4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
  5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
    WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

AuthorizationServerURL の設定

AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

OAuth でのPingOne への認証

PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

  • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
  • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
  • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

OAuth(認可コードグラント)

AuthSchemeOAuth に設定します。

デスクトップアプリケーション

OAuth アクセストークンの取得およびリフレッシュ

以下を設定して、接続してください。

  • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
  • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
  • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
  • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

接続すると、CData 製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

  1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
  2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

CData MCP Server の設定

MCP Server に名前を付け(例: cdatapingone)、必要な接続プロパティを入力して「Connect」をクリックします。

接続に成功すると、以下のディレクトリとファイルが作成されます:

C:\Users\<username>\AppData\Roaming\CData\pingone Provider\
 |-- cdatapingone.mcp
 |-- (その他のサポート設定ファイル)

ステップ 2: MCP Server 設定を WSL にコピー

次に、設定フォルダ全体を Windows から WSL 環境にコピーします。

mkdir -p ~/.config/CData/
cp -r /mnt/c/Users/<username>/AppData/Roaming/CData/"pingone Provider" ~/.config/CData/

コピー先のパスが正確に ~/.config/CData/pingone Provider/ と一致していることを確認してください。

ステップ 3: WSL に MCP Server をインストール

Java をインストールし、MCP Server JAR を WSL 内の目的の場所に配置します:

sudo apt update
sudo apt install openjdk-21-jre-headless
sudo mkdir -p /opt/cdata/mcp_pingone/lib
sudo cp /mnt/c/Program\ Files/CData/CData\ MCP\ Server\ for\ PingOne\ 2024/lib/cdata.mcp.pingone.jar /opt/cdata/mcp_pingone/lib/

ステップ 4: Cline の設定

次に、wsl コマンドを使用して WSL 内で MCP Server を起動するように Cline 拡張機能を設定します。

以下の内容で cline_mcp_settings.json を作成または更新します:

{
  "mcpServers": {
    "cdatapingone": {
      "autoApprove": ["*"],
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "wsl",
      "args": [
        "-d",
        "Ubuntu", // インストールされている WSL ディストリビューション名に置き換えてください
        "--",
        "/usr/bin/java",
        "-jar",
        "/opt/cdata/mcp_pingone/lib/cdata.mcp.pingone.jar",
        "cdatapingone"
      ],
      "env": {
        "JAVA_TOOL_OPTIONS": "-Xmx2g"
      }
    }
  }
}

注意: Ubuntu を実際の WSL ディストリビューション名(例: Ubuntu-22.04)に置き換えてください。PowerShell または CMD で wsl -l を実行して確認できます。

ステップ 5: Cline でリアルタイムデータを操作

Visual Studio Code 内から、Cline 拡張機能を通じて MCP コマンドを実行できるようになりました。

cdatapingone_get_tables
cdatapingone_get_columns [CData].[Administrators].Users

正しく設定されていれば、これらのコマンドは利用可能な PingOne オブジェクトとメタデータのリストを返し、CRM スキーマをリアルタイムで操作できます。

以下のような自然言語プロンプトを試してみてください:

  • 「新しい PingOne Lead を作成する React フォームを生成してください。」
  • 「今四半期にクローズした Opportunities を取得する Python 関数を作成してください。」

AI とデータを今すぐ接続しましょう!

CData MCP Server を使用すると、LLM からリアルタイムのエンタープライズデータをこれまで以上に簡単に操作できます。この技術を実際に体験するには、30 日間の無料トライアルをダウンロードするか、CData コミュニティにアクセスして、洞察を共有したり、質問したり、エンタープライズ対応 AI の未来を一緒に形作りましょう。

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

PingOne MCP Server の無料トライアルをダウンロード:

 ダウンロード

詳細:

PingOne Icon PingOne MCP Server お問い合わせ

The CData MCP Server for PingOne allows you to connect with live PingOne data, directly from LLMs that support MCP.