GoLand 2026.3 Help

MCP サーバー

バージョン 2025.2 以降、GoLand には統合された MCP サーバー が搭載され、Claude Code、Codex、VS Code などの外部クライアントから IDE が提供するツールにアクセスできます。 これにより、ユーザーは好みのアプリケーションを離れることなく、JetBrains IDE を制御して操作できるようになります。

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

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

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

  2. MCP サーバー プラグインを見つけて、 有効化 をクリックします。

MCP サーバーを有効化

MCP サーバーを有効化するには、次の手順を実行します:

  1. 設定 | ツール | MCP サーバー に進みます。

  2. MCP サーバーを有効化 チェックボックスを選択します。

  3. MCP サーバーを有効化しますか? ダイアログで、サードパーティアプリケーションが IDE で開いているプロジェクトに対して取得するアクセス権を確認し、 有効化 をクリックして続行します。

  4. 適用 をクリックしてください。

MCP サーバーが有効化されたら、外部クライアントの構成に進めます。

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

検出された Junie、 VS Code、 Claude Code、 Codex、 Air、 GitHub Copilot CLI などの外部クライアントでは、構成を自動的に実行できます。 クライアントの設定とは、IDE MCP サーバーのアドレスをそのクライアントの構成ファイルに追加することです。

これを行うには、次の手順を実行します。

  1. 設定 | ツール | MCP サーバー に進みます。

  2. クライアントの自動構成 セクションで、MCP サーバーで使用するために設定したい各クライアントの 自動構成 をクリックします。 これにより、クライアントの構成ファイルが自動的に更新されます。 設定済みトランスポートのセットはクライアントによって異なります。

    MCP サーバー設定

    特定のトランスポートを自分で構成するには、 自動構成 の横にある をクリックし、リストから必要なオプションを選択します。

    構成オプション
  3. 構成を有効にするにはクライアントを再起動してください。

プロジェクトレベルのクライアント設定

一部のクライアントは、プロジェクトの作業ディレクトリから構成ファイルも読み取ります。 これらのクライアントでは、IDE が現在開いているプロジェクト内の構成ファイルに接続設定を直接書き込めるため、MCP サーバーはそのプロジェクトで作業している間だけ利用できます。

複数のプロジェクトで作業していて、MCP サーバーをすべてのクライアントセッションに登録したくない場合は、このオプションを使用します。

  1. 設定 | ツール | MCP サーバー に進みます。

  2. プロジェクトクライアントの自動構成 セクションで、設定する各クライアントの 自動構成 をクリックします。 これにより、クライアントのプロジェクトレベル構成ファイルが自動的に更新されます。

    クライアントのプロジェクトレベル構成を自動構成する

    特定のトランスポートメカニズムを構成する場合は、 自動構成 の横にある をクリックし、リストから必要なオプションを選択します。

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

手動クライアントセットアップ

接続するクライアントがリストにない場合は、手動で構成します。

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

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

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

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

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

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

  1. 設定 | ツール | MCP サーバー に進みます。

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

  3. 適用 をクリックしてください。

ターミナルセッションにセットアップの提案を表示する

一致する MCP サーバーセットアップがないターミナルセッションで Codex または Claude が起動すると、IDE は接続の構成を提案するバナーを表示できます。

この動作を制御するには、次の手順を実行します。

  1. 設定 | ツール | MCP サーバー に進みます。

  2. ターミナルセッション セクションで、 Codex および Claude ターミナルセッション向けセットアップの提案を表示する チェックボックスを選択または選択解除します。

  3. 適用 をクリックしてください。

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

MCP サーバーは、外部クライアントが IDE やプロジェクトとやり取りできるさまざまなツールを公開します。たとえば、コードを解析したり、ファイルを変更したり、実行構成を起動したり、ターミナルコマンドを実行したりできます。

設定 | ツール | MCP サーバー | Exposed Tools で利用可能なツールの全リストを表示・管理できます。 各ツールについて、 有効化 チェックボックスをオンまたはオフにして、ツールを外部クライアントに Exposed するかどうかを制御します。

Exposed ツール設定ページ

ツールの ルーター専用 チェックボックスを選択することもできます。 ルーター専用ツールは直接 MCP ツールリストから非表示になり、専用ルーター ツール 経由でのみ引き続き利用できます。 これにより、不要なツール説明がツールリストに表示されず、コンテキストを節約できます。 以下に対してルーター専用モードを有効化 設定を使用して、ルーター専用モードを適用するタイミングを指定します。たとえば、 すべてのエージェント や ACP エージェントのみ です。

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

解析ツール

analyze_calls

