gammaray-mcp-bridge
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gammaray-mcp-bridgelist all quick items in the current window"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GammaRay MCP Bridge
A MCP server that bridges GammaRay probe introspection data into MCP tools, enabling LLMs to inspect and debug Qt Quick / QML scene graphs, items, geometry, materials, and Qt Widgets.
Architecture
Target Qt/QML App ──TCP──► GammaRay MCP Bridge ──stdio──► LLM / AI Agent
(GammaRay probe (GammaRay client + (opencode,
injected) qtmcp MCP server) ZCode, etc.)The bridge is a GammaRay client: it connects to a probe injected into a target Qt app, reads the same models the GammaRay GUI uses, and translates them into MCP JSON-RPC tool calls over stdio. Supports both QML Quick apps (SceneGraph, QML items) and Qt Widget apps (widget hierarchy, properties, attributes).
Related MCP server: lldb-mcp-server
Prerequisites
Qt 6.8+ (system)
C++20 compiler (GCC 12+, Clang 16+)
GammaRay 3.4.0+ (system package:
gammaray-devon Debian/Deepin)qtmcp (consumed via FetchContent — no manual install)
Python 3.10+ with
pytest(for running the test suite)
Building
1. Install system dependencies
# Debian / Deepin
sudo apt install gammaray-dev gammaray-plugin-quickinspector2. Build the bridge
cd bridge
cmake -S . -B build -G Ninja
cmake --build buildOffline build (using a local qtmcp clone)
If you have a local clone of qtmcp (e.g. at /home/user/Sources/qtmcp),
pass FETCHCONTENT_SOURCE_DIR_QTMcp to skip the network fetch:
cd bridge
cmake -S . -B build -G Ninja \
-DFETCHCONTENT_SOURCE_DIR_QTMcp=/home/user/Sources/qtmcp \
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
cmake --build build3. Run
# Start a probe (inject into a QML app)
gammaray --inject-only --listen tcp://127.0.0.1:11732 \
--injector preload /usr/lib/qt6/bin/qml /path/to/app.qml -platform offscreen
# Or inject into a widget app
gammaray --inject-only --listen tcp://127.0.0.1:11732 \
--injector preload /path/to/widget-app
# Start the bridge (stdio MCP server)
bridge/run.shThe bridge starts in lazy-connect mode. Call connectProbe("127.0.0.1", 11732) from your MCP client once the probe is up.
4. Build a .deb package (optional)
cd bridge/build
cpack -G DEBThe package installs the bridge binary (/usr/bin/gammaray-mcp-bridge),
qtmcp shared libs and plugins, and the run.sh helper script.
System dependencies (gammaray >= 3.4.0, Qt6 libs) are auto-detected.
MCP Tools
Connection management
Tool | Description |
| Connect to a GammaRay probe (defaults: 127.0.0.1:11732) |
| Convenience: connect to 127.0.0.1:11732 |
| Drop connection and forget URL |
| Report connection state |
QML Navigation
Tool | Description |
| List QQuickWindows in the target app |
| Select a window for scene graph introspection |
| Recursive QQuickItem tree with types and flags |
| Recursive QSGNode tree (all node types) |
QML Item inspection
Tool | Description |
| Select a QML item by address, populating its properties model |
| Get all Q_PROPERTY values (x, y, width, height, opacity, visible, z, anchors, text, font, etc.) |
SG Node inspection
Tool | Description |
| Select a SG node, populating geometry/material sub-models |
| Read vertex data of a GeometryNode |
| Read adjacency/drawing mode of a GeometryNode |
| List shader stages for a node's material |
| Get shader source code (async via MaterialExtensionInterface) |
| Get material property name/value pairs |
Rendering visualization
Tool | Description |
| Set render mode (NormalRendering, VisualizeOverdraw, etc.) |
| Toggle continuous rendering |
Widget inspection
Tool | Description |
| Recursive QWidget hierarchy (types, names, visibility) |
| Select a widget, populating its property and attribute models |
| Get all Q_PROPERTY values (geometry, font, palette, window flags, etc.) |
| Get Qt::WidgetAttribute flags (acceptDrops, enabled, etc.) |
Qt Model inspection
Tool | Description |
| List all QAbstractItemModel instances (proxies nested), with row/column counts |
| Select a model, populating its content/headers/selection-models sub-models |
| Read the model's table data (bounded, defaults 50×20) |
| Read horizontal and vertical header labels |
| Read every role name/type/value for one cell |
| List QItemSelectionModel instances attached to the selected model |
Testing
# QML test suite (requires a QML app probe):
./tests/run_tests.sh
# Widget test suite (requires a widget app probe):
./tests/run_widget_tests.sh
# Unit tests only:
./tests/run_tests.sh --no-probeSee tests/README.md for details.
License
GPL-2.0-or-later. The bridge links GammaRay libraries (GPL-2.0-or-later) and uses qtmcp (available under LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only — we comply under GPL-2.0-only).
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent Replay Debugger MCP — record every agent step + deterministic replay. Step-debugger for
Multiple MCP tools, persistent graph memory, token-saving data pointers, and more.
Live browser debugging for AI assistants — DOM, console, network via MCP.
LLM Orchestration MCP Agent
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceBridges VSCode's Language Server Protocol with MCP to give AI assistants instant access to code intelligence, delivering 100-1000x faster responses with 90% fewer tokens than traditional text-based searching. Provides 17 production-ready tools for navigation, refactoring, diagnostics, and code analysis.35-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes LLDB debugging capabilities, enabling AI-assisted interactive debugging of C/C++ applications through 40 specialized tools.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLM-powered code analysis, generation, debugging, and context management through MCP integration with IDEs like Cursor and Claude Desktop.-
- AlicenseAqualityBmaintenanceMCP server bridging Lauterbach TRACE32 debuggers to AI agents for autonomous debugging, providing 47 tools for execution control, breakpoints, memory, registers, variables, and symbol inspection.1009MIT