本页面

使用 MCP 客户端

Qt Creator 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

MCP 服务器状态对话框

如果服务器未启动,请查看General Messages 是否显示端口正在使用的警告。

确保没有其他进程绑定到该端口。例如,在 Linux 上,在Terminal 中输入lsof -i :3001

要使用3001 以外的其他端口,请设置MCP_SERVER_PORT 环境变量,以便在Qt Creator 启动前配置端口。

设置简单的 MCP 客户端

您可以使用任何可以发送 POST 请求并读取 SSE 响应的 HTTP 客户端。本节介绍如何使用pip 安装一个简单的 MCP 客户端以及如何配置它。

安装和配置简单 MCP 客户端:

  1. 访问Terminal ,然后输入
    pip install simple-mcp-client
  2. 更改simple_mcp_client\config.json 配置文件,使其指向qtcreator MCP 服务器:
    "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 工具列表:

  1. 访问Terminal ,然后输入:
    python -m simple_mcp_client.main
  2. Mini MCP Client Network Hub 中,输入
    connect qtcreator
  3. 要查看工具列表,请输入
    tools qtcreator

    MCP 客户端中的 Qt Creator 工具

  4. 要运行工具,请输入
    execute qtcreator <tool-name>

    例如

    execute qtcreator list_sessions

如果 SSE 连接失败,请确保 MCP 客户端支持跨源资源共享 (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

plainText:字符串

"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 返回问题字符串数组。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"
get_current_session获取活动会话名称返回当前加载的会话名称。Empty"session": "default"

除静态工具外,插件还注册了动态工具,用于触发最常见的Qt Creator 操作:

  • run_project 触发Run 操作。
  • build 触发Build 操作。
  • clean_project 触发Clean 操作。
  • debug 触发Debug 操作。

动态工具接收一个空的params 对象,并返回{ "success": true|false }

添加工具

MCP 服务器扩展使用Core::ActionManager 创建名称如表所示的工具。该实现通过McpServer::runOnGuiThread() 在用户界面线程上调用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.