hiero-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HIERO_MCP_HOME | No | Home directory used by Hiero and the server for token and configuration storage | ~/.hiero_mcp |
| HIERO_MCP_HOST | No | Host used by Hiero and the server | 127.0.0.1 |
| HIERO_MCP_PORT | No | Port used by Hiero and the server | 7392 |
| HIERO_MCP_TOKEN | No | Shared token used by Hiero and the server; defaults to the contents of ~/.hiero_mcp/token | contents of ~/.hiero_mcp/token |
| HIERO_MCP_DISABLE | No | To skip the plugin for one session, launch Hiero with HIERO_MCP_DISABLE=1 | |
| HIERO_MCP_HTTP_TOKEN | No | Token used by the HTTP server; defaults to the contents of ~/.hiero_mcp/http_token | contents of ~/.hiero_mcp/http_token |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_app_infoB | Hiero product, version, mode (Hiero / Nuke Studio), Python version and open projects. |
| list_formatsA | All image formats Hiero knows about (name, width, height, pixel aspect). |
| execute_pythonA | Run Python inside Hiero's main thread for anything the other tools do not cover. |
| list_projectsA | Open projects with path, unsaved-changes flag and counts of sequences and clips. |
| get_projectC | Project settings: frame rate, output format, OCIO, views, export root, undo/redo state, sequences. |
| new_projectC | Create a new empty project. |
| open_projectC | Open a .hrox project from disk. |
| save_projectB | Save a project, or save it to a new .hrox path ("save as") when |
| close_projectA | Close a project. Refuses if it has unsaved changes unless |
| undoC | Undo the last action in a project. |
| redoB | Redo the last undone action in a project. |
| list_binC | Tree of bins, clips, sequences and tags under a bin ("" is the project root). |
| create_binB | Create a bin, including any missing parent bins (e.g. "Footage/Day1"). |
| import_mediaB | Import files or folders (image sequences, movies) as clips into a bin, creating it if needed. |
| get_clipB | Clip details: media path, resolution, timecode, versions, tags and media metadata. |
| rename_bin_itemC | Rename a bin, clip or sequence by its bin path. |
| move_bin_itemB | Move a bin, clip or sequence into another bin ("" is the project root). |
| delete_bin_itemB | Remove a bin, clip or sequence from the project (undoable). |
| set_clip_versionB | Change a clip's active version: "up", "down", "max", "min" or a version index. |
| reconnect_mediaB | Reconnect offline media for a clip, or for every clip in a sequence, from a folder. |
| list_sequencesB | Sequences in one project (or all open projects) with duration, frame rate and format. |
| get_sequenceB | Sequence details and tracks; with |
| create_sequenceB | Create a sequence in a bin. |
| update_sequenceC | Rename a sequence or change its frame rate, format, start timecode or in/out points. |
| add_trackC | Add a video or audio track to a sequence. |
| update_trackB | Rename, enable/disable, lock/unlock a track; set blend mode (video) or volume 0-1 (audio). |
| delete_trackB | Remove a track and everything on it (undoable). |
| list_track_itemsB | Shots on one track, or on every track of |
| get_track_itemC | Full shot details: ranges, handles, speed, media, versions, linked items, tags, metadata. |
| add_clip_to_trackC | Cut a clip into a track at |
| update_track_itemA | Edit a shot: rename, enable, retime, move ( |
| delete_track_itemsC | Remove shots from a track (undoable). |
| razorC | Cut every unlocked track (or one track) at a frame. |
| add_effectB | Add a soft effect (Nuke node class, e.g. "Grade", "Transform", "Text2") over a shot or a frame range. |
| list_project_tagsB | Tags available to the project: its own Tags bin plus Hiero's preset tags (Status, Review, Shots...). |
| add_tagA | Tag a clip, sequence, track or shot. Reuses a project tag of the same name if it exists. |
| remove_tagC | Remove a tag (by name or GUID) from a clip, sequence, track or shot. |
| get_selectionA | What the artist has selected in the active timeline and in the project bin. |
| set_selectionB | Select shots in the timeline. items: [{"track": 0, "item": "shot010", "kind": "video"}]. |
| open_in_timelineC | Open a sequence or clip in a timeline tab. |
| open_in_viewerC | Show a sequence or clip in the viewer. |
| get_playheadC | Current viewer frame and the sequence being viewed. |
| set_playheadC | Move the viewer playhead to a frame. |
| list_export_presetsB | Export (processor) presets available locally and in the project. |
| run_exportA | Export a sequence, or selected shots, with a named export preset (may overwrite files on disk). |
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 45 tools
Most tools map to distinct resource/action pairs across projects, bins, clips, sequences, tracks, shots, tags, selection and viewer. A few close pairs exist (get_clip vs get_track_item, update_sequence vs update_track_item, the various list_* tools), but descriptions make the boundaries mostly clear. execute_python is an explicit catch-all and does not substantially muddy the dedicated tools.
The set is predominantly consistent snake_case verb_noun naming (list_projects, create_sequence, update_track_item, add_tag). Minor deviations include new_project instead of create_project, and standalone verbs such as undo, redo and razor. These are readable and predictable overall.
With 45 tools this is a very heavy surface for a single MCP server, even for a complex DCC integration. Many list/get variants and separate tag, selection, viewer and effect tools make the set harder to navigate than necessary. Some consolidation would improve usability.
Core lifecycle coverage is strong for projects, bins, clips, sequences, tracks and track items, and export/tag/selection/viewer basics are present. Notable gaps remain around effects (add only, no update/delete/list), export job status/cancellation, and project settings editing. execute_python can work around these gaps, but they are still visible omissions.