AI Assistant 2026.2 Help

モデルコンテキストプロトコル (MCP)

AI アシスタント は、 モデルコンテキストプロトコル (MCP) を介して外部ツールやデータソースと連携できます。 MCP サーバーに接続することで、AI アシスタント は様々なツールにアクセスでき、その機能を大幅に拡張できます。

サポートされているトランスポートメカニズム

AI アシスタント は MCP サーバーに接続するための次の トランスポートメカニズム をサポートしています:

  • 標準入出力 (STDIO) – AI アシスタント は MCP サーバーをサブプロセスとして起動し、標準入出力を介してデータを交換します。 このトランスポートは通常、ローカル MCP サーバーで使用されます。

  • ストリーミング可能な HTTP – AI アシスタント はモデルコンテキストプロトコル仕様で定義されているストリーミング可能な HTTP トランスポートを使用して、HTTP 経由で MCP サーバーに接続します。 このトランスポートは、単一の HTTP エンドポイントを介してローカルまたはリモート MCP サーバーとの通信を可能にし、リクエスト / レスポンスとストリーミングの両方のインタラクションをサポートします。

MCP サーバーの入手方法

利用ケースやセットアップによって、MCP 互換のサーバーは多数利用可能です。 最初の一歩として、 公式 MCP リポジトリで提供されているリファレンスサーバーを調べることができます。リポジトリにはサンプルや使用方法、構成の詳細が含まれています。

MCP サーバーへ接続するために必要なもの

AI アシスタント を MCP サーバーに接続するには、サーバーを起動するためのコマンドと引数を定義する JSON 設定が必要です。 具体的な設定は MCP サーバーによって異なります。 ほとんどの場合、サーバーの開発者が推奨設定を提供し、それを入手して使用できます。

MCP サーバーに接続する

MCP サーバーに接続するには:

  1. 設定 | ツール | AI アシスタント | モデルコンテキストプロトコル (MCP) に移動します。

    または、チャットに「/ 」と入力して「コマンドの追加 」オプションを選択すると、MCP 設定画面を開くことができます。

    コマンドの追加
  2. モデルコンテキストプロトコル (MCP) 設定ページで、 追加​​● をクリックして、新しい MCP サーバー構成を追加します。

  3. 新しい MCP サーバー ダイアログで、MCP サーバーへの接続方法を選択し、JSON 構成を指定します。

    STDIO 経由でサーバーに接続する
    • JSON 構成 – MCP サーバーの起動に必要なパラメーターを含む JSON スニペットを指定します。 設定は以下の形式に従う必要があります。

      { "mcpServers": { "yourServerName": { "command": "path-or-command-to-start-server", "args": [ "optional-arguments-passed-to-server" ] } } }
    • 作業ディレクトリ – サーバーを起動するフォルダーへのパスを指定します。 これにより、引数で絶対パスではなく相対パスを使用できるようになります。

    • サーバーレベル – 構成されたサーバーをグローバルに使用可能にするか、現在のプロジェクト内でのみ使用可能にするかを指定します。

    HTTP 経由でサーバーに接続する
    • JSON 構成 – MCP サーバーの起動に必要なパラメーターを含む JSON スニペットを指定します。 設定は以下の形式に従う必要があります。

      { "mcpServers": { "yourServerName": { "url": "https://example.com/mcp" } } }
    • サーバーレベル – 構成されたサーバーをグローバルに使用可能にするか、現在のプロジェクト内でのみ使用可能にするかを指定します。

  4. OK(確認) をクリックします。 MCP サーバーがリストに表示されます。

  5. 適用 をクリックします。 これにより、設定されたサーバーが起動し、接続が確立されます。 接続の状態は 状況 列で確認できます。

これにより、MCP サーバーが提供するツールが AI アシスタント で利用できるようになります。 リクエストを処理する際に自動的に起動することも、チャットで適切な / コマンドを入力して手動で起動することもできます。

MCP サーバーで利用可能なコマンドのリスト

利用可能なツールを確認する

MCP サーバーへの接続に成功すると、 状況 列のアイコンをクリックすることで利用可能なツールのリストを確認できます。

利用可能なツールのリスト

サーバーレベルを変更する

MCP サーバーを使用できるレベルを変更する場合は、 レベル 列の ボタンをクリックし、セットアップをグローバルに使用できるようにするか、現在のプロジェクトでのみ使用できるようにするかを選択します。

MCP サーバーのレベルを変更する

MCP サーバーを停止する

MCP サーバーを停止するには:

  1. 停止する MCP サーバーのチェックボックスをオフにします。

    MCP サーバーを停止する
  2. 適用 をクリックします。

MCP サーバーに再接続する

MCP サーバーに再接続するには:

  1. 再接続するサーバーを選択します。

  2. 再接続 ボタンをクリックします。

MCP サーバーログを取得する

デバッグのために、生成された MCP サーバーのログを確認することをお勧めします。 そのためには以下の手順に従います。

  1. メインメニューで ヘルプ に移動し、Windows の場合は エクスプローラーでログを表示 、macOS の場合は Finder でログを表示 を選択します。 ログディレクトリが開きます。

  2. mcp フォルダーを見つけて開きます。 このフォルダーには、設定された各 MCP サーバーのログが含まれています。

JSON 設定例

このセクションでは、サーバーのホスティング方法に応じて、AI アシスタント を MCP サーバーに接続するための構成例を紹介します。 ローカルにインストールされたサーバー、NPX ベースのセットアップ、Docker ベースの環境、リモートサーバーをカバーします。

ローカルインストール

MCP サーバーがマシンにインストールされている場合は、サーバーの実行ファイルに必要な引数を指定して実行することで接続できます。 このような構成のテンプレートは以下のようになります。

{ "mcpServers": { "yourServerName": { "command": "command-to-run-server", "args": [ "path-to-server-executable-or-script", "optional-arguments-for-server" ] } } }
  • command は、MCP サーバーを起動する実行ファイルまたはスクリプトです。 これは、 node 、実行ファイルへの直接パス、サーバーの起動に適した別のコマンドのいずれかになります。

  • args リストには、サーバースクリプトへのパスや構成オプションなど、起動時にサーバーに渡される引数が含まれています。

たとえば、 ファイルシステム MCP サーバー(英語)を使用する場合、構成は次のようになります。

{ "mcpServers": { "filesystem": { "command": "node", "args": [ "/Users/JohnDoe/IdeaProjects/servers/src/filesystem/dist/index.js", "/Users/JohnDoe/Desktop" ] } } }

ここで、 node コマンドはサーバースクリプトを実行します。 最初の引数はサーバースクリプトへのパスを指定し、2 番目の引数はサーバーにスクリプトの実行を許可するディレクトリを指定します。

NPX の使用

MCP サーバーがローカルにインストールされていない場合は、 npx を使用してダウンロードし、必要に応じて実行できます。 このような構成のテンプレートは以下のようになります。

{ "mcpServers": { "yourServerName": { "command": "npx", "args": [ "-y", "npm-package-name", "optional-arguments-for-server" ] } } }
  • commandnpx に設定されており、パッケージをグローバルにインストールせずに npm レジストリから実行します。

  • args リストには以下が含まれます:

    • -y – パッケージを初めて実行するときに表示されるプロンプトを自動的に確認します。

    • MCP サーバーを提供する npm パッケージの名前

    • ファイルパスや構成オプションなど、サーバーに渡される追加の引数。

たとえば、 ファイルシステム MCP サーバー(英語)を使用する場合、構成は次のようになります。

