追加の実行時操作の検出
アプリケーションツール以外の実行時操作が必要な場合は Variable Exposer ツールを使用します。実行中のセッションに登録されたフィールド、関数、インスタンスのバインディングを検出します。
安定した検出用ツール
Section titled “安定した検出用ツール”| ツール | 引数と用途 |
|---|---|
variable_exposer_list_fields |
任意の path フィルターで、フィールドとメタデータを一覧表示します。 |
variable_exposer_get_field |
identifier と、インスタンスの場合は targetId を指定し、値と選択肢を読み取ります。 |
variable_exposer_set_field |
identifier、value、必要に応じてインスタンスの targetId を指定し、変更可能なフィールドに書き込みます。 |
variable_exposer_list_functions |
呼び出せる関数と記述情報を一覧表示します。 |
variable_exposer_get_function |
identifier と、必要に応じてインスタンスの targetId を指定し、関数のメタデータを確認します。 |
variable_exposer_list_instances |
identifier を指定し、そのパスの対象 ID とラベルを検出します。 |
variable_exposer_invoke_function |
identifier、任意のインスタンス targetId、検出されたペイロード型に合う arguments を指定します。 |
variable_exposer_get_job |
jobId を指定し、バックグラウンド呼び出しの状態と結果を読み取ります。 |
値を変更する前の検出
Section titled “値を変更する前の検出”- フィールドと関数を一覧表示します。関連する操作が異なるカテゴリにある場合もあります。
- フィールドの選択肢や関数の記述情報で、必要な識別子とペイロードを確認します。
- インスタンスに紐づくパスでは
variable_exposer_list_instancesを呼び出し、返されたinstanceIdをtargetIdとして使用します。 - 現在の値を読み取り、意図した変更を依頼します。
- 変更後の値やアプリケーション状態を読み取り、結果を確認します。
識別子やインスタンス ID を推測しないでください。モデルの読み込みや削除で操作やステートのインスタンスが変わるため、検出をやり直します。書き込み可能なフィールドに、独立した名前付き関数があるとは限りません。
アプリケーションツールの文字列引数とは異なり、value と関数の arguments には JSON のスカラー、配列、オブジェクトを使用できます。検出されたスキーマに合わせ、同じパスに複数のインスタンスがある場合は targetId を指定します。
長時間の関数を追跡
Section titled “長時間の関数を追跡”variable_exposer_invoke_function で background: true を指定すると、すぐに jobId を受け取れます。ID を保持し、状態が succeeded または failed になるまで variable_exposer_get_job を呼び出します。ジョブの実行中に関数を再度呼び出さないでください。
実行状態と返された結果の両方を確認します。完了した関数が false を返す場合や、要求を受け付けた後もアプリケーションで処理が続く場合があります。通信の成功だけで判断せず、読み戻しで意図した変更を確認してください。
ジョブ ID はリスナーの再起動で失効し、完了済みジョブは容量に上限のあるキャッシュから削除される場合があります。MCP を停止しても開始済みの処理は取り消されません。ID が失効した場合は、再試行する前に実際のアプリケーション状態を確認します。
