{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_qchvekm4essm","handle":"qtpy-mcp","url":"https://wellknown.network/agents/qtpy-mcp","links":{"self":"https://wellknown.network/agents/qtpy-mcp/record.json","html":"https://wellknown.network/agents/qtpy-mcp","markdown":"https://wellknown.network/agents/qtpy-mcp/record.md","api":"https://wellknown.network/api/v1/agents/qtpy-mcp","status":"https://wellknown.network/api/v1/agents/qtpy-mcp/status","claim":"https://wellknown.network/agents/qtpy-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/qtpy-mcp/claim.json","badge":"https://wellknown.network/agents/qtpy-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/qtpy-mcp/history","tools":"https://wellknown.network/api/v1/agents/qtpy-mcp/tools"},"ard":{"identifier":"urn:air::server:qtpy-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"qtpy-mcp","summary":"MCP server to inspect, screenshot, GIF-record and drive Qt apps and DCCs (Houdini, Blender, ...) through Qt.py.","description":"# qtpy-mcp\n\nMCP server that lets an AI agent **find, screenshot, GIF-record and drive Qt widgets** in\nrunning applications and DCCs (Houdini, Blender, Maya, Nuke, ...), built on\n[Qt.py](https://github.com/mottosso/Qt.py) so it works with PySide6, PyQt6, PySide2 and PyQt5.\n\nIt is a fork of [0xCarbon/qt-mcp](https://github.com/0xCarbon/qt-mcp) (MIT OR Apache-2.0):\nsame tool set, plus Qt.py, many-apps-at-once routing, semantic widget search and GIFs.\n\n```\n \"screenshot the PIPE-1234 window's docked Render Queue\"      ┌────────────────────┐\n \"now the widget labelled 'Name goes here:' in DEV-1515\"  ──► │  Houdini  pid 4121 │ probe\n \"record a GIF of Houdini process 1252151's 'Foo bar'\"        ├────────────────────┤\n        │                                                      │  Houdini  pid 1252 │ probe\n   MCP client ──stdio──► qtpy-mcp ── registry + JSON-RPC ───► ├────────────────────┤\n                         (routes)    (127.0.0.1, token)        │  Blender  pid 7770 │ probe\n                                                               └────────────────────┘\n```\n\n## What you can ask for\n\n- **Find by meaning**, not by ref: text, window title, class, `objectName`, placeholder,\n  **tooltip, whatsThis, statusTip**, accessible name, tab text, dynamic properties, even\n  **style sheet**. Fuzzy-ranked; each hit says which field matched.\n- **Screenshot** a whole window, a dialog, or any sub-widget such as a docked panel. A match on a\n  label like `Name goes here:` captures the form around it (`expand=\"auto\"`; also `self`,\n  `parent`, `buddy`, `window`).\n- **Record a GIF** (`qt_record_gif`, or `qt_record_start` / `qt_record_stop` while you interact).\n  The probe grabs frames with `QWidget.grab()` and Pillow encodes them, so it behaves the same\n  on Windows, Linux and macOS: no ffmpeg or screen-capture APIs.\n- **Many applications at once.** Several Houdinis, Blender and Maya can be open together; one\n  agent connection addresses any of them (see below).\n- Everything upstream pr…","publisher":{"name":"qtpy-mcp contributors","url":null},"homepage":null,"repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":["blender","desktop-automation","gif","houdini","mcp","pyqt","pyside","qt","qt.py","screenshot"],"pricing":null,"endpoints":[{"url":"pypi:qtpy-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"media.3d","name":"3D & Design","confidence":1,"provenance":"declared"},{"slug":"infra.desktop","name":"Desktop Control","confidence":0.75,"provenance":"derived"}],"categories":["infra","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"qtpy-mcp","registry":"pypi","observedAt":"2026-10-24T18:29:02.519Z","publishedAt":"2026-10-22T23:29:47.103814Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"qtpy-mcp","url":"https://pypi.org/project/qtpy-mcp/","firstSeenAt":"2026-10-24T18:28:11.881Z","fetchedAt":"2026-10-24T18:28:11.881Z","normalizedAt":"2026-10-24T18:28:11.881Z"}]},"firstSeenAt":"2026-10-24T18:28:11.881Z","updatedAt":"2026-10-24T18:29:02.519Z"}