メソッド、関数、コンストラクター、またはサポートされている型に対応した IDE の呼び出し階層ツリーを構築します。 シンボルを呼び出している対象 (INCOMING_CALLS) またはシンボルが呼び出している対象 (OUTGOING_CALLS) を確認するために使用します。

実際の呼び出しによって依存関係を評価する場合は、使用箇所検索、テキスト検索、正規表現検索よりもこのツールを優先してください。 IDE 呼び出し階層データを使用するため、基本的な検索よりもノイズが少なく、追加の呼び出しも少ない、より正確な呼び出し関係が得られます。

symbolFqn は完全修飾名として渡します。たとえば com.example.Service.run です。 名前があいまいな場合、ツールは正確なシグネチャーを返します。そのいずれかを symbolFqn として渡し直します。 短い名前または断片しか分からない場合は、まず シンボルで検索 を使用してターゲットを見つけます。

結果は展開可能なテキストツリーです。 各ノードには filePath と treePath が含まれます。可能な場合、 filePath はプロジェクト相対です。 サブツリーをレンダリングするには、 treePath を渡し直します。 childOffset を使用して、切り詰められた … の後に続けます。 さらに n 件 行の後に続行するには、これを使用します。 depth、 maxChildren、 maxNodes はレンダリングされるツリーの範囲を制限します。 IDE が解決できる場合、シンボルはプロジェクトソース、ソース jar、または逆コンパイルされたバイナリ jar 依存関係から取得されることがあります。

パラメーター:

  • symbolFqn (必須): プレーンな完全修飾シンボル名、またはあいまいさエラーで返されたか、レンダリングされた子ノードからコピーされた正確なシグネチャー。 短い名前または断片しか分からない場合は、まず シンボルで検索 を使用し、最適な完全修飾呼び出し可能名をここに渡します。 例: com.example.Service.run、 com.example.Service.run(String) 、または org.assertj.core.api.Assertions.assertThat(String)。 ファイルパス、行、列、または個別のターゲットシグネチャーを渡さないでください。

  • analysisKind (必須): 呼び出し分析の方向。 INCOMING_CALLS を使用して symbolFqn の呼び出し元を表示するか、 OUTGOING_CALLS を使用して symbolFqn から呼び出されるシンボルを表示します。

  • depth: 要求されたサブツリールートの下にレンダリングする呼び出しレベルの最大数。 デフォルトは 5 です。 サブツリールートのみをレンダリングするには 0 を使用します。

  • maxChildren: 各ノードにレンダリングされる直接の子の最大数。 デフォルトは 50 です。

  • maxNodes: レンダリングされる呼び出しノードの最大合計数。 デフォルトは 1000 です。

  • treePath: 以前の analyze_calls 結果から正確にコピーされた、サブツリールートへの任意のパス。 Null または省略した場合は、ルートパス [] を意味します。 各コンポーネントは正確なシグネチャーであり、表示名ではありません。

  • childOffset: treePath で指定されたノードの直接の子をページングするためのオフセット。 デフォルトは 0 です。

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

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

ビルドプロジェクト

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

編集の後でこのツールを使用し、編集内容が有効かどうか検証してください。

パラメーター:

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

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

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

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

ファイルの問題を取得

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

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

パラメーター:

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

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

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

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

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

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

パラメーター:

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

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

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

パラメーター:

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

lint_files

IntelliJ インスペクションを使用して、指定されたファイルのエラーと警告を分析します。 編集後に複数のファイルを lint するには、このツールを使用します。 ファイルごとの問題を、重大度、説明、場所情報とともに返します。

個々のファイルが利用可能な予算を超える場合、バッチレスポンスには timedOut: true と空の problems を持つファイルエントリが含まれることがあります。 notAnalyzedReason を持つファイルエントリは、分析できなかったファイルを示します。たとえば、プロジェクトコンテンツルート外のファイル、除外されたファイル、サポートされていないファイルタイプです。 トップレベルの more: true は、バッチが不完全であることを意味します。

パラメーター:

  • files (必須): 分析するプロジェクト相対ファイルのリスト。 重複するパスは正規化後に無視されます。

  • min_severity: 含める最小重大度: warning または error。 デフォルトは warning です。

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

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

コードインサイトツール

シンボル情報の取得

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

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

パラメーター:

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

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

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

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

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

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

SQL クエリのキャンセル

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

パラメーター:

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

データベース接続の作成

名前、DBMS (dbms )、JDBC URL (url )、接続を確認するフラグ (needToCheckDs) によって、新しいデータベース接続 (データソース) を作成します。 すべてのパラメーターが必須です。 接続診断情報を返します。

