MCP サーバー
バージョン 2025.2 以降、CLion には統合された MCP サーバー が搭載されており、Claude Desktop、カーソル、Codex、VS Code などの外部クライアントから IDE が提供するツールにアクセスできます。 これにより、ユーザーは好みのアプリケーションを移動することなく、JetBrains IDE を制御および操作できるようになります。
MCP サーバープラグインを有効化する
この機能は、MCP サーバープラグインに依存しており、CLion にはデフォルトで同梱され有効化されています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 MCP サーバープラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
外部クライアントのセットアップ
Claude Code、 Claude Desktop、 Cursor、 VS Code、 Codex、 Windsurf などの外部クライアントの場合、構成は自動的に実行できます。
メインメニューで へ移動します。
MCP サーバー有効化 をクリックします。
クライアントの自動構成 セクションで、MCP サーバーで使用するために設定したい各クライアントの 自動構成 をクリックします。 これにより、JSON 設定が自動的に更新されます。

構成を有効にするにはクライアントを再起動してください。
他のクライアントから MCP サーバーに接続する場合は、手動で設定を行う必要があります。
手動クライアント構成 セクションで、接続タイプに応じて SSE 設定をコピー、 標準入出力設定をコピーする 、または HTTP ストリーム構成のコピー をクリックします。

