Skip to main content
Glama

get_selection_properties

Retrieve detailed properties of the current selection in your connected music notation app, including cursor position and item attributes, to inform score editing decisions.

Instructions

Get properties of the current selection in the connected application.

MuseScore reports the cursor position (measure, beat, staff, element). Dorico reports the names, types and values of every property of the selected items, which is the closest its API gets to reading the score.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / $defs
      Added value: +{
      +  "CommandResult": {
      +    "additionalProperties": true,
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties / result / $ref
      Added value: +"#/$defs/CommandResult"
    • removedOutput schema / properties / result / title
      Removed value: -"Result"
    • removedOutput schema / properties / result / type
      Removed value: -"string"
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does so well: it indicates a read-only 'get' operationaine, explains that behavior differs by connected application, and even notes the Dorico limitation ('closest its API gets to reading the score'). It does not discuss edge cases like no active selection or connection errors, but those are not critical for this read-only tool.

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, front-loaded with the core purpose, and each sentence adds distinct value: the general definition, the MuseScore behavior, and the Dorico behavior. There is no filler or redundancy.

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?

Given zero parametersaren, an output schema describing return values, and the simple read-only nature of the tool, the description provides the necessary operational context: what the selection properties are per app and which app is being addressed. No additional information is needed for an agent to call this correctly.

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

Parameters4/5

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

The tool has zero parameters and 100% schema coverage, so the schema already fully describes the inputs. The description appropriately avoids inventing parameter details. Baseline 4 applies because there are no parameters to document.

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 description uses a specific verb ('Get') with a clear resource ('properties of the current selection'), and then sharpens the meaning by explaining exactly what that yields in MuseScore vs Dorico. This distinguishes it from sibling reading tools like get_measure_content or get_live_score_info because it is specifically about the current selection.

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: whenever the agent needs selection properties, with app-specific expectations spelled out for MuseScore and Dorico. It does not explicitly name alternatives or exclusions, but the selection-focused scope makes the intended usage unambiguous.

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