gammaray-mcp-bridge
Click on "Install 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: gdb and rr Debugging
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.) |
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/linuxdeepin/gammaray-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server