モデルコンテキストプロトコル (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 サーバーに接続するには:
に移動します。
または、チャットに「
/」と入力して「コマンドの追加」オプションを選択すると、MCP 設定画面を開くことができます。
モデルコンテキストプロトコル (MCP) 設定ページで、
追加をクリックして、新しい MCP サーバー構成を追加します。
新しい MCP サーバーダイアログで、MCP サーバーへの接続方法を選択し、JSON 構成を指定します。

JSON 構成 – MCP サーバーの起動に必要なパラメーターを含む JSON スニペットを指定します。設定は以下の形式に従う必要があります。
{ "mcpServers": { "yourServerName": { "command": "path-or-command-to-start-server", "args": [ "optional-arguments-passed-to-server" ] } } }作業ディレクトリ – サーバーを起動するフォルダーへのパスを指定します。これにより、引数で絶対パスではなく相対パスを使用できるようになります。
サーバーレベル – 構成されたサーバーをグローバルに使用可能にするか、現在のプロジェクト内でのみ使用可能にするかを指定します。

JSON 構成 – MCP サーバーの起動に必要なパラメーターを含む JSON スニペットを指定します。設定は以下の形式に従う必要があります。
{ "mcpServers": { "yourServerName": { "url": "https://example.com/mcp" } } }サーバーレベル – 構成されたサーバーをグローバルに使用可能にするか、現在のプロジェクト内でのみ使用可能にするかを指定します。
OK をクリックします。MCP サーバーがリストに表示されます。
適用をクリックします。これにより、設定されたサーバーが起動し、接続が確立されます。接続の状態は状況列で確認できます。
これにより、MCP サーバーが提供するツールが AI Assistant で利用できるようになります。リクエストを処理する際に自動的に起動することも、チャットで適切な / コマンドを入力して手動で起動することもできます。

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

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

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

適用をクリックします。
MCP サーバーに再接続する
MCP サーバーに再接続するには:
再接続するサーバーを選択します。
再接続ボタンをクリックします。
MCP サーバーログを取得する
デバッグのために、生成された MCP サーバーのログを確認することをお勧めします。手順は次のとおりです。
メインメニューでに移動し、Windows の場合はエクスプローラーでログを表示、macOS の場合は Finder でログを表示を選択します。ログディレクトリが開きます。
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" ] } } }commandはnpxに設定されており、パッケージをグローバルにインストールせずに 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" ] } } }commandはdockerに設定され、指定された 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 プラグインに依存しています。関連機能が利用できない場合は、プラグインが無効になっていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、を選択します。
インストール済みタブを開き、MCP サーバープラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
外部クライアントのセットアップ
Claude Code、Claude Desktop、Cursor、VS Code、Codex、Windsurf などの外部クライアントの場合、構成は自動的に実行できます。
メインメニューで、に移動します。
MCP サーバーを有効にするをクリックします。
クライアントの自動構成セクションで、MCP サーバーで使用するために設定したい各クライアントの自動構成をクリックします。これにより、JSON 設定が自動的に更新されます。

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

コピーした構成をクライアントの設定または構成ファイルに貼り付けます。
設定を有効にするにはクライアントを再起動してください。
確認なしでアクションを実行する
MCP サーバーを使用すると、接続された外部クライアントは、毎回ユーザーに確認を求めることなく、ターミナルコマンドを実行したり、IDE で構成を実行したりできます。
このモードを有効にするには:
メインメニューで、に移動します。
コマンド実行セクションで、確認なしでシェルコマンドまたは実行構成を実行する (勇敢なモード) 設定を有効にします。
適用をクリックします。
サポートされているツール
以下は、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/**/*.javasubDirectoryRelativePath(オプション): 検索するプロジェクトに相対するサブディレクトリ。addExcluded: 除外 / 無視されたファイルを検索結果に追加するかどうか。ファイルはユーザーまたは無視ルールによって除外できます。fileCountLimit: 返されるファイルの最大数。timeout: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- find_files_by_name_keyword
プロジェクト内の、指定したキーワード(大文字と小文字を区別)を含むファイル名を持つすべてのファイルを検索します。ファイル名の一部がわかっている場合は、このツールを使用してファイルを検索できます。
パラメーター:
nameKeyword: ファイル名で検索する部分文字列。fileCountLimit: 返されるファイルの最大数。timeout: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- get_all_open_file_paths
アクティブなエディターまたは他の開いているエディターで編集用に開かれたすべてのファイルのパスを、プロジェクトルートからの相対パスで返します。このツールを使用すると、現在開いているエディターを調べることができます。
パラメーター:
projectPath: プロジェクトパス。曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- list_directory_tree
指定されたディレクトリのツリー表示を、
treeユーティリティに似た疑似グラフィック形式で提供します。このツールは、ディレクトリまたはプロジェクト全体の内容を調べるのに使用できます。ディレクトリ一覧の表示には、lsやdirなどのコマンドラインユーティリティよりも、このツールを推奨します。パラメーター:
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: 検索するファイルマスク。指定しない場合は、すべてのファイルを検索します。例:*.javacaseSensitive: 検索で大文字と小文字を区別するかどうか。maxUsageCount: 返されるエントリの最大数。timeout: タイムアウト(ミリ秒)。projectPath: プロジェクトパス。曖昧な呼び出しを減らすため、この値がわかっている場合は必ずこの値を指定してください。現在の作業ディレクトリのみがわかっている場合は、それをプロジェクトパスとして使用できます。
- search_in_files_by_text
IntelliJ の検索エンジンを使用して、プロジェクト内のすべてのファイル内のテキスト部分文字列を検索します。コマンドラインツールでファイルを読み取るよりも、このツールの方がはるかに高速なので、推奨されます。
結果内の出現箇所は、
||文字で囲まれてハイライトされます。例:some text ||substring|| textパラメーター:
searchText: 検索するテキストの部分文字列。directoryToSearch: プロジェクトルートからの相対的な検索ディレクトリ。指定しない場合は、プロジェクト全体を検索します。fileMask: 検索するファイルマスク。指定しない場合は、すべてのファイルを検索します。例:*.javacaseSensitive: 検索で大文字と小文字を区別するかどうか。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です。
関連ページ:
サードパーティとローカルのモデルを使用する
デフォルトでは、AI Assistant は JetBrains AI サービスを介して、さまざまな AI プロバイダーのクラウドベースのモデルセットへのアクセスを提供します。これらのモデルは AI Assistant の機能の基盤となり、AI Chat で選択してコードベースに関する会話を行うことができます。さらに、AI Assistant を設定して、ローカルにホストされているモデルやサードパーティが提供するモデルを使用することもできます。サポートされているプロバイダーは次のとおりです。Ant...
プロジェクトルールを構成する
プロジェクト固有のルールは、AI Assistant がコード、推奨ツール、コーディング規約をより適切に理解できます。これらのルールを定義することで、AI の応答の関連性を高め、提案がプロジェクトの設定と一致するようにすることができます。デフォルトでは、プロジェクトルールは各チャットセッションに自動的に追加されるため、AI Assistant は提供されたガイドラインに従います。この動作はカスタマイズ可能で、たとえば、特定のファイルにのみルールを適用したり、手動で呼び出したり、モデルにルールを適...