パラメーター:

  • 名前 (必須): データベース接続の一意の名前。

  • dbms: データベース管理システム (DBMS) の名前。

  • url: データベース接続の完全な JDBC URL。たとえば jdbc:postgresql://<host>:<port>/<database> です。

  • needToCheckDs: データソースの作成または編集の直後に接続をテストするかどうか。 複数の接続をバッチで構成する場合は false に設定します — 接続ごとのプローブはコストが高く、重要な接続については データベース接続のテスト を明示的に呼び出せます。

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

データベース接続の編集

connectionId で識別される既存のデータベース接続 (データソース) を編集します。 接続の DBMS ドライバーと JDBC URL を更新します。接続 名前 は保持されます。 接続診断情報を返します。

パラメーター:

  • connectionId: 固有の接続 ID。

  • dbms: データベース管理システム (DBMS) の名前。

  • url: データベース接続の完全な JDBC URL。たとえば jdbc:postgresql://<host>:<port>/<database> です。

  • needToCheckDs: データソースの作成または編集の直後に接続をテストするかどうか。 複数の接続をバッチで構成する場合は false に設定します — 接続ごとのプローブはコストが高く、重要な接続については データベース接続のテスト を明示的に呼び出せます。

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

SQL クエリの実行

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

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

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

パラメーター:

  • connectionId: 固有の接続 ID。

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

クエリ結果の取得

指定された行オフセットから、すでに実行されたクエリの ID によって行を取得します。 SQL クエリの実行 と同じ形状を返します: resultSetId と CSV フォーマットでレンダリングされた結果。

以前に SQL クエリの実行 または テーブルデータのプレビュー によって返された resultSetId をページングするには、このツールを使用します。

パラメーター:

  • resultSetId (必須): 以前の SQL クエリの実行 または テーブルデータのプレビュー 呼び出しによって返された不透明な結果セット ID。

  • offset (必須): 取得を開始する行オフセット。 デフォルトは 0 です。

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

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

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

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

パラメーター:

  • connectionId: 固有の接続 ID。

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

  • schemaName: スキーマ名。

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

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

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

スキーマの検査

データベーススキーマをイントロスペクトし、そのメタデータ (テーブル、列、インデックス) をローカルモデルに読み込みます。 スキーマの isIntrospected フラグが false で、スキーマの構造を調査する必要がある場合、または古いメタデータを更新する場合に使用します。 更新されたイントロスペクションステータスとともにスキーマ識別子を返します。

パラメーター:

  • connectionId: 固有の接続 ID。

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

  • schemaName: スキーマ名。

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

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

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

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

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

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

パラメーター:

  • connectionId: 固有の接続 ID。

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

最近の SQL クエリの一覧表示

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

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

各クエリの戻り値:

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

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

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

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

  • クエリのテキスト。

パラメーター:

  • connectionId: 固有の接続 ID。

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

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

パラメーター:

  • connectionId: 固有の接続 ID。

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

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

パラメーター:

  • connectionId: 固有の接続 ID。

  • schemaName: スキーマ名。

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

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

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

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

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

パラメーター:

  • connectionId: 固有の接続 ID。

  • schemaName: スキーマ名。

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

  • tableName: テーブル名。

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

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

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

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

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

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

パラメーター:

  • id: 固有の接続 ID。

実行ツール

実行構成を実行

プロジェクト内で、名前による既存の実行構成またはコード場所(filePath + line )から生成した一時実行構成を実行し、完了まで指定したタイムアウトの間待機します。 このツールは 実行構成を取得 で返された構成名、または get_run_configurations(filePath = ...) で返された実行ポイント(filePath + line )で使用します。

オプションの起動時オーバーライド(programArguments、 workingDirectory、 envs )はこの実行時のみ適用され、永続化されません。 この実行で設定された起動値を明示的に変更する必要がある場合を除き、これらのオーバーライドパラメーターは渡さないでください。 オーバーライドパラメーターが未指定または null のとき、既存の実行構成値は変更されません。 文字列型のオーバーライド(programArguments、 workingDirectory )は、未指定・null または空文字列("" )で既存値を保持します。 空白のみの文字列(例: " " )を渡すと、この起動の既存値をクリアします。

configurationName か、 filePath と line のセット、いずれかを渡してください。 これらのモードは同時利用できません。

挙動:

  • waitForExit=true の場合、プロセス終了まで最大 タイムアウト ミリ秒待機します。 タイムアウトが発生すると、プロセスはバックグラウンドで実行され続け、 exitCode は結果から省略されます。

  • waitForExit=false の場合、プロセスの起動のみを待機し、 タイムアウト は適用せず直ちに返ります。

  • fullOutputPath は生の全出力を格納する一時ファイルを指します。プロセスが稼働中は、このファイルは引き続き成長する可能性があります。

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

