Skip to main content
Glama
MuseScore MCP Server

MuseScore MCP Server

by ghchen99

Remove Articulations

remove_articulations

Removes selected articulation symbols, such as hi-hat half-open/open/closed, from chords containing specified drums or MIDI pitches within a chosen bar range.

Instructions

Remove articulations (by default the hi-hat symbols half_open, open, closed) from the chords that contain the chosen drums in a range of bars.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "remove_articulations"
  }
}

Input Schema

NameRequiredDescriptionDefault
drumsNoOnly chords with these drums, e.g. ["hi-hat"]
pitchesNoOnly chords with these MIDI pitches
symbolsNoArticulations to remove
last_staffNoLast staff (0-based, inclusive). Defaults to the last staff.
end_measureNoLast bar (inclusive). Defaults to the end of the score.
first_staffNoFirst staff (0-based)
start_measureNoFirst bar (1-based position)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden, yet it says nothing about this being a destructive, likely irreversible mutation, whether it operates on the whole score or selection, or what happens when no chord matches. The one useful behavioral detail is the default symbol set (half_open, open, closed), which is already duplicated in the schema default.

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?

A single front-loaded sentence with the operation stated first and the scoping filters following; no filler. The nested parenthetical about default symbols is slightly dense but still readable.

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?

For a 7-parameter mutation tool with no annotations and no output schema, the description covers what is removed and the default target but omits return value, error behavior, and prerequisites. It is minimally adequate rather than complete.

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 every parameter including drums, pitches, symbols, staves and measure bounds is already documented in the schema. The description restates only the symbols default and the drum-filter concept, adding essentially no semantic detail beyond the structured fields.

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?

States a specific verb (remove) and resource (articulations) plus the exact scope: chords containing the chosen drums, within a range of bars, with the default symbol set named inline. It is far more specific than the title alone, though it never distinguishes itself from the similarly named sibling remove_annotations, which an agent could easily confuse with articulations.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no preconditions (e.g. score must be open / connected to MuseScore), and no statement of when not to use it or which sibling to pick instead. The only usage hint is implicit in the filter parameters.

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