Skip to main content
Glama

Create stage dashboard

create_stage_dashboard

Create a unified live-performance control page for TouchDesigner: cue buttons, faders, PANIC, and live readouts. Works from any browser on phone or laptop—no app needed.

Instructions

Serve one unified live-performance cockpit from a Web Server DAT — a single responsive web page (phone + laptop) that combines a grid of cue-launch buttons (recall named cues from manage_cue on the target COMP), master faders bound to chosen parameters, a big PANIC button (toggles the target COMP's Blackout/Freeze safety pars, the create_panic mechanism), and a live readout strip (a beat indicator plus a VU bar reading an audio-features Null CHOP). Open the URL — no app to install — and the page POSTs every control change back to the server, which applies it. SECURITY: like the bridge and create_phone_remote, this listens on all interfaces and accepts writes with NO auth, so use it only on a trusted network. Store cues with manage_cue, expose params with create_control_panel, and run create_panic first so the Blackout/Freeze toggles exist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cuesNoCue names (stored with manage_cue) to expose as launch buttons, in order. Each becomes a button that instantly recalls its cue on the target COMP. Empty omits the cue grid.
nameNoName of the Web Server DAT (and its callbacks DAT) built inside the target COMP.stage_dashboard
portNoTCP port for the dashboard web server (keep it distinct from the bridge's 9980 and phone_remote's 9981).
fadersNoMaster faders, each a { label, par_path } that becomes a slider writing the parameter live. Empty omits the fader bank.
layoutNoDashboard layout. 'v1' is the original (cues + faders + readout + panic). 'v2' adds stereo VU, BPM, cue timeline strip, FPS/cook overlay, and a sticky confirm-PANIC bar. Default 'v1' for backward compat.v1
targetNoControl COMP the dashboard is built inside. It holds the cues (manage_cue) and the Blackout/Freeze toggles (create_panic); cue buttons fire that COMP's cues and the panic button toggles its safety pars./project1
cue_timesNov2 only. Cue start times (seconds from show start) from compose_cue_list, for the timeline strip's playhead. Empty = strip omitted, cue grid still shown.
tempo_channelNov2 only. Absolute path to a CHOP whose first channel is current BPM (e.g. a detect_tempo Null CHOP). Omitted = BPM widget hidden.
audio_featuresNoOptional audio-features Null CHOP path for the readout strip's VU bar (first channel). When omitted the readout still renders (beat from the timeline, VU flat).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnly=false, openWorld=true), the description discloses the server's network exposure and lack of auth, the POST-back mechanism, and that the panic button toggles the target COMP's safety pars. This adds meaningful behavioral context such as security risk and how the page communicates with the server.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long but every sentence earns its place: purpose, feature list, architecture preview, security warning, and prerequisites. It is well-structured and front-loaded with the core function, avoiding fluff while covering essential context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, two layouts, external dependencies), the description covers the purpose, components, security, dependencies, and behavior of the created server. It is sufficiently complete for an agent to decide when and how to use it, especially since the schema fully documents parameters and the annotations cover safety profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description mentions parameters at a high level (cues, faders, panic, layout) but does not add new semantic details beyond what the schema already provides. It does clarify how the pieces fit together, but the schema carries the bulk of parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool as creating a unified live-performance web dashboard from a Web Server DAT, enumerating specific features (cue-launch buttons, faders, panic, readout). It distinguishes itself from siblings by referencing dependencies (manage_cue, create_panic) and the security similarity to bridge/create_phone_remote, so the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states a security condition ('use it only on a trusted network'), implying when not to use it. It also provides clear prerequisites: 'Store cues with manage_cue, expose params with create_control_panel, and run create_panic first'. This gives strong when-to-use guidance and sets up dependencies, though it does not directly contrast with create_phone_remote beyond security.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/lucasmaher-hash/touch-designer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server