パラメーター:

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

  • filePath: プロジェクトルートからの相対ファイルパス。 line とセットで指定し、コードコンテキストから一時実行構成を作成および実行します。

  • line: filePath 用の 1 始まりの行番号。 filePath とセットで指定し、 configurationName と同時使用しないでください。

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

  • waitForExit: プロセス終了まで待機するかどうか。 false の場合、ツールはプロセス起動後すぐに戻り、 タイムアウト を無視します。

  • programArguments: この実行時のみ有効なプログラム引数のオーバーライド。未指定・null・空文字列は既存値を維持、空白のみの文字列は既存値をクリアします。 未指定・null・空文字列は既存値を保持し、空白のみの文字列は既存値をクリアします。

  • workingDirectory: この実行時のみ有効な作業ディレクトリのオーバーライド。未指定・null・空文字列は既存値を維持、空白のみの文字列は既存値をクリアします。 未指定・null・空文字列は既存値を保持し、空白のみの文字列は既存値をクリアします。

  • envs: この実行時のみ有効な環境変数のオーバーライド。未指定・null なら既存 env を変更しません。指定した場合は既存 env にマージされます。 未指定・null なら既存 env を保持し、指定した値は既存 env に上書きマージされます。

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

実行構成の取得

入力に応じて、プロジェクトの実行構成または実行可能ファイルのコード位置を返します。

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

supportsDynamicLaunchOverrides は、 実行構成を実行 および xdebug_デバッガーセッション開始 におけるワンタイム起動オーバーライド(programArguments、 workingDirectory、 envs )のソースオブトゥルース機能フラグです。 選択した構成でこのフラグが true の場合にのみ、それらのオーバーライドパラメーターを渡してください。

filePath がある場合、このツールはそのファイル内の実行可能ファイルのエントリポイント(実行ポイント)を検出します。たとえばテストメソッドや main メソッド、または IDE で Run ガターアイコンが表示されるその他の実行可能なエントリポイントです。 結果には filePath と runPoints が含まれます。返された行番号を 実行構成を実行 とともに指定してコードから実行してください。

パラメーター:

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

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

ファイルツール

新規ファイルの作成

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

パラメーター:

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

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

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

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

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

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

パラメーター:

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

ディレクトリツリーの一覧表示

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

パラメーター:

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

  • maxDepth: 最大再帰深度。

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

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

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

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

パラメーター:

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

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

フォーマットツール

ファイルを整形

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

パラメーター:

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

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

Go プロファイラーツール

バージョン 2026.3 以降では、これらのツールを使用して、プロファイラーで Go アプリケーションを実行し、プロファイルをキャプチャし、保存済みプロファイルを解析できます。 使用する前に バンドルされた MCP サーバーを有効化してください。

プロファイリングセッションは実行を識別し、 s1 のような ID を持ちます。 IDE または MCP 経由で開始された実行の出力を確認し、プロファイルをキャプチャできます。 プロファイル対象の実行を停止 のみが MCP から起動された実行に制限されます。 プロファイルのキャプチャには、プロファイラーの準備ができている実行中のアプリケーションが必要です。

MCP 経由でキャプチャされたプロファイルは、構成済みのプロファイルディレクトリに PPROF ファイルとして保存され、 最近使用したプロファイル とセッションのプロファイルリストに追加されます。 これらは Go の最適化 ツールウィンドウで自動的に開かれません。

各セッションには、MCP ツールと IDE ツールバーで共有される CPU 記録が 1 つあります。 エージェントによって開始された記録を IDE から停止できます。また、IDE から開始した記録をエージェントが停止することもできます。 CPU 記録がアクティブな間に別の CPU 記録を開始すると、エラーが返されます。

run_with_profiler

既存のローカル Go ビルド 実行構成をプロファイラーで起動します。 構成ではアプリケーションをビルドして実行する必要があります。 テスト構成とリモート実行ターゲットを持つ構成はサポートされていません。

起動は MCP サーバーの コマンド実行確認設定に従います。 構成がすでに実行中の場合は、別のインスタンスを開始する前に、その実行を停止するか、構成で並列実行を有効化してください。

パラメーター:

  • runConfig: 必須の文字列。 実行構成の正確な名前。 既存の構成を一覧表示するには 実行構成を取得 を使用します。

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

session 、セッション ID、および使用可能なプロファイル名をサンプルタイプに対応付けるマップである profiles を含むオブジェクトを返します。 このマップには、実行中のアプリケーションで使用可能なプロファイルのみが含まれます:

プロファイル名

サンプルタイプ

cpu

samples、 cpu

heap、 heap_gc、 allocs

