Skip to main content
Glama

logic_osc

Control Logic Pro over OSC: bind the LogicPad surface, then drive transport, mixer, plug-ins and EQ with read-back confirmation of every change.

Instructions

Drive Logic through its built-in TouchOSC "LogicPad" control surface over OSC (UDP), with feedback.

We advertise a Bonjour service in the TouchOSC Mk1 format, Logic binds it as a control surface (one-time
alert "OSC app TouchOSC wants to connect" -> Connect, pressed automatically), then Logic streams its state
(track names of the current 8-strip bank, select/mute/solo, volumes, meters, bar, SMPTE time, transport)
and accepts the fixed LogicPad address map. Faster and more reliable than Mackie emulation for transport,
selection and mixer moves; every result is read back from Logic's own OSC echo.

connect        bind the device (idempotent).            status    snapshot of everything Logic last sent.
transport      command=play|stop|record|cycle|rewind|forward|click|soloreset (record starts recording on
               armed tracks -- only on explicit request).
bank           command=bank+|bank-|track+|track-  (move the 8-strip window; strips are 1..8 inside it).
select|mute|solo  strip=1..8 (mute/solo toggle; readback says the new state).
volume         strip=1..8 value=0..1 (fader, 0.75 ~ 0 dB).   master_volume value=0..1.
send           address=/1/... args=[...] raw message; feedback returns what Logic sent in the last `wait` s.

Selected-track pages (select a track first):
strip          inserts (slot, name, bypassed), focused plug-in name + its 16 parameters (name, 0..1, display),
               sends, pan, mute/solo/arm of the SELECTED track.
eq             the Channel EQ on the selected track: 8 bands (1 high-pass, 2 low shelf, 3-6 peaks, 7 high shelf,
               8 low-pass) with on/gain/freq/q (+slope on 1 and 8), each as 0..1 and Logic's display value.
               present=false means the track has no Channel EQ (insert one via logic_plugins first).
eq_set         band=1..8 param=gain|freq|q|slope|on, then EITHER value=0..1 (raw) OR target=<number in
               Logic's units: dB, Hz, Q> which is reached by bisection on Logic's display value
               ("cut the mud": band=4 param=freq target=300; param=gain target=-3; param=q target=1).
plugin         command=slot+|slot-|page+|page-|bypass|open  (bypass/open take slot=1..12) on the selected track.
param          list the focused plug-in's parameters (same as strip.params).
param_set      param=<n or exact name> + value=0..1 or target=<number in the display unit>; read back.

Input Schema

NameRequiredDescriptionDefault
argsNo
bandNo
slotNo
waitNo
paramNo
stripNo
valueNo
actionYes
targetNo
addressNo
commandNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so richly: it discloses UDP/OSC transport, Bonjour advertising, the one-time connection alert, idempotent connect behavior, readback via Logic's OSC echo, record-on-armed-tracks behavior, and EQ bisection semantics. It also explains what happens when an EQ is absent and how raw send feedback works.

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 appropriately sized for a tool with 19 actions and 11 largely undocumented parameters. It is front-loaded with the core mechanism and then organized as a compact action reference, with each section earning its place through actionable syntax and behavior.

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

Completeness4/5

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

For a complex OSC control surface with no annotations and no output schema, the description is largely complete: it explains protocol setup, action semantics, prerequisites, and many readback behaviors. It stops short of specifying exact return shapes or error/timeout behavior, which leaves a small gap for an agent needing precise result handling.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: action values, command values, strip ranges, 0..1 value ranges, target units, band/slot/param usage, address/args for raw send, and wait semantics are all explained. This gives an agent enough information to populate the otherwise undocumented parameters correctly.

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

Purpose4/5

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

The description states a specific verb and mechanism: drive Logic through the TouchOSC LogicPad control surface over OSC/UDP with feedback. This clearly identifies the resource and transport, but it does not explain when this tool should be chosen over overlapping siblings such as logic_transport or logic_plugins.

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?

The action list provides clear context for each operation, including prerequisites like selecting a track before using selected-track pages and using logic_plugins first when no Channel EQ is present. It also states that record should only be used on explicit request. However, it does not give overall guidance on choosing logic_osc versus sibling tools.

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