AI Assistant2026.1 ヘルプ

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

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

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

AI Assistant は、MCP サーバーに接続するための次のトランスポートメカニズム(英語)をサポートしています。

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

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

MCP サーバーの入手先

MCP 対応サーバーは、ユースケースや設定に応じて多数存在します。まずは、公式 MCP リポジトリ(英語)で提供されているリファレンスサーバーを試してみることをお勧めします。リファレンスサーバーには、サンプル、使用方法、設定の詳細などが記載されています。

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

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

MCP サーバーに接続する

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

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

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

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

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

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

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

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

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

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

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

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

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

List of commands available on the MCP server

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

MCP サーバーへの接続が正常に確立されると、状況列のアイコンをクリックして、利用可能なツールのリストを確認できます。

List of available tools

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

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

Change the MCP server level

MCP サーバーを停止する

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

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

    Stop MCP server
  2. 適用をクリックします。

MCP サーバーに再接続する

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

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

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

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

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

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

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

JSON 設定例

このセクションでは、サーバーのホスティング方法に応じて、AI Assistant を 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 リストには以下が含まれます:

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

    • -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 Assistant は Streamable HTTP トランスポートを使用して HTTP 経由で MCP サーバーに接続します。サーバーはリモートで管理されており、AI Assistant は指定された 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 CodeCodexWindsurf などの外部クライアントの場合、構成は自動的に実行できます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

execute_run_configuration

現在のプロジェクトで特定の実行構成を実行し、指定されたタイムアウトまで完了を待機します。このツールは、get_run_configurations ツールで取得した実行構成を実行する場合に使用します。

終了コード、出力、成功ステータスを含む実行結果を返します。

パラメーター:

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

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

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

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

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

get_run_configurations

現在のプロジェクトの実行構成のリストを返します。実行構成は、ソースからアプリケーション、タスク、テストスイートを実行する方法を定義します。

このツールは、利用可能な場合にはコマンドライン、作業ディレクトリ、環境変数などの追加情報も提供します。

このツールを使用して、現在のプロジェクトで使用可能な実行構成のリストを照会します。

パラメーター:

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

get_file_problems

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

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

パラメーター:

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

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

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

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

get_project_dependencies

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

パラメーター:

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

get_project_modules

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

パラメーター:

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

create_new_file

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

パラメーター:

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

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

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

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

find_files_by_glob

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

パラメーター:

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

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

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

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

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

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

find_files_by_name_keyword

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

パラメーター:

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

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

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

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

get_all_open_file_paths

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

パラメーター:

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

list_directory_tree

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

パラメーター:

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

  • maxDepth : 最大再帰深度。

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

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

open_file_in_editor

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

パラメーター:

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

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

reformat_file

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

パラメーター:

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

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

get_file_text_by_path

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

パラメーター:

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

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

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

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

replace_text_in_file

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

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

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

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

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

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

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

パラメーター:

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

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

  • newText : 置換テキスト。

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

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

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

search_in_files_by_regex

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

結果内の出現箇所は、|| 文字で囲まれてハイライトされます。例: some text ||substring|| text

パラメーター:

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

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

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

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

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

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

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

search_in_files_by_text

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

結果内の出現箇所は、|| 文字で囲まれてハイライトされます。例: some text ||substring|| text

パラメーター:

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

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

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

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

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

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

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

get_symbol_info

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

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

パラメーター:

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

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

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

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

rename_refactoring

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

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

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

パラメーター:

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

  • symbolName : 名前を変更する既存のシンボルの正確な名前(大文字と小文字が区別されます)(例: getUserData)。

  • newName : シンボルの正確な名前(大文字と小文字が区別されます) (例: fetchUserData)。

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

execute_terminal_command

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

重要な機能と制限事項:

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

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

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

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

可能な応答を返します:

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

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

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

パラメーター:

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

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

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

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

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

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

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

get_repositories

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

パラメーター:

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

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

利用可能 : DataGrip とデータベースツールおよび SQL(英語) プラグインを備えた IDE

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

list_database_connections

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

test_database_connection

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

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

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

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

パラメーター:

  • id : 固有の接続 ID。

list_database_schemas

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

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

パラメーター:

  • connectionId : 固有の接続 ID。

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

list_schema_object_kinds

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

パラメーター:

  • connectionId : 固有の接続 ID。

list_schema_objects

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

パラメーター:

  • 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 クエリ。

preview_table_data

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

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

パラメーター:

  • connectionId : 固有の接続 ID。

  • schemaName : スキーマ名。

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

  • tableName : テーブル名。

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

2025 年 12 月 18 日