alloc_objects、 alloc_space、 inuse_objects、 inuse_space

block、 mutex

contentions、 delay

goroutine

goroutine

goroutineleak

goroutineleak

結果は、収集されたプロファイルデータではなく、使用可能なタイプを示します。 データをキャプチャするには、 プロファイルを取得 または CPU 記録ツールを使用します。

プロファイリング済み実行を停止し。

プロファイラーで実行 によって起動されたアクティブなセッションのアプリケーションを、追加の確認ダイアログなしで停止します。 IDE から開始した実行を停止するには、IDE のコントロールを使用します。

パラメーター:

  • session: 必須の文字列。 run_with_profiler によって返されたセッション ID。

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

プロセスが停止するまで最大 30 秒待機します。 成功すると、 Profiled run stopped for session '<id>' を返します。 その時間内にプロセスが停止しない場合は、エラーを返します。

list_profiled_runs

実行中および最近停止されたプロファイラーセッションを一覧表示します。IDE から開始された実行も含まれます。 プロジェクトを閉じるまで、リストにはすべての実行中の実行と、最近停止された 5 件の実行が保持されます。 一覧表示された実行はまだ開始中であるか、プロファイラーの準備ができる前に失敗している可能性があります。

パラメーター:

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

使用可能な場合、 session、 名前、 isRunning 、および exitCode を含む runs を返します。 リストは、開始または停止が最も新しい順に並べられます。

get_profiled_run_output

実行中または保持されている停止済みセッションの、キャプチャされた標準出力と標準エラーを読み取ります。 IDE システムメッセージは除外されます。 各実行は最大 1,000,000 文字を保持します。バッファがいっぱいになると、古い行は破棄されます。 プロジェクトを閉じると、出力はクリアされます。

パラメーター:

  • session: 必須の文字列。 run_with_profiler または list_profiled_runs からのセッション ID。

  • startLine: オプションの整数。 0 ベースの行インデックス。 保持されている最も古い行がデフォルトになります。 使用可能な範囲外のインデックスではエラーが返されます。

  • maxLines: 1 から 1000 までの整数。 デフォルトは 200 です。

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

使用可能な場合、 output、 startLine、 endLine、 availableStartLine、 availableEndLine、 isRunning 、および exitCode を返します。 終了インデックスは排他的です。 読み取りを続行するには、 endLine を次の startLine として渡します。 最後の行が不完全な場合は、その行のインデックスを再度読み取って、追加されたテキストを取得します。

take_profile

実行中のセッションからプロファイルをキャプチャし、PPROF ファイルとして保存します。

パラメーター:

  • session: 必須の文字列。 run_with_profiler または list_profiled_runs からのセッション ID。

  • kind: 必須の文字列。 使用可能なプロファイル名。たとえば、 cpu、 heap 、または heap_gc です。 プロファイル名については プロファイラーで実行 を参照してください。

  • duration: 1 から 300 までの整数、秒単位。 cpu では必須です。 他のすべてのプロファイル種類では省略します。

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

保存済みファイルへの session、 kind、 path と、プロファイルのデフォルトサンプルタイプについて プロファイル概要 で説明されている summary を返します。 サマリーを作成できない場合、 summaryError が理由を説明します。 プロファイルは path に保存されたままになります。

たとえば、 {"session":"s1","kind":"cpu","duration":30} は 30 秒の CPU プロファイルを記録します。 時間指定の CPU キャプチャをキャンセルすると、プロファイルを保存せずにその記録がキャンセルされます。

start_cpu_recording

実行中のセッションの CPU 記録を開始します。 事前に期間を指定せずにワークロードを記録するには、これを CPU 記録を停止 と一緒に使用します。

パラメーター:

  • session: 必須の文字列。 run_with_profiler または list_profiled_runs からのセッション ID。

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

CPU recording started for session '<id>' を返します。

stop_cpu_recording

セッションの現在の CPU 記録を停止し、プロファイルを保存します。 アプリケーションは実行を続けます。 記録は IDE または MCP 経由で開始されている可能性があります。 アクティブな CPU 記録がない場合はエラーを返します。

パラメーター:

  • session: 必須の文字列。 アクティブな CPU 記録を持つ実行中のセッション ID。

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

保存済みファイルへの session、 kind、 path と、プロファイルのデフォルトサンプルタイプについて プロファイル概要 で説明されている summary を返します。 サマリーを作成できない場合、 summaryError が理由を説明します。 プロファイルは path に保存されたままになります。

list_profiles

最近の履歴、開いているタブ、または実行中のセッションから保存済みプロファイルを一覧表示します。

