Cline を使用して Visual Studio Code からリアルタイム 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 アプリケーションを作成した後に設定します。
はじめに、このプロパティの値を見つけます。
- 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
- OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
- 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
- リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
-
Environment ID フィールドの値をコピーします。
以下の例に似たものになるはずです:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
次に、WorkerAppEnvironmentId をEnvironment ID フィールドの値に設定します。
AuthorizationServerURL の設定
AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。
OAuth でのPingOne への認証
PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。
- ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
- ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
- 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。
OAuth(認可コードグラント)
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
- OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
- OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333
接続すると、CData 製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- 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 の未来を一緒に形作りましょう。