MCPクライアントを使う
Qt Creator はモデルコンテキストプロトコル(MCP)をサポートしており、AIアシスタントがデバッグ、ビルド、プロジェクト管理のためにMCPを制御することができます。
MCPクライアントを使用するには、MCPクライアントをインストールし、Qt Creator MCPサーバエクステンションを有効にしてMCPサーバを起動します。
MCPサーバーステータスの表示
Qt Creator は、Qt Creator MCPサーバー拡張機能を有効にすると、MCPサーバーを起動します。サーバは127.0.0.1 で実行され、ポート3001 で接続を受け付けます。セキュリティ上の理由から、リモート・コンピュータで実行することはできません。
MCPサーバーのステータスを表示するには、Tools >MCP Server >About MCP Server にアクセスしてください。

サーバーが起動しない場合は、General Messages にポートが使用中である旨の警告が表示されているかどうかを確認してください。
他のプロセスがそのポートにバインドされていないことを確認します。例えば、Linuxの場合、Terminal にlsof -i :3001 と入力します。
3001 以外のポートを使用するには、Qt Creator が起動する前に、MCP_SERVER_PORT 環境変数を設定してポートを構成します。
単純なMCPクライアントのセットアップ
POST要求を送信し、SSE応答を読み取ることができる任意のHTTPクライアントを使用できます。このセクションでは、pip を使用して、単純な MCP クライアントをインストールする方法と、それを構成する方法について説明します。
単純な MCP クライアントをインストールして構成するには、以下の手順に従います:
- Terminal にアクセスし、次のように入力します:
pip install simple-mcp-client
qtcreatorMCPサーバを指すように、simple_mcp_client\config.json構成ファイルを変更します:"mcpServers": { "qtcreator": { "enable": false, "type": "sse", "url": "http://127.0.0.1:3001/sse", "command": null, "args": [], "env": {} } }
config.json ファイルは以下の場所にあります:
- Linuxの場合:
~/.config/simple_mcp_client/ - Windowsの場合:
C:\Users\<username>\AppData\Roaming\simple_mcp_client
Qt Creator ツールの実行
MCP クライアントからQt Creator ツールを実行するには、クライアントを起動し、Qt Creator MCP サーバに接続します。
MCPクライアントを起動し、Qt Creator ツールのリストを表示します:
- Terminal にアクセスし、次のように入力します:
python -m simple_mcp_client.main
- Mini MCP Client Network Hub に次のように入力します:
connect qtcreator
- ツールのリストを表示するには、次のように入力します:
tools qtcreator

- ツールを実行するには
execute qtcreator <tool-name>
例えば
execute qtcreator list_sessions
SSE接続が失敗する場合は、MCPクライアントがCORS(cross-origin resource sharing)をサポートしていることを確認してください。CORSはHTTPヘッダーに基づくメカニズムで、サーバーが他のドメイン、スキーム、 ポートのリソースをロードすることを許可します。
Windowsの場合、ファイアウォールがlocalhost へのインバウンド接続をブロックしている可能性があります。Qt Creator の実行ファイルがローカル・トラフィックを受け入れられることを確認してください。
Qt Creator が終了してもデバッグ・セッションが停止しない場合は、Debug モードでデバッグを手動で停止するか、MCP_QUIT_TIMEOUT 環境変数を 60 秒に設定してタイムアウトを増やすことができます。
ツールの概要
以下の表は、サーバーが登録するQt Creator ツールをまとめたものである。各ツールはJSON-RPCメソッドで、名前、人間が読めるタイトル、説明、入出力JSONスキーマ、およびツールが読み取り専用かどうかを示すフラグを持つ。
| 名前 | タイトル | 説明 | パラメータ | 結果 | 読み取り専用 |
|---|---|---|---|---|---|
get_build_status | 現在のビルド状況を取得 | 現在のビルド・アクティビティの短いテキスト説明を返します。 | 空のオブジェクト:{} | "result": "string" | はい |
open_file | ファイルを開くQt Creator | 与えられたファイル(URI)をエディタで開きます。ファイルは自動的に保存されません。 | path:URI文字列または絶対ファイルパス | "success": true|false | いいえ |
file_plain_text | ファイルをプレーンテキストとして読み込む | ファイルの生のテキストを返します。 | path:URI | "success": "text": "<plain_text>" | はい |
set_file_plain_text | ファイルへのプレーンテキストの書き込み | 指定されたテキストでファイルを上書きします。ファイルがエディタで開かれている場合、変更は自動的に保存されない。 | path:URI
| "success": true|false | いいえ |
save_file | ファイルの保存 | エディター文書が変更された場合に保存する。 | path:URI | "success": true|false | いいえ |
close_file | ファイルを閉じる | ドキュメントが開かれている場合、それを閉じます。 | path:URI | "success": true|false | いいえ |
list_projects | 利用可能なプロジェクトをすべてリストアップ | プロジェクトの表示名の配列を返します。 | 空 | "projects": ["MyApp", "LibA", ...] | はい |
list_build_configs | 使用可能なビルド設定の一覧 | アクティブなプロジェクトのビルド設定名の配列を返します。 | 空 | "buildConfigs": ["Debug", "Release"] | はい |
switch_build_config | 特定のビルド構成に切り替える | 現在のプロジェクトの指定したビルド設定をアクティブにします。 | name構成名を文字列で返します。 | "success": true|false | いいえ |
list_open_files | 現在開いているファイルのリスト | ファイルの絶対パスの配列を返します。 | 空 | "openFiles": ["/path/to/file1.cpp", ...] | はい |
list_sessions | 利用可能なQt Creator セッションの一覧 | セッション名の配列を返します。 | 空 | "sessions": ["default", "work", "debug"] | はい |
load_session | 特定のセッションをロード | 指定したセッションに非同期で切り替わる。 | sessionNameセッション名を文字列で返す | "success": true|false | いいえ |
save_session | 現在のセッションの保存 | 現在のセッションをディスクに保存します。 | Empty | "success": true|false | いいえ |
list_issues | 現在の問題(警告とエラー)のリスト | Issues からissue文字列の配列を返します。 | Empty | "issues": ["error: <string>", "warning: <string>"] | はい |
quit | 終了Qt Creator | 優雅なシャットダウン(デバッグを停止し、セッションを保存し、QApplication::quit() を呼び出す)を実行する。 | Empty | "success": true|false | いいえ |
get_current_project | 現在アクティブなプロジェクトの取得 | 起動中のプロジェクトの表示名を返します。 | 空 | "project": "MyApp" | はい |
get_current_build_config | アクティブなビルド構成を取得 | 現在選択されているビルド構成の名前を返します。 | 空 | "buildConfig": "Debug" | Yes |
get_current_session | アクティブなセッション名の取得 | 現在ロードされているセッション名を返します。 | Empty | "session": "default" | はい |
静的ツールに加えて、プラグインは最も一般的なQt Creator アクションをトリガーするための動的ツールを登録します:
run_projectRun アクションをトリガーします。buildBuild アクションを起動します。clean_projectClean アクションを起動します。debugDebug アクションをトリガーします。
動的ツールは空のparams オブジェクトを受け取り、{ "success": true|false } を返します。
ツールの追加
MCP Serverエクステンションは、Core::ActionManager 、表に示す名前のツールを作成します。この実装では、McpServer::runOnGuiThread() を介して、UIスレッドでQAction::trigger() を呼び出します。
したがって、McpServer::initializeToolsForCommands() に小さなラッパーを追加することで、ActionManager を介して公開されるその他のコマンドをMCPツールに変換できます。
拡張機能の有効化も参照してください 。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.