パラメーター:

  • scope: recent (デフォルト)、 open 、または session。 recent スコープは、最大 20 件のエントリを保持する 最近使用したプロファイル 履歴を一覧表示します。 open スコープは、 Go の最適化 ツールウィンドウ内のプロファイルタブを、選択されたタブを先頭にして一覧表示します。 session スコープは、実行中のセッションでキャプチャされたプロファイルを一覧表示します。 最近のプロファイルとセッションプロファイルは、新しい順に一覧表示されます。

  • session: scope が session の場合に必要な文字列。 他のスコープでは省略します。 停止済みセッションはこのスコープではサポートされていません。

  • limit: 1 から 200 までの整数。 デフォルトは 5 です。

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

scope と profiles を返します。 各エントリには、 path 、判明している場合は kind 、および open スコープ用の selected が含まれます。

profile_summary

保存済みプロファイルについて、合計、CPU 使用量、およびコストが最も高い最大 5 つの関数を要約します。 take_profile と stop_cpu_recording は、このサマリーをすでに返します。 このツールを使用して別のファイルまたはサンプルタイプを解析するか、失敗したサマリーを再試行します。

パラメーター:

  • profile: 必須の文字列。 PPROF ファイルへのパス。たとえば、 take_profile、 stop_cpu_recording 、または list_profiles によって返されたパスです。

  • sampleType: オプションの文字列。たとえば、 cpu または inuse_space です。 プロファイルで宣言されたデフォルトのサンプルタイプがデフォルトになります。有効なデフォルトが宣言されていない場合は、最後のサンプルタイプがデフォルトになります。

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

各サンプルは、コールスタック内で最も深いプロジェクト関数にカウントされます。 プロジェクト関数が見つからない場合は、最も深い非 SDK の Go 関数にカウントされます。どちらも見つからない場合は、リーフ (最内) 関数にカウントされます。 最初の 2 つの選択肢では、生成されたコードが除外されます。

プロジェクト関数のコストにはライブラリ呼び出しとランタイム呼び出しが含まれますが、他のプロジェクト関数への呼び出しはそれらの関数にカウントされます。 他のプロジェクト関数への呼び出しを含めるには、 プロファイル上位フレーム を sortBy=cumulative と一緒に使用します。

すべてのサンプルタイプについて、 sampleType、 total 、および unit を含む totals を返します。 プロファイルに期間が記録されている場合、結果には duration が含まれます。 期間を持つ CPU プロファイルの場合、 cpuPercent は経過時間に対する CPU 時間の割合を示します。 100 を超える値は、複数の CPU コアでの処理を示します。

hottest リストには最大 5 つの関数が含まれ、絶対コストが大きい順に並べられます。 shownPercent は、プロファイル全体に対する純コストの割合の大きさです。 各関数には以下が含まれます:

  • 関数 と file: 関数名と記録されたソースパス。

  • cost と costPercent: 割り当てられたコストと、プロファイル全体に対するその割合。

  • selfPercent: 関数のコストのうち、その関数自身のコードで費やされた割合。

  • callees: 直接呼び出された最大 3 つの関数。絶対コスト順に並べられます。 それぞれには 関数 名と、丸め前の親関数のコストの少なくとも 5% にあたる percent があります。 親に割り当てられたサンプルのみがカウントされます。

  • lines: 絶対コストが最も高い最大 3 行。それぞれに 1 ベースの line 番号、 cost 、および使用可能な場合は source テキストが含まれます。 プロファイルに行情報がない場合、リストは空です。

  • path と pathPercent: 最もコストの高い呼び出しパス。最大 6 つの呼び出し元と、その関数のコストに占める割合を含みます。 パスでは プロファイル呼び出しパス 表記法を使用します。 割合が低い場合、コストが複数のパスに分散していることを意味します。

比較プロファイルでは、符号が逆のコストが互いに相殺される可能性があるため、 selfPercent 、呼び出し先の割合、および pathPercent が 100 を超える場合があります。 共有結果の規則については、 プロファイル解析結果を読む を参照してください。

profile_top_frames

go tool pprof -top のように、保存済みプロファイル内の関数をランク付けします。 self 値は関数自体での処理を測定します。 cumulative には、その関数が呼び出す関数も含まれます。 関数の累積値が高く自己値が低い場合は、呼び出している関数を調べるために root を使用します。