{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/JohnDoe/Desktop" ] } } }

ここで、 npx コマンドは @modelcontextprotocol/server-filesystem パッケージを実行します。 引数で指定されたパスは、サーバーにどのディレクトリで実行が許可されているかを伝えます。

Docker の使用

Docker を使用すると、MCP サーバーを隔離された環境で実行できます。 これにより、サーバーはコンテナー内で起動し、ローカルフォルダーをマウントしてサーバーからアクセスできるようになります。 このような構成のテンプレートは以下のようになります。

{ "mcpServers": { "yourServerName": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/local/path,dst=/container/path", "docker-image-name", "/container/path" ] } } }
  • commanddocker に設定され、指定された Docker イメージに基づいてコンテナー内で MCP サーバーを起動します。

  • args リストには以下が含まれます:

    • 実行 – 新しいコンテナーを開始する

    • -i – IDE がコンテナーと通信できるようにコンテナーをインタラクティブに保つため

    • --rm – 使用後にコンテナーを自動的に取り除く

    • 1 つ以上の --mount オプション - ローカルフォルダー(src )をコンテナーパス(dst )にバインドします。

    • MCP サーバーを提供する Docker イメージ名

    • コンテナー内で操作が許可されるディレクトリをサーバーに伝える最後の引数。

たとえば、 ファイルシステム MCP サーバー(英語)を使用する場合、構成は次のようになります。

{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/JohnDoe/Desktop,dst=/projects/Desktop", "--mount", "type=bind,src=/Users/JohnDoe/Documents,dst=/projects/Documents,ro", "mcp/filesystem", "/projects" ] } } }

ここで、 docker コマンドは mcp/filesystem イメージを実行します。 ローカルフォルダー /Users/JohnDoe/Desktop /Users/JohnDoe/Documents はコンテナーにマウントされ、 /projects 引数はコンテナー内の操作場所をサーバーに指示します。

リモートサーバー

MCP サーバーがリモートでホストされ、HTTP 経由でアクセス可能な場合は、設定で URL を指定することで接続できます。 このような構成のテンプレートは以下のようになります。

{ "mcpServers": { "yourServerName": { "url": "http://remote-server-address/mcp" } } }
  • url パラメーターは、MCP サーバーの HTTP エンドポイントを表します。 これは、サーバーのストリーミング可能な HTTP トランスポートを実装するベース URL を指す必要があります。

たとえば、リモート MCP サーバーに接続する場合、構成は次のようになります。

{ "mcpServers": { "microsoftdocs": { "url": "https://learn.microsoft.com/api/mcp" } } }

ここで、AI アシスタント は Streamable HTTP トランスポートを使用して HTTP 経由で MCP サーバーに接続します。 サーバーはリモートで管理されており、AI アシスタント は指定された URL を介してサーバーと直接通信します。

IDE を MCP サーバーとして使用する

バージョン 2025.2 以降、JetBrains IDE には MCP サーバー(英語)が統合され、Claude Desktop、Cursor、Codex、VS Code などの外部クライアントが IDE が提供するツールにアクセスできるようになりました。 これにより、ユーザーは選択したアプリケーションを移動することなく、JetBrains IDE を制御および操作できるようになります。

MCP サーバープラグインを有効化する

この機能は、JetBrains IDE にデフォルトでバンドルされ、有効化されている MCP Server プラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. インストール済み タブを開き、 MCP サーバープラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。

外部クライアントのセットアップ

Claude CodeClaude DesktopCursorVS CodeコーデックスWindsurf などの外部クライアントの場合、構成は自動的に実行できます。

  1. メインメニューで、 設定 | ツール | MCP サーバー に移動します。

  2. MCP サーバーを有効にする をクリックします。

  3. クライアントの自動構成 セクションで、MCP サーバーで使用するために設定したい各クライアントの 自動構成 をクリックします。 これにより、JSON 設定が自動的に更新されます。

    MCP サーバー設定
  4. 設定を有効にするにはクライアントを再起動してください。

他のクライアントから MCP サーバーに接続する場合は、手動で設定を行う必要があります。

  1. 手動クライアント構成 セクションで、接続タイプに応じて SSE 設定をコピー標準入出力設定をコピーする 、または HTTP ストリーム構成のコピー のいずれかをクリックします。

    MCP サーバーの手動設定
  2. コピーした構成をクライアントの設定または構成ファイルに貼り付けます。

  3. 設定を有効にするにはクライアントを再起動してください。

確認なしでアクションを実行する

MCP サーバーを使用すると、接続された外部クライアントは、毎回ユーザーに確認を求めることなく、ターミナルコマンドを実行したり、IDE で構成を実行したりできます。

このモードを有効にするには:

  1. メインメニューで、 設定 | ツール | MCP サーバー に移動します。

  2. コマンド実行 セクションで、 確認なしでシェルコマンドまたは実行構成を実行する (勇敢なモード) 設定を有効にします。

  3. 適用 をクリックします。

サポートされているツール

MCP サーバーは、外部クライアントが IDE やプロジェクトと連携できるツール群を公開しています。たとえば、コードの解析、ファイルの変更、実行構成の実行、ターミナルコマンドの実行などが可能です。

設定 | ツール | MCP サーバー | Exposed Tools で利用可能なツールのすべての一覧を表示・管理できます。 このページでは、ワークフローや好みに応じて特定のツールの有効化や無効化が可能です。

以下は、MCP サーバーによって提供されるツールのリストです。

解析ツールセット

プロジェクトをビルドする。

プロジェクトまたは指定したファイルのビルドをトリガーし、完了を待ってビルドエラーを返します。 このツールを使うことで、プロジェクトのビルドやファイルのコンパイルを行い、コンパイルエラーや警告の詳細情報を取得できます。

編集後に編集内容が有効かどうかを検証するため、このツールを使用する必要があります。

パラメーター:

  • rebuild :プロジェクトをフルリビルドするかどうか。 デフォルトは false です。 filesToRebuild が指定されていない場合のみ有効です。

  • filesToRebuild :指定されたパスのファイルのみをコンパイルします。 パスはプロジェクトルートからの相対パスです。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ファイルの問題を取得する

IntelliJ インスペクションを使用して、指定されたファイルのエラーと警告を分析します。 このツールを使用すると、特定のファイル内のコーディングの問題、構文エラー、その他の問題を特定できます。

重大度、説明、場所の情報を含む問題のリストを返します。

パラメーター:

  • filePath: プロジェクトルートからの相対パス。

  • errorsOnly: エラーのみを含めるか、エラーと警告の両方を含めるか。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

プロジェクトの依存関係を取得する

プロジェクトで定義されているすべての依存関係のリストを返します。 ライブラリ名に関する構造化された情報を提供します。

パラメーター:

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

プロジェクトのモジュールを取得する

プロジェクト内のすべてのモジュールとそのタイプをリスト形式で返します。 各モジュールの名前やタイプなど、構造化された情報を提供します。

パラメーター:

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

コードインサイトツール

シンボル情報を取得する

指定されたファイル内の指定された位置にあるシンボルに関する情報を取得します。 IntelliJ IDEA の クイックドキュメント 機能と同じ情報を提供します。 この情報には、プログラミング言語に応じて、シンボルの名前、シグネチャー、型、ドキュメント、その他の詳細が含まれる場合があります。

位置がシンボルを参照している場合、ツールはシンボルの宣言(存在する場合)を含むコードスニペットを返します。 このツールを使用して、シンボルの宣言、セマンティクス、位置を理解してください。

パラメーター:

  • filePath: プロジェクトルートからの相対パス。

  • line: 1 から始まる行番号。

  • column: 1 から始まる列番号。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

データベース固有のツール

利用可能: DataGrip および データベースツールおよび SQL プラグイン搭載 IDE

AI エージェントに対して厳密に読み取り専用アクセスを保証するには、適切な制限(読み取り専用)権限を持つデータベースユーザーを使用し、データソースがそのユーザーを使用するように構成します。

データベース オブジェクトの説明を取得する。

特定のスキーマ内のデータベースオブジェクト(カラム、型、キー、インデックスなど)の構造を、階層的なテキスト表現として取得します。

曖昧な場合は、該当するすべてのオブジェクトの定義を返します。

パラメーター:

  • connectionId: 固有の接続 ID。

  • databaseName: スキーマが属するデータベースの名前。 DBMS にデータベースがなく、スキーマのみが存在する場合は、空欄にすることができます。

  • schemaName: スキーマ名。

  • kind: このパラメーターに特定のオブジェクト種別コードを設定すると、その種別のオブジェクトのみが一覧表示されます。 null に設定すると、スキーマ内のすべてのオブジェクトが取得されます。

  • objectName :指定種別のオブジェクト名(例:テーブルまたはビュー名)。 空にできません。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

データベース接続の一覧表示

プロジェクト内で設定済みのデータベース接続またはデータソースのリストを取得します。 各接続について、一意の ID、名前、DBMS、ドライバ名が返されます。

データベース接続のテスト

接続診断情報を返します。

  • 接続に問題があるかどうかを示すフラグ: はい、いいえ、不明。

  • DBMS の種類、バージョン、JDBC ドライバーなど、データベース接続に関する詳細情報。

  • 接続試行結果の概要。 接続に失敗した場合は、DBMS が提供するエラー説明が含まれます。

パラメーター:

  • id: 固有の接続 ID。

データベーススキーマの一覧表示

指定されたデータベース接続内のデータベーススキーマのリストを取得します。

このツールは、各スキーマについて、スキーマ名とデータベース名(該当しない場合は空欄)を返します。

パラメーター:

  • connectionId: 固有の接続 ID。

  • selectedOnly: データベースツリーで選択されたスキーマのみを表示する場合は true、すべてのスキーマを表示する場合は false。

スキーマオブジェクト種別の一覧表示

指定されたデータベース接続でサポートされているスキーマオブジェクトの種類の一覧を取得します。 各オブジェクトの種類について、そのオブジェクト種類の一意のコードと人間が読みやすい名前を返します。

パラメーター:

  • connectionId: 固有の接続 ID。

スキーマオブジェクトの一覧表示

指定されたスキーマ内のデータベースオブジェクトのリストを取得します。 各オブジェクトについて、スキーマ内のオブジェクト名とその種類を返します。

パラメーター:

  • connectionId: 固有の接続 ID。

  • schemaName: スキーマ名。

  • databaseName: スキーマが属するデータベースの名前。 DBMS にデータベースがなく、スキーマのみが存在する場合は、空欄にすることができます。

  • kind: このパラメーターに特定のオブジェクト種別コードを設定すると、その種別のオブジェクトのみが一覧表示されます。 null に設定すると、スキーマ内のすべてのオブジェクトが取得されます。

list_recent_sql_queries

この機能は無料プランではご利用いただけません。

指定されたデータベース接続に対して、最近実行されたクエリ(現在実行中のクエリを含む)のリストを取得します。

各クエリの戻り値:

  • クエリセッションの一意の ID。

  • クエリの実行にかかった時間(ミリ秒)。

  • クエリの現在の状態。 例: 実行中、キャンセル中、完了など。

  • クエリの補完ステータス。 例: 成功、エラーで終了、キャンセルなど。

  • クエリのテキスト。

パラメーター:

  • connectionId: 固有の接続 ID。

cancel_sql_query

実行中のクエリを、その固有 ID を使用してキャンセルします。

パラメーター:

  • sessionId: クエリセッション ID。

execute_sql_query

指定されたデータベース接続に対して SQL クエリを実行します。

このツールは実行ステータス(成功またはエラー)を報告します。 エラーが発生した場合は、エラーの説明も提供します。

クエリがデータを返した場合、そのデータは CSV 形式でツールの応答に追加されます。

パラメーター:

  • connectionId: 固有の接続 ID。

  • queryText: 実行する SQL クエリ。

テーブルデータのプレビュー

指定されたデータベース接続を使用して、テーブル、ビュー、マテリアライズドビュー、その他のテーブルのようなオブジェクトのプレビューデータを返します。

このツールは、テーブルの内容を CSV 形式で返します。

パラメーター:

  • connectionId: 固有の接続 ID。

  • schemaName: スキーマ名。

  • databaseName: スキーマが属するデータベースの名前。 DBMS にデータベースがなく、スキーマのみが存在する場合は、空欄にすることができます。

  • tableName: テーブル名。

  • maxRowCount: 返される行の最大数。 デフォルトは 100 です。

デバッガーツール

利用可能: IntelliJ IDEA Ultimate

外部クライアントで IDE のデバッガーツールをより良く利用するため、 /ij-debugger スキルをスキルフォルダーにコピーできます。 そのためには以下の手順に従います。

  1. メインメニューで、 移動 | どこでも検索 に移動するか、 Shift を 2 回押して検索ウィンドウを開きます。

  2. デバッガースキルをエージェントにコピー と入力し、 Enter を押します。

スキルは次のフォルダーにコピーされます:

  • Claude Code

    %USERPROFILE%\.claude\skills\ij-debugger\

    ~/.claude/skills/ij-debugger/

    ~/.claude/skills/ij-debugger/

  • Codex

    %USERPROFILE%\.codex\skills\ij-debugger\

    ~/.codex/skills/ij-debugger/

    ~/.codex/skills/ij-debugger/

スキルは、デバッガーツールをいつ適用するか、どの実行時証拠を収集するか、ブレークポイントやセッション状態をどう管理するかを外部クライアントに指示する動作ガイドです。

外部クライアントでスキルを呼び出すには /ij-debugger を使うか、関連する場合は自動的に有効化します。

Xdebug セッションを制御する。

デバッグセッションの実行を制御します。 このツールを使って、コードのステップ実行、実行の再開、一時停止や、デバッグセッションの停止ができます。

前提条件:

  • デバッグセッションが存在している必要があります。

  • STEP_* および RESUME には、サスペンド状態のセッションが必要です。

アクション:

  • STEP_INTO :次のメソッド呼び出しへステップイン

  • STEP_OVER :現在の行をステップオーバー

  • STEP_OUT :現在のメソッドからステップアウト

  • RESUME :次のブレークポイントまでプログラムの実行を再開

  • PAUSE :プログラムの実行を一時停止

  • STOP :デバッグセッションを停止

  • WAIT_FOR_PAUSE :セッションが一時停止するまで待機(ブレークポイントヒットまたは手動一時停止)

  • DRAIN_EVENTS :そのセッションのトレースポイント出力をドレイン(すべてのアクションでブレークポイントエラーもドレイン)

重要な注意点:

  • プログラムが実行中の場合は、 WAIT_FOR_PAUSE または PAUSESTEP_*/RESUME より前に使用してください。

  • sessionId xdebug_get_debugger_status または xdebug_start_debugger_session の現在のものを使ってください。 セッションが停止・タイムアウト・消失した場合は、次回セッションスコープの呼び出し前にセッション一覧を更新してください。

  • RESUME はブレークポイントを設定しません。 有効なブレークポイントがない(または次にヒットしない)場合、プログラムは完了まで実行され、セッションは一時停止せずに停止する場合があります。

  • RESUME の後は、次の一時停止を確認するため WAIT_FOR_PAUSE を呼び出してください。 WAIT_FOR_PAUSE がタイムアウトした場合は、 PAUSE を検討し、ブレークポイントを再確認してください。

  • DRAIN_EVENTS も既存のセッションが必要です。セッション終了後に古い sessionId を再利用しないでください。

次の呼び出し:

結果のステータス値:

  • running :プログラム実行中

  • paused :実行は一時停止しています(ブレークポイント、ステップ、または手動一時停止)。一時停止状態の結果には、可能な場合は frameValues の現在フレームのスナップショット(xdebug_get_frame_values(depth=0) 形式)が含まれます

  • stopped :デバッグセッションは終了しました

  • breakpointErrorsTail はどのアクションでも返されます

  • tracepointOutputsTailDRAIN_EVENTS のみで返されます

イベント対応範囲:

  • ブレークポイントエラーやトレースポイント出力のイベントは現在 JVM ベースのデバッガー(Java、Kotlin など)でのみ報告されます。

  • 他のデバッガーバックエンドでは、ブレークポイント/ログ出力の設定があってもイベントテールが空の場合があります。

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • action :実行するアクション: STEP_INTOSTEP_OVERSTEP_OUTRESUMEPAUSESTOPWAIT_FOR_PAUSEDRAIN_EVENTS。 イベントドレインは現在 JVM ベースのデバッガー(Java、Kotlin など)でのみ利用可能です。

  • timeout :アクション完了待ち時間のタイムアウト(ミリ秒単位)。 ガイダンス: STEP_*PAUSEは通常 5000~15000、 WAIT_FOR_PAUSEはワークロードやブレークポイントによって通常 30000~120000。 デフォルト: 30000。

  • eventsLimit :イベントリストごとにドレインする最新イベントの最大数。 DRAIN_EVENTSではこの制限が breakpointErrorsTailtracepointOutputsTail に独立して適用されます。 デフォルト: 100。

  • clearEventsAfterRead :互換性フラグ。 返却されたイベントは、この値に関わらず必ず内部バッファから削除されます。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug で式を評価する。

現在のスタックフレームのコンテキストで式を評価します。 このツールを使うことで、デバッグ中に値の計算やメソッドの呼び出し、式のインスペクトができます。

前提条件:

  • セッションがサスペンドされている必要があります。

  • 選択したフレーム/言語で評価機能がサポートされている必要があります。

  • expression は、現在のフレームの言語で有効な式でなければなりません。

結果は次の通り返されます:

  • depth == 0 :評価された式のプレゼンテーションのみ

  • depth > 0 :プレゼンテーションに加え、子要素を要求深度まで擬似グラフィックツリーで表示

入力ルール:

  • デバッガー評価器が正しく解析できるように、生の式テキストをそのまま渡してください。

  • JSON エスケープのペイロードや \\"text\\" のようなリテラルエスケープシーケンスは渡さないでください。

次の呼び出し:

  • 式が仮説を確認した場合は、 xdebug_control_session(STEP_*|RESUME) で続行します。

  • さらに詳細が必要な場合は、 xdebug_get_frame_values/xdebug_get_value_by_path で関連する値を確認してください。

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • frameIndex :スタックフレームインデックス(整数、0 = 最上位フレーム)。 現在停止中の xdebug_get_stack 結果から取得してください。 RESUMESTEP_*Xdebug で指定行まで実行する。 または停止位置の変更後は、キャッシュされたフレームインデックスを再利用しないでください。 null の場合は最上位フレームを使用します。 デフォルト: null。

  • expression :現在のコンテキストで評価する式。 現在のフレームの言語で、生の式テキストを渡してください。JSON エスケープ済みのペイロードやリテラルのバックスラッシュ付き引用符付きテキストは渡さないでください。

  • depth :評価結果の子要素展開の最大深さ(0 = 値のみ、1 = 直下の子、2 = 子・孫など)。 デフォルト: 0。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug デバッガーのステータスを取得する。

デバッガーの現在のステータスと、すべてのアクティブなデバッグセッションを返します。 このツールを使って、実行中のすべてのデバッグセッションとその状態の概要を確認できます。

前提条件:

  • なし

明示的な sessions[] および activeSessionId を返します。

次の呼び出し:

  • セッションが実行中でない場合は、 xdebug_start_debugger_session を呼び出してください。

  • 複数のセッションがアクティブな場合は、返却された id を以降の呼び出しの sessionId として使用してください。

パラメーター:

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug でフレーム値を取得する。

指定されたスタックフレームで見える値をツリー構造で返します。 このツールを使うと、コールスタック上の特定の位置で利用可能なローカル変数、パラメーター、フィールドやその他の値を確認できます。

前提条件:

  • セッションがサスペンドされている必要があります。

  • フレームインデックスは現在停止中の xdebug_get_stack 結果から取得してください(0=最上位フレーム)。

フォーマット:

  • 子を持つノードは + でマークされます。

次の呼び出し:

  • xdebug_get_value_by_path を使用してネストしたフィールドに掘り下げてください。

  • 同じフレーム内で計算済みのチェックには xdebug_evaluate_expression を使用してください。

  • frameIndex をキャッシュ済みのまま、 RESUMESTEP_*Xdebug で指定行まで実行する。 または停止位置が変わった後には再利用しないでください。

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • frameIndex :スタックフレームインデックス(整数、0 = 最上位フレーム)。 現在停止中の xdebug_get_stack 結果から取得してください。 RESUMESTEP_*Xdebug で指定行まで実行する。 または停止位置の変更後は、キャッシュされたフレームインデックスを再利用しないでください。 null の場合は最上位フレームを使用します。 デフォルト: null。

  • depth :評価結果の子要素展開の最大深さ(0 = 値のみ、1 = 直下の子、2 = 子・孫など)。 デフォルト: 0。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug のスタックを取得する。

デバッグセッション内のスレッドに対するコールスタックを返します。 このツールを使うと、現在の実行ポイントに至ったメソッド呼び出しの流れが確認できます。

前提条件:

  • セッションがサスペンドされている必要があります。

振る舞い:

  • threadIdxdebug_get_threads から取得し、デバッガースレッドの表示名に一致させてください(指定しなければアクティブスレッド)。

  • ソース位置が無い場合でもフレームは含まれます(file/line は null の場合あり)。

ページネーション:

  • offset/limit はフルスタック収集後に適用されます。

フレームフィールドには以下が含まれます:

  • index

  • file

  • line

  • isCurrent

  • presentation

file はデバッガーによって提供されたままで報告されます(パスの正規化なし)。

次の呼び出し:

  • xdebug_get_frame_valuesxdebug_get_value_by_path 、または xdebug_evaluate_expression の現在停止中の結果からフレームインデックスを使用してください。

  • frameIndex をキャッシュ済みのまま、 RESUMESTEP_*Xdebug で指定行まで実行する。 または停止位置が変わった後には再利用しないでください。

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • threadId :スタック取得対象のスレッド ID。 この値は xdebug_get_threads から取得し、デバッガースレッドの表示名と一致します。数値 ID ではありません。 指定しなければ、現在/アクティブなスレッドが使用されます。 デフォルト: null。

  • limit :返すフレームの最大数。 デフォルト: 200。

  • offset :ページオフセット。 デフォルト: 0。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug のスレッドを取得する。

デバッグセッション内のスレッド一覧を返します。 このツールを使うと、すべてのスレッドとその現在のステータスを確認できます。

前提条件:

  • セッションがサスペンドされている必要があります。

次の呼び出し:

ページネーション:

  • すべてのスタック収集後に offset/limit が適用されます。

順序:

  • アクティブなスレッドが最初です。

  • 残りのスレッドはスタックの深さが大きい順にソートされます。

スキーマフィールドには以下が含まれます:

  • id

  • name

  • state

  • isCurrent

  • additionalInfo

  • additionalInfoTooltip

  • frameCount

additionalInfo/additionalInfoTooltip は追加の表示情報があれば利用します。

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • limit :ページサイズ。 デフォルト: 50、最大: 200。

  • offset :ページオフセット。 デフォルト: 0。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug でパスから値を取得する。

プロパティ名のパスをたどってネストしたオブジェクトの値を取得します。 このツールで複雑なオブジェクトを掘り下げ、そのネストされたプロパティを確認できます。

前提条件:

  • セッションがサスペンドされている必要があります。

  • パスは空でなく、選択したフレームまたはオブジェクトで見える名前を指している必要があります。

結果は次の通り返されます:

  • depth == 0 :指定パス上の値のみを表示

  • depth > 0 :値の表示および、その子要素を指定の深さまで擬似グラフィックツリーで表示

例:

  • obj.field.subField の値を取得する場合は、 path = ["obj", "field", "subField"] を使用してください。

  • 配列やリストのインデクサーには、インデックスのトークンを通常のパス要素(子名)として渡してください。例えば、 items[0].name-> path = ["items", "[0]", "name"]

  • インデックスノード名は言語やデバッガーごとに異なる場合があるため、現在停止中の xdebug_get_frame_values/ 前回の xdebug_get_value_by_path 出力で示された正確な子名を使ってください(例: "[0]""0")。

  • 停止位置が変わった場合は、 path トークンを RESUMESTEP_*Xdebug で指定行まで実行する。 の後に更新してください。

次の呼び出し:

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • frameIndex :スタックフレームインデックス(整数、0 = 最上位フレーム)。 現在停止中の xdebug_get_stack 結果から取得してください。 RESUMESTEP_*Xdebug で指定行まで実行する。 または停止位置の変更後は、キャッシュされたフレームインデックスを再利用しないでください。 null の場合は最上位フレームを使用します。 デフォルト: null。

  • path :移動先の子名リスト(例: ['myObject', 'field', 'subField'] または ['items', '[0]', 'name'])。 現在停止中の xdebug_get_frame_values/xdebug_get_value_by_path 出力の正確なノード名を使い、停止位置が変わったら古いパストークンを更新してください。

  • depth :評価結果の子要素展開の最大深さ(0 = 値のみ、1 = 直下の子、2 = 子・孫など)。 デフォルト: 0。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug のブレークポイント一覧を取得する。

プロジェクトまたは特定ファイル内のすべてのブレークポイントを一覧表示します。 このツールを使うと、現在設定されているすべてのブレークポイントとそのプロパティが確認できます。

振る舞い:

  • filePath が指定された場合、そのファイル内のブレークポイントのみ返します。

  • 各ブレークポイントの詳細属性(idfilelineenabledownerconditionisLogMessageisLogStacktemporarysuspendPolicyhitCount )を返します。

次の呼び出し:

  • 適切なブレークポイントがない場合は、 xdebug_set_breakpoint を呼び出してください。

  • その後、 xdebug_control_session(action=RESUME)xdebug_control_session(action=WAIT_FOR_PAUSE) で実行を続行してください。

パラメーター:

  • filePath :ブレークポイントをフィルターするためのオプションのファイルパス。 ファイルへのパス。 プロジェクト相対パス、 .. 付きパス、絶対パス、 /path/lib.jar!/pkg/Foo.class のようなアーカイブ、 file:// jar:// jrt:// などのURLに対応します。 他のツールから返された任意のパスは、そのまま(例: search_* ツールのパス)渡すことができます。 指定がなければすべてのブレークポイントが返されます。 デフォルト: null。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug でブレークポイントを削除する。

所有者とオプションのセレクターで絞り込み、該当するブレークポイントを削除します。 このツールを使って、以前に設定したブレークポイントを削除できます。

振る舞い:

  • owner のデフォルトは agent です。

  • owner のみ指定された場合、その所有者のすべてのブレークポイントが削除されます。

  • breakpointId が指定された場合、選択された所有者の一致するブレークポイント(複数可)を削除します。

  • filePath + line が指定された場合、選択された所有者の一致する行ブレークポイント(複数可)を削除します。

  • 複数のセレクターが指定された場合、それらはすべて(論理積)で組み合わせて適用されます。

  • 冪等性:存在しないブレークポイントの削除は removed=false を返します。

  • すべてのブレークポイントを所有者に関係なく削除するには、 owner=userowner=agent でそれぞれ呼び出してください。

次の呼び出し:

パラメーター:

  • breakpointIdxdebug_set_breakpoint または xdebug_list_breakpoints から返される正規ブレークポイント ID。

  • filePath :ブレークポイントをフィルターするためのオプションのファイルパス。 ファイルへのパス。 プロジェクト相対パス、 .. 付きパス、絶対パス、 /path/lib.jar!/pkg/Foo.class のようなアーカイブ、 file:// jar:// jrt:// などのURLに対応します。 他のツールから返された任意のパスは、そのまま(例: search_* ツールのパス)渡すことができます。 指定がなければすべてのブレークポイントが返されます。 デフォルト: null。

  • line :オプション入力:削除対象ブレークポイントの 1 始まり行番号。

  • owner :ブレークポイント所有者フィルター。 デフォルト: agent。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug で指定行まで実行する。

ターゲット行まで実行を再開します。 このツールを使うと、手動でステップせずに特定のソース位置まで実行できます。

前提条件:

  • セッションがサスペンドされている必要があります。

  • ターゲットのファイル/行が有効である必要があります。

結果:

  • paused :セッションがターゲットまたはその後に一時停止した状態。

  • stopped :一時停止前にセッションが終了した場合。

  • timeout :タイムアウトウィンドウ内に一時停止または停止が発生しませんでした。

次の呼び出し:

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • filePath: プロジェクトルートからの相対パス。

  • line :ターゲット行番号(1 始まり)。

  • timeout :一時停止や停止状態の結果を待つタイムアウト(ミリ秒単位)。 デフォルト: 30000。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug でブレークポイントを設定する。

ブレークポイントの作成または更新を行います。 このツールで行ブレークポイントの設定、IDによる既存ブレークポイントの更新や、トレースポイント・ロギング動作の制御ができます。

ターゲット指定モード:

  • ロケーション指定の場合は filePath + line を指定し、 breakpointId は省略(または null を渡す)してください。 """/""__omit__" のようなプレースホルダー文字列は使用しないでください。

  • ID指定の場合は、 xdebug_set_breakpoint または xdebug_list_breakpoints から返された既存の不透明な正規ID breakpointId を指定してください(filePath/line で行ブレークポイントの再配置が可能)。

検証:

  • ロケーションモードでは filePathline の両方が必須です。

  • IDモードでは、ブレークポイントは breakpointId で一意に特定でき、かつ存在している必要があります。

  • ロケーションモードの場合、 filePath はプロジェクトルートからの相対パス、 line は1始まりで、ターゲット位置は実行可能でなければなりません。

イベント報告:

  • 無効な condition 式は xdebug_control_session(...).breakpointErrorsTail で非同期に報告されます。

  • isLogMessageisLogStack を使ったブレークポイントのトレースポイント出力は xdebug_control_session(action=DRAIN_EVENTS).tracepointOutputsTail 経由で取得されます。

  • ブレークポイントエラーとトレースポイント出力の報告は、現在 JVM ベース(Java、Kotlin など)のデバッガーのみサポートしています。

  • xdebug_set_breakpoint の応答が成功しても、 condition やトレースポイント式が有効とは限りません。利用する前に後続の breakpointErrorsTail を確認してください。

  • 行ブレークポイントの成功応答には lineText 、ブレークポイントが置かれた実際のソース行の切り抜きが含まれます。 再開前に内容を確認し、配置を確認してください。

セマンティクスの適用:

  • 指定フィールドは、ターゲットブレークポイントの結果状態として適用されます。

  • condition=null で既存の条件がクリアされます。

  • isLogMessage=true でブレークポイントがヒットした位置を記録します。

  • isLogStack=true で現在のスタックトレースを記録します。

  • 両方のフラグが true の場合は、位置とスタックの両方が記録されます。

  • isLogMessage/isLogStacksuspendPolicy=NONE の場合、ブレークポイントはトレースポイントとして動作します。

  • IDモードでは、行ブレークポイントに filePath/line が指定されている場合、新しい位置に再配置(再作成)されます。

  • IDモードでは、行以外のブレークポイントについては filePath/line は無視され、 message で報告されます。

  • 操作が成功すると、ブレークポイントは agent の所有権(mcpBreakpointMarker )としてマークされます。

次の呼び出し:

  • 返された lineTextxdebug_list_breakpoints を使用して配置を確認します。

  • Xdebug デバッガーセッションを開始する。 または xdebug_control_session(action=RESUME) を使って実行を開始/継続します。

パラメーター:

  • breakpointIdxdebug_set_breakpoint または xdebug_list_breakpoints から返される正規ブレークポイント ID。

  • filePath :ブレークポイントをフィルターするためのオプションのファイルパス。 ファイルへのパス。 プロジェクト相対パス、 .. 付きパス、絶対パス、 /path/lib.jar!/pkg/Foo.class のようなアーカイブ、 file:// jar:// jrt:// などのURLに対応します。 他のツールから返された任意のパスは、そのまま(例: search_* ツールのパス)渡すことができます。 指定がなければすべてのブレークポイントが返されます。 デフォルト: null。

  • line: 1 から始まる行番号。 ロケーションモードでのみ必須です。 IDモードでは行ブレークポイントの再配置時に任意です。

  • condition :任意の条件式 - この式がtrueになる場合のみブレークポイントが発動します。 バリデーションエラーは xdebug_control_session(...).breakpointErrorsTail (JVMベースのデバッガーのみ)経由で非同期に通知されます。 デフォルト: null。

  • isLogMessage :ブレークポイント到達時にヒット位置(ソース位置)をログに記録するかどうか。 JVMベースのデバッガーでは、出力は xdebug_control_session(action=DRAIN_EVENTS).tracepointOutputsTail 経由で利用できます。 デフォルト:false。

  • isLogStack :ブレークポイント到達時にスタックトレースをログに記録するかどうか。 JVMベースのデバッガーでは、出力は xdebug_control_session(action=DRAIN_EVENTS).tracepointOutputsTail 経由で利用できます。 デフォルト:false。

  • temporary :一時ブレークポイント(一度ヒットしたら削除される)。 デフォルト:false。

  • suspendPolicy :サスペンドポリシー: ALLTHREADNONE。 デフォルト: ALL

  • enabled :ブレークポイントが有効かどうか。 デフォルト:true。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug で変数を設定する。

選択されたスタックフレーム内のパスで変数の値を書き換えます。 デバッグ中の状態変更にこのツールを使用します。

前提条件:

  • セッションがサスペンドされている必要があります。

  • 値は変更可能でなければなりません。

  • path は現在一時停止中の xdebug_get_frame_valuesxdebug_get_value_by_path 出力から取得してください。

パスのフォーマットは xdebug_get_value_by_path と同じです。 newValue は現在のフレームの言語での生の式である必要があり、デバッガー/評価器によってターゲット値に代入できる必要があります。 JSONエスケープされたペイロードや \\"text\\" のようなリテラルエスケープシーケンスは渡さないでください。

結果:

  • oldValuenewValueapplied を返します。

  • 未対応のミューテーションはテキストメッセージ付きのエラーを返します。

次の呼び出し:

パラメーター:

  • sessionId :デバッグセッションの ID。 xdebug_get_debugger_status または xdebug_start_debugger_session で返された現在の ID を使ってください。 セッションが停止・タイムアウト・消失した場合は、古い ID を再利用する前にセッションリストを更新してください。 フォーマット:デフォルトでセッション名を ID として使用。複数のセッション名が同じ場合、ID は <sessionName>#<executionId>。 null かつアクティブなセッションがちょうど 1 つ存在する場合は、自動的に選択されます。 複数のセッションがアクティブで sessionId が省略された場合、呼び出しは失敗します。 デフォルト: null。

  • frameIndex :スタックフレームインデックス(整数、0 = 最上位フレーム)。 現在停止中の xdebug_get_stack 結果から取得してください。 RESUMESTEP_*Xdebug で指定行まで実行する。 または停止位置の変更後は、キャッシュされたフレームインデックスを再利用しないでください。 null の場合は最上位フレームを使用します。 デフォルト: null。

  • path :ターゲット値へのパス。 xdebug_get_value_by_path と同じフォーマットです。 現在一時停止中の xdebug_get_frame_valuesxdebug_get_value_by_path 出力から正確なノード名を使用し、一時停止位置が変更された場合は古いパストークンを更新してください。

  • newValue :代入する新しい値の式。 現在のフレームの言語で生の式テキストを渡してください。それはデバッガー/評価器によりターゲット値に代入できる必要があります。 JSONエスケープされたペイロードやバックスラッシュでエスケープされたリテラル引用符テキストは渡さないでください。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Xdebug デバッガーセッションを開始する。

既存の実行構成名または現在のプロジェクト内のコード位置(filePathline )に対してデバッガーセッションを開始します。 このツールでデバッガーセッションを開始します。 このツールは既存の実行構成名または filePathline のいずれかで使用します。 filePathline を使う場合は、 main のような実行可能メソッドを含む行、テスト、またはその他の実行可能エントリポイントに指定してください。 どの行を使用すればいいか不明な場合は、 get_run_configurations でファイル内の実行可能な位置を調べられます。 セッションが開始されると、他のデバッガーツールで実行を制御できます。

前提条件:

  • configurationName を使う場合は、既存の実行構成名を正確に指定してください。テストメソッド名やその他の派生ターゲット識別子は指定しないでください。

  • filePathline を使う場合は、 main のような実行可能コードの場所、テスト、または別の実行可能エントリポイントを指定してください。

  • 少なくともブレークポイントを 1 つ設定してください。そうしないと、プログラムが一時停止せずに最後まで実行されることがあります。

  • configurationName または filePathline を一緒に渡してください。 これらのモードは同時には使用できません。

振る舞い:

  • セッション作成を timeout まで待機します。

  • セッション開始後、 graceWaitMs の猶予待機を適用し、最新の状態を返します。

  • オプションの起動オーバーライド(programArgumentsworkingDirectoryenvs )は、このデバッグ起動のみに適用され、永続化されません。

  • get_run_configurations はオーバーライド対応の基準です。選択した実行構成が supportsDynamicLaunchOverrides=true を報告しているときのみ起動オーバーライドを渡してください。

  • これらのオーバーライドパラメーターは、このデバッグ起動で設定値を明示的に変更したい場合のみ渡してください。

  • オーバーライドパラメーターが欠如/nullの場合、既存の実行構成値は変更されません。

  • 文字列オーバーライド(programArgumentsworkingDirectory )の場合、欠如/nullまたは空文字列("" )では既存の値はそのままです。

  • " " のような空白のみの文字列を指定すると、このデバッグ起動の既存値がクリアされます。

次の呼び出し:

デバッガーセッションのメタデータと、起動からの実行スナップショットフィールドを持つフラットな結果を返します:

  • sessionIdnamestatus 、およびオプションの runConfigurationName

  • output プレビューおよびオプションの fullOutputPath

  • プロセス終了が既に判明している場合のみオプションの exitCode

パラメーター:

  • configurationName :デバッグする既存の実行構成名。

  • filePath :プロジェクトルートからのファイル相対パス。 line と一緒に指定することで、コード位置からデバッグを開始できます。

  • linefilePath の 1 から始まる行番号。 filePath と一緒に指定し、 configurationName とは組み合わせないでください。

  • timeout :デバッグセッション開始まで待機するタイムアウト(ミリ秒単位)。 デフォルト:60000。

  • graceWaitMs :セッション開始後に状態をリフレッシュするための猶予待機時間(ミリ秒単位)。 デフォルト:2000。

  • programArguments :この起動のみのオプションのプログラム引数オーバーライド。 選択した実行構成が supportsDynamicLaunchOverrides=trueget_run_configurations で報告している場合のみ指定してください。 欠如/nullまたは空文字列は既存値をそのままにし、空白のみの文字列で値がクリアされます。

  • workingDirectory :この起動のみのオプションの作業ディレクトリオーバーライド。 選択した実行構成が supportsDynamicLaunchOverrides=trueget_run_configurations で報告している場合のみ指定してください。 欠如/nullまたは空文字列は既存値をそのままにし、空白のみの文字列で値がクリアされます。

  • envs :この起動のみのオプションの環境変数オーバーライド。 選択した実行構成が supportsDynamicLaunchOverrides=trueget_run_configurations で報告している場合のみ指定してください。 欠如/nullの場合は既存の環境をそのままにし、指定された場合は値が既存環境に上書きマージされます。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

開発者キット MCP ツール

ロック要件の使用箇所を検索する。

キャレット位置のメソッドに対するRead/Writeロックの利用状況を解析します。 コールパスもある程度の深さまで解析します。 このツールでRead/Writeロック要件の利用可能性を特定します。 ロック要件とそこまでのコールパスのリストを返します。

パラメーター:

  • filePath: プロジェクトルートからの相対パス。

  • line :カーソルがある行。

  • column :カーソルがある列。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

スレッド要件の使用箇所を検索する。

キャレット位置のメソッドに対するスレッド制約(UIスレッドまたはバックグラウンドスレッドでの実行要否)の利用状況を解析します。 コールパスもある程度の深さまで解析します。 このツールでスレッド要件の利用可能性を特定します。 スレッド要件とそこまでのコールパスのリストを返します。

パラメーター:

  • filePath: プロジェクトルートからの相対パス。

  • line :カーソルがある行。

  • column :カーソルがある列。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

実行ツール

実行構成を実行する

既存の実行構成名による実行またはコード位置(filePathline )から作られた一時実行構成による実行を行い、指定されたタイムアウトまで終了を待機します。 このツールは get_run_configurations で返された構成名、または get_run_configurations(filePath = ...) で返されたランポイント(filePathline )のいずれかで使用します。

オプションの起動オーバーライド(programArgumentsworkingDirectoryenvs )はこの実行のみに適用され、永続化されません。 これらのオーバーライドパラメーターは、この実行で設定値を明示的に変更したい場合のみ渡してください。 オーバーライドパラメーターが欠如/nullの場合、既存の実行構成値は変更されません。 文字列オーバーライド(programArgumentsworkingDirectory )の場合、欠如/nullまたは空文字列("" )は既存値をそのままにします。 " " のような空白のみの文字列で既存値をクリアできます。

configurationName または filePathline を一緒に渡してください。 これらのモードは同時には使用できません。

振る舞い:

  • waitForExit=true の場合、最大 timeout ミリ秒間プロセス終了を待ちます。 タイムアウト時はプロセスはバックグラウンドで実行を続け、 exitCode は結果に含まれません。

  • waitForExit=false の場合はプロセス開始のみ待機し、 timeout は適用せずすぐに返します。

  • fullOutputPath は生の全出力を含む一時ファイルを指し、プロセスが生存している間は内容が増え続けます。

実行結果には現在の出力スナップショット、オプションの終了コード、オプションの fullOutputPath が含まれます。

パラメーター:

  • configurationName :実行する既存の実行構成名。

  • filePath :プロジェクトルートからのファイル相対パス。 line と一緒に指定すると、コードコンテキストから一時的な実行構成を作成して実行できます。

  • linefilePath の 1 から始まる行番号。 filePath と一緒に指定し、 configurationName とは組み合わせないでください。

  • timeout: タイムアウト(ミリ秒)。

  • waitForExit :プロセスの終了を待つかどうか。 false の場合、ツールはプロセス開始直後に即座に戻り、 timeout を無視します。

  • programArguments :この起動のみのオプションのプログラム引数オーバーライド。 欠如/nullまたは空文字列は既存値をそのままにし、空白のみの文字列で値がクリアされます。

  • workingDirectory :この起動のみのオプションの作業ディレクトリオーバーライド。 欠如/nullまたは空文字列は既存値をそのままにし、空白のみの文字列で値がクリアされます。

  • envs :この起動のみのオプションの環境変数オーバーライド。 欠如/nullの場合は既存の環境をそのままにし、指定された場合は値が既存環境に上書きマージされます。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

get_run_configurations

入力によって、プロジェクトの実行構成または実行可能コードの場所を返します。

filePath がない場合、このツールはプロジェクトの既存の実行構成をリストします。 結果には構成名および、利用可能な場合はプログラム引数、作業ディレクトリ、環境変数、 supportsDynamicLaunchOverrides などの起動詳細が含まれます。

supportsDynamicLaunchOverrides は、 execute_run_configuration および xdebug_start_debugger_session における一時ランチオーバーライド(programArgumentsworkingDirectoryenvs )の真実の能力フラグです。 このフラグが true の場合のみ、それらのオーバーライドパラメーターを選択した構成に渡してください。

filePath がある場合、このツールはそのファイル内の実行可能エントリポイント(ランポイント)、例えばテストメソッド、mainメソッド、または IDE の Run ガターアイコンが表示されるその他の実行可能エントリポイントを検出します。 結果には filePathrunPoints が含まれます。返された行番号は execute_run_configuration と組み合わせてコードから実行する際に使用してください。

パラメーター:

  • filePath :プロジェクトルートからの相対パスのオプションファイルパス。 指定した場合、プロジェクト全体の実行構成ではなく、ファイル内のランポイント(実行可能エントリポイント)を返します。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ファイルツール

新しいファイルを作成する

プロジェクトディレクトリ内の指定されたパスに新しいファイルを作成します。 オプションで、指定されたテキストをファイルに書き込みます。

パラメーター:

  • pathInProject: プロジェクトルートを基準としてファイルを作成するパス。

  • text (オプション): 新しいファイルに書き込むコンテンツ。

  • overwrite: 既存のファイルを上書きするかどうか。 false に設定すると、競合が発生した場合に例外がスローされます。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

グロブでファイルを検索する

プロジェクト内のファイルのうち、相対パスが指定された glob パターンに一致するすべてのファイルを検索します。 検索は、プロジェクトディレクトリのすべてのサブディレクトリ、または指定されたサブディレクトリで再帰的に実行されます。 このツールは、glob パターン(例: **/*.txt )でファイルを検索する場合に使用します。

パラメーター:

  • globPattern: 検索する glob パターン。 パターンはプロジェクトルートからの相対パスで指定する必要があります。 例: src/**/*.java

  • subDirectoryRelativePath (オプション): 検索するプロジェクトに相対するサブディレクトリ。

  • addExcluded: 除外 / 無視されたファイルを検索結果に追加するかどうか。 ファイルはユーザーまたは無視ルールによって除外できます。

  • fileCountLimit: 返されるファイルの最大数。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

名前キーワードでファイルを検索する

プロジェクト内の、指定したキーワード(大文字と小文字を区別)を含むファイル名を持つすべてのファイルを検索します。 ファイル名の一部がわかっている場合は、このツールを使用してファイルを検索できます。

パラメーター:

  • nameKeyword: ファイル名で検索する部分文字列。

  • fileCountLimit: 返されるファイルの最大数。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

開いているすべてのファイルパスを取得する

アクティブなエディターまたは他の開いているエディターで編集用に開かれたすべてのファイルのパスを、プロジェクトルートからの相対パスで返します。 このツールを使用すると、現在開いているエディターを調べることができます。

パラメーター:

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ディレクトリツリーを一覧表示する

指定されたディレクトリのツリー表示を、 tree ユーティリティに似た疑似グラフィック形式で提供します。 このツールは、ディレクトリまたはプロジェクト全体の内容を調べるのに使用できます。 ディレクトリ一覧の表示には、 lsdir などのコマンドラインユーティリティよりも、このツールを推奨します。

パラメーター:

  • directoryPath: プロジェクトルートからの相対パス。

  • maxDepth: 最大再帰深度。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

エディタでファイルを開く

指定されたファイルを JetBrains IDE エディターで開きます。 開くファイルへのパスを含む filePath パラメーターが必要です。 ファイルパスは絶対パスまたはプロジェクトルートからの相対パスで指定できます。

パラメーター:

  • filePath: プロジェクトルートからの相対パス。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

フォーマットツール

ファイルを再フォーマットする

JetBrains IDE で指定されたファイルを再フォーマットします。 このツールを使用すると、パスで指定されたファイルにコードフォーマットを適用できます。

パラメーター:

  • path: プロジェクトルートからの相対パス。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

インスペクションジェネレーター MCP ツール

インスペクション KTS を検証する。

inspection.kts スクリプトを仕様例に対して検証します。 インスペクションをコンパイルし、正/負の例に対して実行します。 コンパイル状況と詳細な検証結果を返します。

正の例はインスペクションをトリガーする必要があります(問題が発生することを期待します)。 負の例はインスペクションをトリガーしないでください(禁止行に問題が発生しないことを期待します)。

全体の成功、各例ごとの結果、および集計統計を返します。

パラメーター:

  • inspectionKtsCode :コンパイルおよび検証する inspection.kts スクリプト内容。

  • pathToSpecification :検証対象例付き仕様へのパス。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

インスペクション KTS MCP ツール

インスペクション KTS API を生成する。

ターゲット言語向けのInspection KTS API ドキュメントを返します。 inspection.kts ファイルを記述する際に利用可能なクラスや関数を提供します。

パラメーター:

  • language :ターゲット言語:'Java' または 'Kotlin'。

  • wrapInTags :true の場合、APIコンテンツを <API><api.kt> タグでラップします。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

インスペクション KTS の例を生成する。

コード生成の参考となるターゲット言語用のサンプル inspection.kts テンプレートを返します。 InspectionKts API を使ったインスペクションの記述方法を示す、XML でラップされたサンプルを提供します。

パラメーター:

  • language :ターゲット言語:'Java' または 'Kotlin'。

  • includeAdditionalExamples :true の場合、テンプレート以外にも追加でキュレートされた例を含めます。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

PSI ツリーを生成する。

指定した Java または Kotlin コードの PSI ツリーを作成し、インデント付きテキストとして返します。 インスペクション記述時にコードスニペットのPSI構造を理解するためにこのツールを活用してください。 出力には要素タイプやその階層、 node.children() の必要なタイミングについてのヒントが表示されます。

パラメーター:

  • code :解析するソースコードスニペット。

  • language :ターゲット言語:'Java' または 'Kotlin'。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

インスペクション KTS を実行する。

inspection.kts スクリプトをコンパイルし、ターゲットファイルに対して実行します。 コンパイルエラーがあればそれを、なければインスペクションにより検出された問題リストを返します。 開発中のテスト用にこのツールで inspection.kts スクリプトを試してください。

パラメーター:

  • inspectionKtsCode :コンパイル・実行する inspection.kts スクリプト内容。

  • contextPath :解析対象となるプロジェクト内ターゲットファイルの相対パス(例: src/my/package/Example.kt )。

  • targetFileContent :解析対象のターゲットファイル内容。 内容が提供されていない場合、ファイルはプロジェクト内に存在する必要があります。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

モノリポ開発者キット MCP ツール

プロジェクトのステータスを取得する。

プロジェクトがコード解析操作の準備ができているかを確認します。 インデックス作成状態およびスキャン状態を返します。 lint_files または get_file_problems のような重い操作の前に使用し、タイムアウトを回避してください。

パラメーター:

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

読み取りツール

ファイルを読み込む。

プロジェクトディレクトリ内、もしくは任意のプロジェクト依存や他のプロジェクトソースルートからファイルを読み込みます。 Jar/Jrt ファイル内のソース読取や、ディスク上または Jar/Jrt 内の Java クラスファイルのデコンパイルが可能です。 行番号(1始まり)付きでテキストを返します。

モード:

  • slice

  • lines

  • line_columns

  • offsets

  • indentation

モード詳細:

  • slicestart_line および max_lines を使用します。

  • linesstart_line/end_line (両方含む)を使用します。

  • line_columnsstart_line/start_column および end_line/end_column を使用します(end は除外、 end_line はデフォルトで start_line です)。

  • offsetsstart_offset/end_offset を使用します(end は除外)。

  • indentationstart_linemax_levels/include_* で利用します。

max_lines は全てのモードで出力全体を制限します。 context_lines は範囲モード(片側あたり)に適用されます。

パラメーター:

  • file_path :ファイルへのパス。 プロジェクト相対パス、 '..' 付きパス、絶対パス、 /path/lib.jar!/pkg/Foo .class のようなアーカイブ、 file:// jar:// jrt:// などのURLに対応します。 他のツールから返された任意のパスは、そのまま(例: search_* ツールのパス)渡すことができます。

  • mode :読み込みモード: slicelinesline_columnsoffsets 、または indentation

  • start_line :1始まりの読み込み開始行番号。

  • max_lines :返す最大行数(スライスの場合は行数として使用。全モードで出力上限)。

  • end_linelinesline_columns モードの 1 始まりの終了行(lines は含む、 line_columns は除外)。

  • start_columnline_columns モードの 1 始まり開始カラム。

  • end_column :範囲読取用 1 始まりの終了カラム(除外)。

  • start_offset :オフセットモード用 0 始まり開始オフセット(end_offset が必要)。

  • end_offset :オフセットモード用 0 始まりの終了オフセット(除外)。

  • context_lines :範囲の前後に含めるコンテキスト行数(片側あたり)。

  • max_levels :インデントモード:最大インデント階層数(0=アンカーブロックのみ)。

  • include_siblings :インデントモード:同じインデントレベルの兄弟ブロックを含める。

  • include_header :インデントモード:アンカー直上のヘッダーコメントとアノテーションを含める。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

リファクタリングツール

rename_refactoring

指定されたファイル内のシンボル(変数、関数、クラスなど)の名前を変更します。 このツールを使用して、名前変更リファクタリング操作を実行します。

単純なテキスト検索と置換とは異なり、 rename_refactoring ツールはコード構造を理解するコンテキスト対応ユーティリティです。 プロジェクト全体にわたって指定されたシンボルへの参照をすべてインテリジェントに更新することで、コードの整合性を確保し、参照の破損を防ぎます。 プログラムシンボルの名前変更には常に推奨される方法です。

名前変更が成功した場合は成功メッセージを、ファイルやシンボルが見つからない場合や処理に失敗した場合はエラーメッセージを返します。

パラメーター:

  • pathInProject: プロジェクトルートからの相対パス。

  • symbolName :リネームするシンボル名。

  • newName :シンボルの新名称。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ノートブック実行ツール

ノートブックセルを実行する。

Jupyter ノートブックのセルを実行します。

例:

  • {"file_path": "/abs/path/demo.ipynb", "cell_id": "13c5cec416369e19"}

  • {"file_path": "/abs/path/demo.ipynb"}

パラメーター:

  • file_path .ipynb/ドットアイピーワイエヌビー/ ノートブックの絶対パス。

  • cell_id :オプションの Jupyter セル ID。 省略時はすべてのセルが実行されます。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ツールを検索

ファイルを検索する。

プロジェクト内でグロブパターンによるファイル検索を行います。 グロブ構文を使ってファイルパスをマッチさせたい場合、このツールを利用してください。

グロブパターンはプロジェクトルートからの相対指定です。

例:

  • "**/*.kt"

  • "src/**/Foo*.java"

  • "build.gradle.kts"

'/' を含まないパターンは "**/pattern" として扱われます。 paths はプロジェクトルートからの相対指定の、オプションの追加グロブフィルターです。

パラメーター:

  • q: 検索する glob パターン。

  • paths :結果をフィルターするための、プロジェクト相対グロブパターンのオプションリスト。 ! 除外に対応しています。 末尾の /** に展開されます。 / を含まないパターンは **/pattern として扱われます。 空文字列は無視されます。

  • includeExcluded :除外・無視されたファイルを結果に含めるかどうか。

  • limit :返す最大件数。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

正規表現で検索する。

プロジェクトファイル内を正規表現で検索します。 正規表現でスニペット付き検索が必要なとき、このツールを利用してください。 結果には利用可能な場合、マッチした位置(1始まり行・カラム、0始まりオフセット)が含まれます。

パスはプロジェクトルートからの相対グロブパターンです。

例:

  • ["src/**", "!**/test/**"]

  • ["**/*.kt"]

  • ["foo/"]

パラメーター:

  • q: 検索する正規表現パターン。

  • paths :結果をフィルターするための、プロジェクト相対グロブパターンのオプションリスト。 ! 除外に対応しています。 末尾の /** に展開されます。 / を含まないパターンは **/pattern として扱われます。 空文字列は無視されます。

  • limit :返す最大件数。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

シンボルを検索する。

シンボル(クラス、メソッド、フィールド)を検索します。 識別子の断片によるセマンティック検索にこのツールを利用してください。 結果には利用可能な場合、マッチした位置(1始まり行・カラム、0始まりオフセット)が含まれます。

パスはプロジェクトルートからの相対グロブパターンです。

デフォルトでは、プロジェクトのシンボルのみが検索対象です。 適切な結果が見つからなかった場合は、 include_external=true で SDK やライブラリのシンボルも含めて再度お試しください。

パラメーター:

  • q :シンボルクエリ文字列。

  • paths :結果をフィルターするための、プロジェクト相対グロブパターンのオプションリスト。 ! 除外に対応しています。 末尾の /** に展開されます。 / を含まないパターンは **/pattern として扱われます。 空文字列は無視されます。

  • include_external :SDK およびライブラリのシンボルを含めるかどうか。 標準では無効です。適当な結果が見つからない場合は include_external=true で再試行してください。

  • limit :返す最大件数。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

テキストを検索する。

プロジェクトファイル内をテキスト部分一致で検索します。 スニペット付きで高速テキスト検索したい場合、このツールを利用してください。 結果には利用可能な場合、マッチした位置(1始まり行・カラム、0始まりオフセット)が含まれます。

パスはプロジェクトルートからの相対グロブパターンです。

例:

  • ["src/**", "!**/test/**"]

  • ["**/*.kt"]

  • ["foo/"]

パラメーター:

  • q :検索するテキスト。

  • paths :結果をフィルターするための、プロジェクト相対グロブパターンのオプションリスト。 ! 除外に対応しています。 末尾の /** に展開されます。 / を含まないパターンは **/pattern として扱われます。 空文字列は無視されます。

  • limit :返す最大件数。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ターミナルツール

ターミナルコマンドを実行する

IDE の統合ターミナルで指定されたシェルコマンドを実行します。 このツールを使用すると、IDE 環境内でターミナルコマンドを実行できます。

重要な機能と制限事項:

  • 出力を収集する前にプロセスが実行中かどうかを確認します。

  • 出力を 2000 行に制限します (超過分は切り捨てられます)。

  • 指定されたタイムアウト後に通知とともにタイムアウトします。

  • 設定で ブレイブモードが有効になっていない限り、ユーザーの確認が必要です。

可能な応答を返します:

  • ターミナル出力 (2000 行を超える場合は切り捨てられます)。

  • コマンドがタイムアウトした場合に中断通知を出力します。

  • さまざまな失敗ケースのエラーメッセージ。

パラメーター:

  • command: 実行するシェルコマンド。

  • executeInShell: コマンドをユーザーのデフォルトシェル(bash、zsh など)で実行するかどうかを指定します。 コマンドがシェルスクリプトの場合、またはユーザーのターミナルの実際の環境を維持することが重要な場合に便利です。 false に設定すると、コマンドはプロセスとして起動されます。

  • reuseExistingTerminalWindow: 複数のターミナルを作成しないように、既存のターミナルウィンドウを再利用するかどうか。

  • timeout: タイムアウト(ミリ秒)。

  • maxLinesCount: 返される行の最大数。

  • truncateMode: テキストを切り捨てる方法: 先頭から、途中から、最後から、まったく切り捨てない。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

テキストツール

パスでファイルのテキストを取得する

プロジェクトルートからの相対パスを使用して、ファイルのテキストコンテンツを取得します。 ファイルのプロジェクト相対パスがわかっている場合は、このツールを使用してファイルの内容を読み取ることができます。

パラメーター:

  • pathInProject: プロジェクトルートを基準としてファイルを作成するパス。

  • truncateMode: テキストを切り捨てる方法: 先頭から、途中から、最後から、まったく切り捨てない。

  • maxLinesCount: 返される行の最大数。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

ファイル内のテキストを置換する

ファイル内のテキストを、検索と置換の柔軟なオプションを使って置換します。 このツールを使用すると、ファイル全体を置換することなく、特定の変更を加えることができます。 置換するテキストが正確にわかっている場合、ファイルの変更に最も効率的なツールです。

次のいずれかの応答を返します。

  • ok – 交換は成功しました。

  • project dir not found – プロジェクトディレクトリを特定できません。

  • file not found – 指定されたファイルが存在しません。

  • could not get document – ファイルの内容にアクセスできません。

  • no occurrences found – 置換するテキストがファイル内に見つかりませんでした。

パラメーター:

  • pathInProject: プロジェクトルートを基準としたターゲットファイルへのパス。

  • oldText: 置換するテキスト。

  • newText: 置換テキスト。

  • replaceAll: すべての出現箇所を置き換えるかどうか。

  • caseSensitive: 検索で大文字と小文字を区別するかどうか。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

正規表現でファイル内を検索する

IntelliJ の検索エンジンを使用して、プロジェクト内のすべてのファイル内で正規表現パターンを検索します。 コマンドラインツールでファイルを読み取るよりも、このツールの方がはるかに高速なので、推奨されます。

結果内の出現箇所は || 文字で囲まれます。 例: some text ||substring|| text

パラメーター:

  • regexPattern: 検索する正規表現パターン。

  • directoryToSearch: プロジェクトルートからの相対的な検索ディレクトリ。 指定しない場合は、プロジェクト全体を検索します。

  • fileMask: 検索するファイルマスク。 指定しない場合は、すべてのファイルを検索します。 例: *.java

  • caseSensitive: 検索で大文字と小文字を区別するかどうか。

  • maxUsageCount: 返されるエントリの最大数。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

テキストでファイル内を検索する

IntelliJ の検索エンジンを使用して、プロジェクト内のすべてのファイル内のテキスト部分文字列を検索します。 コマンドラインツールでファイルを読み取るよりも、このツールの方がはるかに高速なので、推奨されます。

結果内の出現箇所は || 文字で囲まれます。 例: some text ||substring|| text

パラメーター:

  • searchText: 検索するテキストの部分文字列。

  • directoryToSearch: プロジェクトルートからの相対的な検索ディレクトリ。 指定しない場合は、プロジェクト全体を検索します。

  • fileMask: 検索するファイルマスク。 指定しない場合は、すべてのファイルを検索します。 例: *.java

  • caseSensitive: 検索で大文字と小文字を区別するかどうか。

  • maxUsageCount: 返されるエントリの最大数。

  • timeout: タイムアウト(ミリ秒)。

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

VCS ツール

リポジトリを取得する

プロジェクト内の VCS ルートのリストを取得します。 このツールを使用すると、マルチリポジトリプロジェクト内のすべてのリポジトリを識別できます。

パラメーター:

  • projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

Rails 固有のツール

利用可能: RubyMine

Rails ルートを取得する。

プロジェクト内の Rails ルートを取得します。 結果はページ区切りリストで返され、含める/除外するパスやアクション(完全修飾名または FQN 指定)、ディレクトリ、HTTP メソッドでフィルタリングされます。

このツールは Rails ルートを深く解析するため、手動コードインスペクションよりも優先してご利用ください。

パラメーター:

  • page :ページネーションのページ番号。

  • page_size :ページあたりの項目数。

  • included_route_path_filters :含めるルートパスパターンのリスト。

  • excluded_route_path_filters :除外するルートパスパターンのリスト。

  • included_action_fqn_filters :含める完全修飾アクション名のリスト。

  • excluded_action_fqn_filters :除外する完全修飾アクション名のリスト。

  • included_action_directory_filters :含めるアクションディレクトリのリスト。

  • excluded_action_directory_filters :除外するアクションディレクトリのリスト。

  • min_action_count :ルートが持つ必要がある最小アクション数。

  • max_action_count :ルートが持てる最大アクション数。

  • included_http_method_filters :含める HTTP メソッドのリスト(GET、POST など)。

  • excluded_http_method_filters :除外する HTTP メソッドのリスト。

Rails モデルを取得する。

プロジェクト内の Rails モデルを取得します。 結果はページ分割され、FQN でフィルターできます

パラメーター:

  • page :ページネーションのページ番号。

  • page_size :ページあたりの項目数。

  • included_fqn_filters :含める FQN パターンのリスト。

  • excluded_fqn_filters :除外する FQN パターンのリスト。

  • included_directory_filters :含めるディレクトリのリスト。

  • excluded_directory_filters :除外するディレクトリのリスト。

  • controller_filter :対応するコントローラーの有無でモデルを絞り込みます。

Rails コントローラーを取得する。

プロジェクト内の Rails コントローラーを取得します。 結果はページ分割され、FQN、ディレクトリ、ビュー、抽象状態、対応するモデルの有無でフィルターできます。

パラメーター:

  • page :ページネーションのページ番号。

  • page_size :ページあたりの項目数。

  • included_fqn_filters :含める FQN パターンのリスト。

  • excluded_fqn_filters :除外する FQN パターンのリスト。

  • included_directory_filters :含めるディレクトリのリスト。

  • excluded_directory_filters :除外するディレクトリのリスト。

  • included_view_filters: 含めるビュー フィルターのリスト。

  • excluded_view_filters: 除外するビュー フィルターのリスト。

  • abstract_filter: 抽象コントローラーのみ、非抽象コントローラーのみ、またはすべてのコントローラーを含めるためのフィルター。

  • model_filter: 対応するモデルの有無でコントローラーのみを含めるフィルター。

Rails ヘルパーを取得する。

プロジェクト内の Rails ヘルパーを取得します。 結果はページ分割され、FQN およびディレクトリでフィルターできます。

パラメーター:

  • page :ページネーションのページ番号。

  • page_size :ページあたりの項目数。

  • included_fqn_filters :含める FQN パターンのリスト。

  • excluded_fqn_filters :除外する FQN パターンのリスト。

  • included_directory_filters :含めるディレクトリのリスト。

  • excluded_directory_filters :除外するディレクトリのリスト。

Rails ビューを取得する。

プロジェクト内の Rails ビューを取得します。 結果はページ分割され、パーシャル、レイアウト、コントローラーの関連付け、パス、およびコントローラーのディレクトリ/FQN でフィルターできます。

パラメーター:

  • page :ページネーションのページ番号。

  • page_size :ページあたりの項目数。

  • partiality_filter: パーシャルビューのみ、非パーシャルビューのみ、または両方を含めるフィルター。

  • layout_filter: レイアウトビューのみ、非レイアウトビューのみ、または両方を含めるフィルター。

  • controller_filter: コントローラーと関連付けられているビューのみを含めるフィルター。

  • included_path_filters: 含めるビュー パスのリスト。

  • excluded_path_filters: 除外するビュー パスのリスト。

  • included_controller_fqn_filters: 含めるコントローラー FQN のリスト。

  • excluded_controller_fqn_filters: 除外するコントローラー FQN のリスト。

  • included_controller_directory_filters: 含めるコントローラー ディレクトリのリスト。

  • excluded_controller_directory_filters: 除外するコントローラー ディレクトリのリスト。

Rails メーラーを取得する。

プロジェクト内の Rails メイラーを取得します。 結果はページ分割され、FQN およびディレクトリでフィルターできます。

パラメーター:

  • page :ページネーションのページ番号。

  • page_size :ページあたりの項目数。

  • included_fqn_filters :含める FQN パターンのリスト。

  • excluded_fqn_filters :除外する FQN パターンのリスト。

  • included_directory_filters :含めるディレクトリのリスト。

  • excluded_directory_filters :除外するディレクトリのリスト。

2026 年 7 月 14 日