Logic Pro MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOGIC_MCP_REMOTE | No | Pin an rclone remote used for delivery. With several remotes configured and none pinned, delivery refuses rather than guessing which account your audio should land in. |
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 |
|---|---|
| logic_systemC | Health, permissions, MIDI ports, menu bar (menu/press_menu with path like ['Track','New Audio Track']), and Accessibility exploration (ax_dump / ax_find) of Logic's UI. |
| logic_transportC | Transport with verified readback (MCU LEDs + Accessibility). play/record via AX press; stop via MCU or Space. |
| logic_tracksA | Track list + per-track ops. Target by index (1-based) or name. Writes go via MCU (mute/solo/arm/select/volume) with Accessibility readback, or AX nudging as fallback. set_volume takes db (-inf..+6) or raw value 0-233 (173 = 0 dB); set_pan takes value 0-127 (64 = center). set_color takes color = 1..96 | '#rrggbb' | 'blue' | 'dark green' | 'light rose' (see action='palette'); verified by the palette's selection ring. list with colors=true samples header icon tints (approx). |
| logic_midiC | Send MIDI into Logic's Virtual In (lands on the record-armed track) or drive the MCU surface. |
| logic_projectC | Project lifecycle via AppleScript + key commands. save/new/close use key commands (need Accessibility). |
| logic_offlineA | Read or rename track/folder/group names INSIDE a .logicx file, without driving Logic's UI. |
| logic_keysB | Escape hatch: send any key chord ('cmd+shift+n') or a named Logic command from key_map to Logic. |
| logic_exportA | Render audio out of Logic and verify it landed on disk. |
| logic_deliverA | Get finished audio out of Logic and into cloud storage. |
| logic_pluginsA | Read and write plugin parameters in real units (dB, Hz, %, ratios). |
| logic_levelA | Measure rendered audio and balance the mix from it. |
| logic_oscA | Drive Logic through its built-in TouchOSC "LogicPad" control surface over OSC (UDP), with feedback. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| res_health | |
| res_transport | |
| res_tracks | |
| res_app | |
| res_markers | The project's marker list. Marker text lives in AXDescription, not AXValue — reading values gives a row per marker with an empty name. |
| res_mixer | Mixer state for the 8 strips the OSC surface is showing, plus the selected channel strip. Reports only what Logic echoed back. It is the surface's CURRENT bank, never a dead-reckoned one: assuming the bank once silently set three wrong tracks to -6.2 dB on a real mix. Strictly read-only, and that is a deliberate constraint rather than a convenience. Reading a resource must not change anything, so this NEVER binds the surface (which would raise Logic's "OSC app wants to connect" alert and click it) and never switches the surface page (which is a visible change and drops feedback for the page being left). It reports the already-connected device or explains how to connect. |
| res_regions | Regions on the arrange canvas. Offscreen regions are listed with visible=false and no geometry rather than omitted, so 'none here' and 'cannot see from here' stay distinguishable. |
TDQS
Scored across 12 tools
Several capabilities are duplicated across channels: transport appears in both logic_transport and logic_osc (play/stop/record), mixer moves in both logic_tracks and logic_osc (volume/mute/solo), and plugin parameters in both logic_plugins and logic_osc (eq_set/param_set). The detailed descriptions explain when each channel is preferable, which prevents total confusion, but an agent still faces genuine misselection risk between the MCU/AX path and the OSC path.
Every tool follows the same logic_<subsystem> pattern (logic_system, logic_tracks, logic_project, logic_plugins, etc.). The naming is highly predictable and the domain word cleanly signals the scope of each tool.
12 tools is well within a healthy range and each maps to a distinct subsystem (transport, tracks, MIDI, project, export, plugins, level, OSC, etc.). Nothing feels padded or missing at the count level.
The surface is remarkably broad, covering health/permissions, transport, tracks, MIDI, project lifecycle, offline .logicx edits, export, cloud delivery, plugin control, level analysis, and OSC. Minor gaps remain around timeline/region editing, marker management, and bus/aux routing, but core workflows are covered.