パラメーター:

  • profile: 必須の文字列。 PPROF ファイルへのパス。たとえば、 take_profile、 stop_cpu_recording 、または list_profiles によって返されたパスです。

  • root: 任意の空でない文字列。 大文字と小文字を区別しない関数名の部分文字列。 結果を一致する関数の下位にあるフレームに制限します。 一致するものがない場合はエラーを返します。

  • sampleType: オプションの文字列。たとえば、 cpu または inuse_space です。 プロファイルで宣言されたデフォルトのサンプルタイプがデフォルトになります。有効なデフォルトが宣言されていない場合は、最後のサンプルタイプがデフォルトになります。

  • sortBy: self (デフォルト) または cumulative。 最大の絶対値から順に並べ替えます。

  • limit: 1 から 200 までの整数。 デフォルトは 10 です。

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

関数名、ソースパス、開始行、自己値と累積値、およびその割合を含む frames を返します。 結果には、使用可能な sampleTypes 、制限前の totalFrames 、返されたフレームの shownPercent が含まれます。 root を指定すると、 matchedRoots、 scopedTotal、 scopedPercent も報告されます。フレームの割合には、そのスコープ内合計が使用されます。

プロファイルに期間が記録されている場合、結果には duration が含まれます。 期間がある CPU プロファイルでは、 cpuPercent は CPU 時間を経過時間に対する割合として示します。 100 を超える値は、複数の CPU コアでの処理を示します。 共有結果の規則については、 プロファイル解析結果を読む を参照してください。

profile_call_paths

一致する関数の呼び出し元を見つけます。 関数のコストが高く、その原因となる呼び出し元を見つける必要がある場合は、 profile_top_frames の後に使用します。 各パスはスタックルートから最初に一致した関数で終了するため、ネストされた一致は外側の一致の下にカウントされます。

パラメーター:

  • profile: 必須の文字列。 PPROF ファイルへのパス。たとえば、 take_profile、 stop_cpu_recording 、または list_profiles によって返されたパスです。

  • target: 必須の空でない文字列。 大文字と小文字を区別しない関数名の部分文字列。 一致するものがない場合はエラーを返します。

  • sampleType: オプションの文字列。たとえば、 cpu または inuse_space です。 プロファイルで宣言されたデフォルトのサンプルタイプがデフォルトになります。有効なデフォルトが宣言されていない場合は、最後のサンプルタイプがデフォルトになります。

  • depth: 1 から 64 までの整数。 ターゲットより上に保持する呼び出し元の最大数。 デフォルトは 12 です。 再帰関数は 1 つの呼び出し元としてカウントされます。 より長いパスでは、スタックルートから呼び出し元が削除され、 … で始まります。

  • limit: 1 から 50 までの整数。 デフォルトは 5 です。

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

最大の絶対累積値の順に並べた paths と matchedTargets を返します。 各パスには、 > で区切られた関数名、その累積値、および targetTotal に対する割合が含まれます。 結果には、制限前の targetPercent、 shownPercent、 totalPaths も含まれます。

繰り返し呼び出しは結合されます: ×3 は 3 回の出現を示し、 ×3-19 は結合されたパス全体の範囲を示します。 indirect サフィックスは、省略された関数を通るループを示します。 それらを調べるには、 profile_top_frames を root と併用します。 共有結果の規則については、 プロファイル解析結果を読む を参照してください。

profile_source_lines

一致する関数内のソース行を、 go tool pprof -list のように累積コストで順位付けします。 関数内の高コストな行を特定するには、 profile_top_frames の後に使用します。 パスと行番号は、プロファイルされたビルドを参照します。現在のソースファイルとは異なる場合があります。

パラメーター:

  • profile: 必須の文字列。 PPROF ファイルへのパス。たとえば、 take_profile、 stop_cpu_recording 、または list_profiles によって返されたパスです。

  • 関数: 必須の空でない文字列。 大文字と小文字を区別しない関数名の部分文字列。 一致するすべての関数を結合します。 一致するものがない場合、またはプロファイルに一致する関数と選択したサンプルタイプの行情報やサンプルがない場合は、エラーを返します。

  • sampleType: オプションの文字列。たとえば、 cpu または inuse_space です。 プロファイルで宣言されたデフォルトのサンプルタイプがデフォルトになります。有効なデフォルトが宣言されていない場合は、最後のサンプルタイプがデフォルトになります。

  • limit: 1 から 200 までの整数。 一致するすべての関数にわたる行の最大数。 デフォルトは 20 です。

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

関数名、ソースパス、および lines を含む 関数 を返します。 各行には、1 から始まる行番号、 self、 cumulative 、および利用可能な場合は source テキストが含まれます。 ツールは、関数とファイルでグループ化する前に、絶対累積値が最大の行を選択します。 totalLines は制限前の行をカウントします。 共有結果の規則については、 プロファイル解析結果を読む を参照してください。

プロファイル解析結果を読む

