Skip to main content
Glama
romanstark

Ableton Maestro

get_devices

Lists a selected track's device chain, including names, class names, on/off state, and parameter counts, while flagging plug-ins that need configuration.

Instructions

List a track's device chain: names, class names, on/off, parameter counts.

The parameter count is worth reading first. A third-party plug-in reporting exactly
one parameter has not been configured; see the ``configure_needed`` flag and the note
it carries. That is a limit in Live, not in this server, and it is lifted only in
Live's GUI.

The parameter probe here only has to settle "exactly one, or more than one",
which is what tells an unconfigured plug-in apart from a configured one. For
the full list call ``describe`` with ``with_parameters=True``.

Device order can be changed, though it is widely assumed to be fixed. The call sits
on the Song rather than on the Device, which is why it reads as missing:
``Song.move_device(device, target_chain, position)``, catalogued as
``song.move_device`` and reachable through ``lom_call``. Measured 2026-08-30 against
Live 12.4.5 on a scratch track: ``['Eq8', 'Compressor2', ...]`` became
``['Compressor2', 'Eq8', ...]``.

Loading order is still worth planning, because it decides what survives. Effects are
appended, and an instrument replaces the instrument already on the track (measured),
taking its settings and its clip envelopes with it. Reordering afterwards is a
convenience; a replaced instrument is not recoverable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNotrack
trackYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

B3/5.0
Behavior3/5

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

The genuine get_devices content is highly transparent: it explains the configure_needed flag, why a one-parameter third-party plug-in signals an unconfigured device, that the probe only settles one-vs-many, that order can change, and that the call lives on the Song. With no annotations, however, the description carries the full burden, and the appended paragraph describing instrument replacement and non-recoverable loss misattributes destructive behavior to this listing call.

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

Conciseness2/5

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

The useful content is front-loaded in a clean first sentence, but the description then drifts into a move_device tangent, a garbled measured fragment, and a loading-order paragraph that appears to belong to load_device. Length without coherent structure makes the agent's parse more expensive, not less.

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

Completeness3/5

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

An output schema exists, so return-value details need not be spelled out, and the core configure_needed semantics are covered thoroughly. Still, kind is never documented, edge cases like a missing track are absent, and the off-topic load_device content adds confusion rather than completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so the description was expected to compensate, but it never explains the kind parameter (default track) or how to address the track. The only parameter-related hint is 'a track's device chain', which adds nothing beyond the schema's track integer property.

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 first sentence states a specific verb and resource: it lists a track's device chain with names, class names, on/off, and parameter counts. It also distinguishes itself from describe by pointing to it for the full parameter list. However, the trailing paragraphs about move_device and loading order dilute the core purpose and could be mistaken for this tool's own responsibilities.

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

Usage Guidelines3/5

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

It gives one explicit routing rule: call describe with with_parameters=True for the full parameter list, and it mentions lom_call for song.move_device. But it never says when get_devices is preferable to get_track or describe, and the final paragraph about loading order reads as advice for load_device, which is misleading in this context.

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

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/romanstark/ableton-maestro'

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