PyNet Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONPATH | No | Path to your src directory |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_active_instancesA | Scans the system for running Autodesk processes with an active PyNet IPC pipe. |
| check_plugin_statusB | Handshake ping to verify the plugin listener is responsive. |
| send_commandB | Direct script execution in the PyNet engine (Target PID, Script Name, Content). |
| send_command_by_pathA | Executes a script file directly by path in the PyNet engine, without sending content inline. |
| get_output_window_statusB | Checks if the output window is currently available/visible. |
| configure_output_windowC | Toggles the visibility of the PyNet log/output window. |
| get_pynet_ui_layoutC | Fetches the full UI structure (ButtonsModules and ScriptButtons). |
| create_pynet_moduleC | Creates a new custom Tab (ButtonsModule) in the Ribbon. |
| delete_pynet_moduleC | Permanently deletes a module and all its contents. |
| get_buttons_dataA | Lists all script buttons for a specific module ID. |
| deploy_script_buttonB | Installs a new ScriptButton into a specific module (Name, Script, Icon, Tooltip). |
| update_script_buttonB | Updates metadata for an existing ScriptButton or moves it to another module. |
| delete_script_buttonB | Permanently removes a ScriptButton from a module by Id. |
| viewer_statusA | Reports whether a PyNet BIM Viewer is open in VS Code (port, package, data dir). |
| viewer_list_clashesA | Reads the loaded package's clashes.json — the data source, NOT the viewer/IFC. Returns each clash with the pnt_id identifiers needed to highlight it. |
| viewer_load_packageB | Loads a .pnt into the open viewer and returns a summary read from clashes.json. |
| viewer_highlight_clashC | Highlights a clash pair in the open viewer by pnt_id (element A red, element B green). |
| viewer_fitA | Fits the camera to all models in the open viewer. |
| viewer_clearA | Clears highlights and ghosting in the open viewer. |
| viewer_selectA | Highlights a set of elements in the open viewer by pnt_id. Pass a list of pnt_ids in |
| viewer_isolateA | Isolates (hides everything except) the given pnt_ids in the open viewer. Note: the command is broadcast, but the current viewer build ignores the 'isolate' action (frontend handler pending). It will take effect once the viewer wires it. |
| viewer_get_stateA | Reads the viewer's last reported state (currently the list of loaded models). |
| viewer_get_propertiesA | Reads element properties (name, model, psets) from the loaded package's properties.json. Pass one or more pnt_ids to get their properties. Called with no pnt_ids, returns a lightweight index (pnt_id → name, model) so you can discover what's available. The data source is the .pnt's properties.json, NOT the viewer or IFC. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Each tool has a clear, distinct purpose. Viewer tools (viewer_select, viewer_highlight_clash, viewer_isolate) are differentiated by their specific actions. Module/script tools are well-separated. The only slight overlap is between send_command and send_command_by_path, but their descriptions clarify the difference (inline content vs file path).
All tools follow a consistent verb_noun pattern in snake_case. Viewer tools use a 'viewer_' prefix grouping related functionality. Verbs are imperative and clear (create, delete, get, list, send, etc.). No mixing of camelCase or other conventions.
23 tools is on the higher end but reasonable for the scope of managing a plugin system and a BIM viewer. While borderline, each tool seems necessary for the domain, and there are no redundant tools. The count is slightly above ideal but still manageable.
The tool set covers CRUD for modules and script buttons well, but the viewer side has gaps: no tool to unload a package, close the viewer, or list available script commands. Additionally, viewer_isolate is noted as not yet functional, representing a missing feature. Some operations like updating a script button's content are present, but the overall coverage is not fully comprehensive.