分析ツールは保存された PPROF ファイルを読み取り、実行中のセッションは必要ありません。 結果には、選択した sampleType 、完全なプロファイルの total 、および値に使用される unit が含まれます: 時間の場合は ms 、メモリの場合は MB (1 MB = 1,048,576 バイト)、またはその他の測定の場合はプロファイルの元の単位です。 値は小数点以下 2 桁に丸められます。

profile_summary と profile_source_lines では、 source にインデントを含み改行を含まない現在保存されている行が含まれます。 このテキストは、プロファイルされたビルドと異なる場合があります。 ソースを使用できない場合、またはファイルの一致が曖昧な場合、このフィールドは存在しません。 空の文字列は空行を表します。

ジェネリック型引数は [...] として表示され、分析では同じジェネリック関数のインスタンス化が結合されます。 関数名クエリでは、同じ短縮形式が使用されます。 たとえば、 Sum[go.shape.int] は Sum[...] と一致します。

比較プロファイルの場合、結果には diff=true が含まれます。 正の値は測定値が増加したことを意味し、負の値は減少したことを意味します。 割合には絶対値が使用されるため、増加と減少を区別するには符号付きの値を使用します。

インスペクションジェネレーター 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: プロジェクトパス。 曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。 現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。

パッチツール

apply_patch

Codex apply_patch フォーマットまたは unified Git diff フォーマットでパッチを適用します。 Add、Delete、Update 操作をサポートし、更新には任意の移動先パスを指定できます。 パスはプロジェクトディレクトリ内に収める必要があります。

パラメーター:

  • input: apply_patch フォーマットまたは unified Git diff フォーマットのパッチテキスト。

  • patch: {patch: ...} を送信するクライアントとの互換性のための input のエイリアス。

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

リードツール

ファイルの読み取り

プロジェクトディレクトリや任意のプロジェクト依存先、その他のプロジェクトソースルートからファイルを読み込みます。 Jar/Jrt ファイル内のソースを読み込んだり、Jar/Jrt ファイルやディスク上にある Java クラスファイルをデコンパイルできます。 行番号付き(1始まり)のテキストとして返します。

モード:

  • slice

  • lines

  • line_columns

  • offsets

  • indentation

モードの詳細:

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

リファクタリングツール

リネームリファクタリング

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

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

リネームツールは、リネーム操作が成功した場合は成功メッセージを、ファイルやシンボルが見つからない場合やリネーム操作が失敗した場合はエラーメッセージを返します。

パラメーター:

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

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

  • newName: シンボルの新しい命名。

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

スキル検索ツール

明示的なモードで統合プロジェクト検索を実行します。

  • file: glob パス検索。

  • text: リテラルコンテンツ検索。

  • regex: 正規表現コンテンツ検索。

  • symbol: セマンティックシンボル検索。

シンボル検索はデフォルトでプロジェクトを対象にします。 適切なシンボルが見つからない場合は、 include_external=true を使用してもう一度試し、SDK とライブラリのシンボルも検索します。

パラメーター:

  • mode (必須): 検索モード: file、 text、 regex 、または symbol。

  • q (必須): 検索クエリ。 mode=file の場合、これは glob パターンです。

  • paths: 任意のプロジェクト相対 glob フィルター。 !-excludes と末尾の / をサポートします。

  • include_external: mode=symbol に SDK とライブラリのシンボルを含めるかどうか。 デフォルトでは無効です。適切なものが見つからない場合は、 include_external=true を使用してもう一度試してください。

  • includeExcluded: 除外または無視されたファイルを含めるかどうか。 mode=file でのみサポートされます。

  • limit: 返す結果の最大数。

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

ターミナルツール

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

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

重要な機能と制限事項:

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

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

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

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

可能な応答を返します:

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

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

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

パラメーター:

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

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

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

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

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

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

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

ユニバーサルツール

ツールの実行

コマンドライン文字列から特定の IDE MCP ツールを動的に呼び出すユニバーサルツールエグゼキューターです。

パラメーター:

  • command (必須): ツール名と引数を含むコマンドライン文字列。

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

VCS ツール

リポジトリーの取得

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

パラメーター:

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

Git ステータス

現在のプロジェクト内の単一または複数のリポジトリの Git ステータスを取得します。 porcelain スタイルのインデックス、ワークツリーステータスコード、サマリーカウンターを返します。 デフォルトでは、すべての Git リポジトリが返されます。

パラメーター:

  • repositoryPathRelativeToProject: 単一の包含リポジトリを選択するために使用される、プロジェクトルートからの相対パス (任意)。

  • includeUntracked: 追跡されていないファイルを含めるかどうか。

  • includeIgnored: 無視されたファイルを含めるかどうか。

  • limit: リポジトリごとに返されるエントリの最大数。

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

2026 年 11 月 6 日