Skip to main content
Glama

search_browser_roots

Read-onlyIdempotent

Search Ableton Live browser roots by item name to locate exact paths, check unavailable roots, and see scan truncation across selected or all roots.

Instructions

Search selected/all available Live roots in order. Returns exact root/path, unavailable roots and result/scan truncation. Optional private MCP tags/favorites match root/path/URI; not native collections or Splice cloud.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum matching items across all roots.
queryYesCase-insensitive item-name query.
rootsNoOptional roots to search in order; omit for all general roots.
maxDepthNoMaximum depth below each root.
maxVisitedNoMaximum child items to inspect across selected roots; defaults to 10000.
includeMetadataNoInclude private MCP tags and favorites for results with an exact URI.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.3.1
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "query": {
      +        "type": "string"
      +      },
      +      "results": {
      +        "items": {
      +          "properties": {
      +            "loadable": {
      +              "type": "boolean"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "path": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "uri": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "searchedRoots": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "stateVersion": {
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "truncated": {
      +        "type": "boolean"
      +      },
      +      "truncationReason": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "unavailableRoots": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "visitedItems": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "stateVersion",
      +      "query",
      +      "searchedRoots",
      +      "unavailableRoots",
      +      "results",
      +      "visitedItems",
      +      "truncated",
      +      "truncationReason"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "error": {
      +        "properties": {
      +          "message": {
      +            "type": "string"
      +          },
      +          "outcome": {
      +            "enum": [
      +              "unknown",
      +              "not_executed"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "message",
      +          "outcome"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed3 schema fields changedv0.3.0
    • addedInput schema / properties / limit / description
      Added value: +"Maximum matching items across all roots."
    • addedInput schema / properties / maxDepth / description
      Added value: +"Maximum depth below each root."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  3. Addedv0.2.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only safety and idempotency, and the description adds useful behavior beyond that: it reports exact root/path, unavailable roots, and result/scan truncation. It also clarifies private MCP tag/favorite matching scope, though it does not discuss permissions or failure modes in depth.

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 compact and front-loaded, with three short sentences that each contribute scope, return behavior, or matching caveats. There is no redundant or wasted language.

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?

Given the rich annotations, complete input schema, and presence of an output schema, the description supplies enough context about scope, truncation, and matching caveats to call the tool safely. The main remaining gap is the lack of explicit routing guidance versus sibling browser-search tools.

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 parameter meanings are already well documented. The description adds only limited semantic detail, mainly around ordered root selection and private tag/favorite matching, which does not materially exceed the schema's coverage.

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 resource: searching selected or all available Live roots. It also narrows scope by excluding native collections and Splice cloud, but it does not explicitly name sibling tools such as list_browser_roots or search_browser_items to differentiate the search surface.

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?

The description implies usage by saying to search selected/all Live roots and by excluding native collections and Splice cloud. However, it gives no explicit guidance on when to use this tool instead of list_browser_roots, search_browser_items, or other browser-search siblings.

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

Deploy Server

Other Tools