コピーした構成をクライアントの設定または構成ファイルに貼り付けます。
構成を有効にするにはクライアントを再起動してください。
確認なしでアクションを実行する
MCP サーバーを使用すると、接続された外部クライアントは、毎回ユーザーに確認を求めることなく、ターミナルコマンドを実行したり、IDE で構成を実行したりできます。
このモードを有効にするには:
メインメニューで へ移動します。
コマンド実行 セクションで、 確認なしでシェルコマンドまたは実行構成を実行する (勇敢なモード) 設定を有効にします。
変更を適用 をクリックします。
サポートされているツール
MCP サーバーは、外部クライアントが IDE やプロジェクトとやりとりできる一連のツールを公開しています。例えば、コードの解析、ファイルの変更、実行構成の実行、またはターミナルコマンドの実行などが可能です。
で利用可能なツールの一覧を閲覧・管理できます。 このページから、ワークフローや環境設定に応じて特定のツールを有効化または無効化できます。
以下は、MCP サーバーによって提供されるツールのリストです。
解析ツールセット
- ビルドプロジェクト
プロジェクトまたは指定ファイルのビルドをトリガーし、補完を待ってビルドエラーを返します。 このツールを使うことで、プロジェクトをビルドまたはファイルをコンパイルし、コンパイルエラーや警告の詳細を確認できます。
編集を行った後は、このツールで編集内容が有効かどうか検証する必要があります。
パラメーター:
rebuild: プロジェクト全体を再ビルドするかどうか。 デフォルトは false です。filesToRebuildが指定されていない場合のみ有効です。filesToRebuild: 指定された場合、そのパスのファイルのみをコンパイルします。 パスはプロジェクトルートからの相対パスです。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- ファイルの問題の取得
IntelliJ インスペクションを使用して、指定されたファイルのエラーと警告を分析します。 このツールを使用すると、特定のファイル内のコーディングの問題、構文エラー、その他の問題を特定できます。
重大度、説明、場所の情報を含む問題のリストを返します。
パラメーター:
filePath: プロジェクトルートからの相対パス。errorsOnly: エラーのみを含めるか、エラーと警告の両方を含めるか。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- プロジェクト依存関係の取得
プロジェクトで定義されているすべての依存関係のリストを返します。 ライブラリ名に関する構造化された情報を提供します。
パラメーター:
projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- プロジェクトモジュールの取得
プロジェクト内のすべてのモジュールとそのタイプをリスト形式で返します。 各モジュールの名前やタイプなど、構造化された情報を提供します。
パラメーター:
projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
コードインサイトツールセット
- シンボル情報の取得
指定されたファイル内の指定された位置にあるシンボルに関する情報を取得します。 IntelliJ IDEA の クイックドキュメント 機能と同じ情報を提供します。 この情報には、プログラミング言語に応じて、シンボルの名前、シグネチャー、型、ドキュメント、その他の詳細が含まれる場合があります。
位置がシンボルを参照している場合、ツールはシンボルの宣言(存在する場合)を含むコードスニペットを返します。 このツールを使用して、シンボルの宣言、セマンティクス、位置を理解してください。
パラメーター:
filePath: プロジェクトルートからの相対パス。行: 1 から始まる行番号。column: 1 から始まる列番号。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
データベース固有のツール
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 に設定すると、スキーマ内のすべてのオブジェクトが取得されます。
- 最近の SQL クエリの一覧表示
この機能は無料プランではご利用いただけません。
指定されたデータベース接続に対して、最近実行されたクエリ(現在実行中のクエリを含む)のリストを取得します。
各クエリの戻り値:
クエリセッションの一意の ID。
クエリの実行にかかった時間(ミリ秒)。
クエリの現在の状態。 例: 実行中、キャンセル中、完了など。
クエリの補完ステータス。 例: 成功、エラーで終了、キャンセルなど。
クエリのテキスト。
パラメーター:
connectionId: 固有の接続 ID。
- SQL クエリのキャンセル
実行中のクエリを、その固有 ID を使用してキャンセルします。
パラメーター:
sessionId: クエリセッション ID。
- SQL クエリの実行
指定されたデータベース接続に対して SQL クエリを実行します。
このツールは実行ステータス(成功またはエラー)を報告します。 エラーが発生した場合は、エラーの説明も提供します。
クエリがデータを返した場合、そのデータは CSV フォーマットでツールの応答に追加されます。
パラメーター:
connectionId: 固有の接続 ID。queryText: 実行する SQL クエリ。
- テーブルデータのプレビュー
指定されたデータベース接続を使用して、テーブル、ビュー、マテリアライズドビュー、その他のテーブルのようなオブジェクトのプレビューデータを返します。
このツールは、テーブルの内容を CSV 形式で返します。
パラメーター:
connectionId: 固有の接続 ID。schemaName: スキーマ名。databaseName: スキーマが属するデータベースの名前。 DBMS にデータベースがなく、スキーマのみが存在する場合は、空欄にすることができます。tableName: テーブル名。maxRowCount: 返される行の最大数。 デフォルトは100です。
開発者キット MCP ツール
- ロック要件使用箇所の検索
キャレット位置のメソッドに対する Read/Write ロックの利用状況を解析します。 呼び出しパスもある程度の深さまで解析します。 このツールを使って、Read/Write ロック要件の利用候補を特定できます。 ロック要件とそれへの呼び出しパスのリストを返します。
パラメーター:
filePath: プロジェクトルートからの相対パス。行: カーソルがある行。column: カーソルがある列。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- スレッド要件使用箇所の検索
キャレット位置のメソッドに対してスレッド制約(例:UI スレッドやバックグラウンドスレッドで実行する必要があるかどうか)の利用状況を解析します。 呼び出しパスもある程度の深さまで解析します。 このツールを使って、スレッド要件の利用候補を特定できます。 スレッド要件とそれへの呼び出しパスのリストを返します。
パラメーター:
filePath: プロジェクトルートからの相対パス。行: カーソルがある行。column: カーソルがある列。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
実行ツールセット
- 実行構成の実行
現在のプロジェクトで命名指定の既存実行構成またはコード位置(
filePath+行)から生成した一時実行構成を実行し、指定したタイムアウトまで終了を待ちます。 このツールは、実行構成を取得で返された構成の命名、またはget_run_configurations(filePath = ...)で返された実行ポイント(filePath+行)いずれかで利用できます。オプションの起動オーバーライド(
programArguments、workingDirectory、envs)はこの実行時のみ適用され、保存されません。 この実行時の起動値を変更する必要がある場合を除き、これらのオーバーライドパラメーターは渡さないでください。 オーバーライドパラメーターが未指定または null の場合、既存の実行構成値は変更されません。 文字列オーバーライド(programArguments、workingDirectory)の場合、missing/null または空の文字列("")は既存の値を変更しません。" "のような空白のみの文字列を渡すと、現行値をクリアします。configurationName、または行と一緒にfilePathのいずれかを渡してください。 これらのモードは排他的です。振る舞い:
waitForExit=trueの場合、プロセス終了までタイムアウトミリ秒待機します。 タイムアウトした場合はプロセスがバックグラウンドで実行され続け、exitCodeは結果に含まれません。waitForExit=falseの場合、プロセスが開始されるまでのみ待機し、タイムアウトを適用せずに即時返却します。fullOutputPathは生の出力全体を持つ一時ファイルを指し、プロセスが生存している間は出力が増え続ける可能性があります。
現在の出力スナップショット、任意の終了コード、および任意の
fullOutputPathを含む実行結果を返します。パラメーター:
configurationName: 実行する既存実行構成の命名。filePath: プロジェクトルートからのファイルパス。行と一緒に指定すると、コード文脈から一時実行構成を作成・実行します。行:filePath用の 1 から始まる行番号。filePathと一緒に指定し、configurationNameとは組み合わせないでください。タイムアウト: タイムアウト(ミリ秒)。waitForExit: プロセス終了を待機するかどうか。 If false, the tool returns immediately after the process starts and ignoresタイムアウト.programArguments: この実行時のみプログラム引数のオーバーライド。未指定または null または空文字列なら既存値が維持され、空白文字列の場合はクリアされます。 未指定または null または空文字列なら既存値が維持され、空白のみの場合はクリアされます。workingDirectory: この実行時のみワーキングディレクトリのオーバーライド。未指定または null または空文字列なら既存値が維持され、空白文字列の場合はクリアされます。 未指定または null または空文字列なら既存値が維持され、空白のみの場合はクリアされます。envs: この実行時のみ環境変数のオーバーライド。未指定または null の場合は既存環境変数を変更せず、指定時は既存値にマージされます。 未指定または null の場合は既存環境変数を変更せず、指定された値は既存環境変数にマージされます。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- get_run_configurations
入力に応じて、プロジェクトの実行構成または実行可能ファイルのコード位置を返します。
filePathが無い場合、このツールはプロジェクトの既存実行構成を一覧表示します。 結果には構成の命名や、利用可能な場合はプログラム引数・ワーキングディレクトリ・環境変数・supportsDynamicLaunchOverridesなどの起動情報が含まれます。supportsDynamicLaunchOverridesは実行構成を実行およびxdebug デバッガー セッションを開始内でワンタイム起動オーバーライド(programArguments、workingDirectory、envs)用のソースオブトゥルースとなる機能フラグです。 このフラグが選択中構成でtrueの場合のみ、それらのオーバーライドパラメーターを渡してください。filePathを指定すると、そのファイル内の実行可能ファイルのエントリポイント(テストメソッド・メインメソッドや IDE が実行ガターアイコンを表示するその他の実行エントリポイント)を検出します。 結果にはfilePathとrunPointsが含まれます。返された行番号は実行構成を実行で実行に利用できます。パラメーター:
filePath: プロジェクトルートからのオプションのファイルパス。 指定すると、プロジェクト全体の実行構成ではなくファイル内の実行ポイント(実行可能ファイルのエントリポイント)を返します。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
ファイルツールセット
- 新しいファイルの作成
プロジェクトディレクトリ内の指定されたパスに新しいファイルを作成します。 オプションで、指定されたテキストをファイルに書き込みます。
パラメーター:
pathInProject: プロジェクトルートを基準としてファイルを作成するパス。テキスト(オプション): 新しいファイルに書き込むコンテンツ。overwrite: 既存のファイルを上書きするかどうか。falseに設定すると、競合が発生した場合に例外がスローされます。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- グロブによるファイルの検索
プロジェクト内のファイルのうち、相対パスが指定された glob パターンに一致するすべてのファイルを検索します。 検索は、プロジェクトディレクトリのすべてのサブディレクトリ、または指定されたサブディレクトリで再帰的に実行されます。 このツールは、glob パターン(例:
**/*.txt)でファイルを検索する場合に使用します。パラメーター:
globPattern: 検索する glob パターン。 パターンはプロジェクトルートからの相対パスで指定する必要があります。 例:src/**/*.javasubDirectoryRelativePath(オプション): 検索するプロジェクトに相対するサブディレクトリ。addExcluded: 除外 / 無視されたファイルを検索結果に追加するかどうか。 ファイルはユーザーまたは無視ルールによって除外できます。fileCountLimit: 返されるファイルの最大数。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- 名前キーワードによるファイルの検索
プロジェクト内の、指定したキーワード(大文字と小文字を区別)を含むファイル名を持つすべてのファイルを検索します。 ファイル名の一部がわかっている場合は、このツールを使用してファイルを検索できます。
パラメーター:
nameKeyword: ファイル名で検索する部分文字列。fileCountLimit: 返されるファイルの最大数。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- すべての開いているファイルパスの取得
アクティブなエディターまたは他の開いているエディターで編集用に開かれたすべてのファイルのパスを、プロジェクトルートからの相対パスで返します。 このツールを使用すると、現在開いているエディターを調べることができます。
パラメーター:
projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- ディレクトリツリーの一覧表示
指定されたディレクトリのツリー表示を、
treeユーティリティに似た疑似グラフィック形式で提供します。 このツールは、ディレクトリまたはプロジェクト全体の内容を調べるのに使用できます。 ディレクトリ一覧の表示には、lsやdirなどのコマンドラインユーティリティよりも、このツールを推奨します。パラメーター:
directoryPath: プロジェクトルートからの相対パス。maxDepth: 最大再帰深度。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- エディターでファイルを開く
指定されたファイルを JetBrains IDE エディターで開きます。 開くファイルへのパスを含む
filePathパラメーターが必要です。 ファイルパスは絶対パスまたはプロジェクトルートからの相対パスで指定できます。パラメーター:
filePath: プロジェクトルートからの相対パス。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
フォーマットツールセット
- ファイルの整形
JetBrains IDE で指定されたファイルを再フォーマットします。 このツールを使用すると、パスで指定されたファイルにコードフォーマットを適用できます。
パラメーター:
path: プロジェクトルートからの相対パス。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
インスペクションジェネレーター MCP ツール
- インスペクション KTS の検証
inspection.kts スクリプトを仕様例に照らして検証します。 インスペクションをコンパイルし、肯定または否定の例に対して実行します。 コンパイルの結果ステータスおよび詳細な検証結果を返します。
肯定例でインスペクションがトリガーされる必要があります(問題が発生する想定)。 否定例ではインスペクションがトリガーされてはいけません(禁止行で問題は検知されない想定)。
全体の成否、各例ごとの結果、集計統計を返します。
パラメーター:
inspectionKtsCode: コンパイルおよび検証する inspection.kts スクリプトの内容。pathToSpecification: 検証対象仕様のパス。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
インスペクション KTS MCP ツール
- インスペクション KTS API の生成
ターゲット言語用のインスペクション 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またはファイル問題を取得のような重い操作の前に使用します。パラメーター:
projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
読み取りツールセット
- ファイルの読み込み
プロジェクトディレクトリ、またはプロジェクト依存関係や他のプロジェクトソースルートからファイルを読み取ります。 Jar/Jrt ファイル内のソースや、ディスク上または Jar/Jrt ファイル内の Java クラスファイルをデコンパイルして読み取ることができます。 行番号付き(1始まり)のテキストとして返します。
モード:
slicelinesline_columnsoffsetsindentation
モード詳細:
sliceはstart_lineとmax_linesを使用します。linesはstart_line/end_line(含む)を使用します。line_columnsはstart_line/start_columnおよびend_line/end_columnを使用します(endは除外、end_lineはデフォルトでstart_lineです)。offsetsはstart_offset/end_offsetを使用します(endは除外)。indentationはstart_lineにmax_levels/include_*を組み合わせて使用します。
max_linesはすべてのモードで合計出力を制限します。context_linesは範囲モード(各サイド)に適用されます。パラメーター:
file_path: ファイルへのパス。 プロジェクト相対パス、 '..' を含むパス、絶対パス、 /path/lib.jar!/pkg/Foo .class のようなアーカイブエントリや file:// 、 jar:// 、 jrt:// などの URL に対応しています。 他のツールから返されたパスは、そのまま渡すことができます(例:search_*ツールからのパス)。mode: 読み取りモード:slice、lines、line_columns、offsets、またはindentation。start_line: 1 始まりの読み取り開始行。max_lines: 返す最大行数(スライスではこの行数、全モードで出力上限あり)。end_line:lines/line_columnsモードにおける 1 始まりの終了行(linesは含め、line_columnsは含めない)。start_column:line_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: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
ノートブック実行ツール
- Notebook セルの実行
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 行を超える場合は切り捨てられます)。
コマンドがタイムアウトした場合に中断通知を出力します。
さまざまな失敗ケースのエラーメッセージ。
パラメーター:
コマンド: 実行するシェルコマンド。executeInShell: コマンドをユーザーのデフォルトシェル(bash、zsh など)で実行するかどうかを指定します。 コマンドがシェルスクリプトの場合、またはユーザーのターミナルの実際の環境を維持することが重要な場合に便利です。falseに設定すると、コマンドはプロセスとして起動されます。reuseExistingTerminalWindow: 複数のターミナルを作成しないように、既存のターミナルウィンドウを再利用するかどうか。タイムアウト: タイムアウト(ミリ秒)。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: 検索するファイルマスク。 指定しない場合は、すべてのファイルを検索します。 例:*.javacaseSensitive: 検索で大文字と小文字を区別するかどうか。maxUsageCount: 返されるエントリの最大数。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- テキストによるファイル内検索
IntelliJ の検索エンジンを使用して、プロジェクト内のすべてのファイル内のテキスト部分文字列を検索します。 コマンドラインツールでファイルを読み取るよりも、このツールの方がはるかに高速なので、推奨されます。
結果内の出現箇所は
||文字で囲まれます。 例:some text ||substring|| textパラメーター:
searchText: 検索するテキストの部分文字列。directoryToSearch: プロジェクトルートからの相対的な検索ディレクトリ。 指定しない場合は、プロジェクト全体を検索します。fileMask: 検索するファイルマスク。 指定しない場合は、すべてのファイルを検索します。 例:*.javacaseSensitive: 検索で大文字と小文字を区別するかどうか。maxUsageCount: 返されるエントリの最大数。タイムアウト: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
VCS ツールセット
- リポジトリの取得
プロジェクト内の VCS ルートのリストを取得します。 このツールを使用すると、マルチリポジトリプロジェクト内のすべてのリポジトリを識別できます。
パラメーター:
projectPath: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。