Skip to main content
Glama

find_path

Read-onlyIdempotent

Find the Ableton Live API path that fulfills your intent, returning matching catalog rows with paths, verbs, and documentation. Use this to discover how to achieve a desired action in Live.

Instructions

Find the mechanism that serves an intent, and the catalog rows when rows serve it.

Returns:
    Dictionary with the chosen route, any matching rows with their paths and docs,
    and the next call to make when rows are not the answer.

Note:
    Four routes, and which one comes back matters more than the rows do.

    ``catalog_row`` means the rows carry the answer. Each hit gives the path
    template to fill in, the access verbs, the full doc, and ``scopes``: the other
    places the same property exists, since track, return, master and chain mirror one
    another and a clip row usually has an arrangement_clip twin. ``writes`` appears
    when the best row is a read-only parameter object and names the sibling that
    actually takes a value.

    ``device_parameter`` means the answer is a knob inside a device, which this
    catalog cannot enumerate: what a device exposes depends on the device. Filter
    cutoff, resonance, attack, threshold and every other parameter behind a device
    front panel arrive this way, with the procedure to reach them.

    ``blocked`` means Live's API cannot do it at all, with what to do in Live
    instead. ``intent_tool`` is reported in the ``tool`` field alongside the rows
    rather than in place of them, because a tool that verifies its own work is the
    better route to the same end but the path is still worth seeing.
    ``unresolved`` means nothing matched. ``unmatched`` lists the words that found
    nothing, which is usually where the query went wrong.

    This exists so that finding a path costs about 1.5k tokens instead of reading the
    whole catalog. It does not touch Live: it reads the catalog only, so nothing here
    proves anything about the set that is open.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
areaNoRestrict to one catalog area, e.g. 'clip' or 'track'. The areas are listed in the live://catalog resource. Empty searches all of them.
limitNoHow many rows to return. Six is about 1.5k tokens.
queryYesWhat you want to do, in your own words. 'turn the bass down', 'sidechain the pad', 'where is the loop brace'. Producer vocabulary is expected: the lookup translates it into the catalog's own words.
accessNoRestrict to rows granting this verb: get, set, call, observe or automate. Use 'set' when you intend to write, which filters out the read-only parameter objects.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

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

  1. Changed1 schema field changedv0.1.4
    • changedInput schema / properties / area / description
      Previous value: -"Restrict to one catalog area, e.g. 'clip' or 'track'. The areas are listed in the ableton://catalog resource. Empty searches all of them."New value: +"Restrict to one catalog area, e.g. 'clip' or 'track'. The areas are listed in the live://catalog resource. Empty searches all of them."
  2. Addedv0.1.1

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnly=true, idempotent=true, destructive=false, and the description reinforces and extends this with genuinely additive context: token cost per call, the fact that it reads the catalog only and therefore 'nothing here proves anything about the set that is open,' the behavior of the writes field for read-only parameter objects, and the exact semantics of all six route types. There is no contradiction between the annotations and the described behavior.

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

Conciseness4/5

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

The description is long (~350 words) but well-structured: purpose first, then Returns summary, then a route-by-route Note. Every section earns its place — the device_parameter examples (filter cutoff, resonance, attack) and the arrangement_clip twin explanation prevent real ambiguity. It could be tightened slightly, but the complexity of six route types justifies the length.

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?

For a tool with four parameters, six route types, and an output schema, the description is complete: it explains the output dictionary's top-level contents, every route's meaning, the scopes field, the writes field, the token cost, and the catalog-only limitation. Because an output schema exists, the description need not enumerate exact return keys, and the semantic meaning of each route — exactly what a schema cannot convey — is fully covered.

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 description coverage is 100%, so the schema already documents all four parameters (query, area, limit, access) with meaningful examples. The description adds modest complementary value — the writes field explanation connects to the access param's 'use set to filter out read-only parameter objects,' and the 1.5k-token figure ties to the limit default of 6 — but these are indirect return-value relationships rather than parameter-level guidance. Baseline 3 is appropriate.

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 first sentence states a specific verb+resource pair: 'Find the mechanism that serves an intent, and the catalog rows when rows serve it.' This clearly distinguishes the tool as a discovery/routing lookup rather than a direct accessor like get_track, lom_get, or set_parameter. The route taxonomy (catalog_row, device_parameter, blocked, intent_tool, unresolved) further sharpens what the tool produces.

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 description gives clear context for when to use the tool: 'This exists so that finding a path costs about 1.5k tokens instead of reading the whole catalog,' and it scopes the tool as catalog-only ('It does not touch Live'). The route descriptions function as conditional usage guidance: intent_tool tells the caller a sibling tool is the better route, and blocked tells the caller to do something in Live instead. However, it never explicitly names alternatives ('use lom_get when...'), so it falls one notch short of a 5.

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/live-maestro'

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