Skip to main content
Glama
musescore

musescore

by bgng-co-jp

スタイルを変える

style_set

Set multiple score style properties together, validate value types, and create a new versioned score while returning before/after page and system counts.

Instructions

スタイルのキーと値をまとめて設定する(例 {"spatium":1.5, "minSystemDistance":10})。単位: SPATIUM 型は sp、page* はインチ、spatium は mm、BOOL は true/false、POINT は {x,y}。値は型で検査する。変えるキーだけの .mss を作り mscore -S で焼き込んで新しい版を作り、変更前後のページ・段を返す。注意: enableVerticalSpread=true の間は staffDistance/akkoladeDistance/minSystemDistance が効かない。pageWidth を変えるときは pagePrintableWidth も変える。

Input Schema

NameRequiredDescriptionDefault
valuesYes
score_idYesscore_open が返した score_id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the mutation mechanism (build a partial .mss and bake it in), that a new version is produced rather than in-place mutation, and what is returned (pages/systems before and after). It also surfaces non-obvious interaction hazards (vertical-spread overrides, page width pairing) that no annotation or schema field would reveal.

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?

Front-loads purpose and example, then units, mechanism, and caveats in a compact block with no filler. Dense but every sentence contributes; the caveat sentence is slightly run-on but earns its space by preventing known failure modes.

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?

For a mutation tool with no output schema and no annotations, it covers mechanism, units, validation, return contents, and interaction constraints — enough to call it correctly. Minor gaps remain: no guidance on discovering existing keys (style_get/style_list) or on failure behavior for invalid keys, but nothing essential is missing.

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

Parameters5/5

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

Schema coverage is only 50% — `values` is an untyped object — but the description compensates by specifying the unit conventions per value type (SPATIUM in sp, page* in inches, spatium in mm, BOOL as true/false, POINT as {x,y}) and noting values are validated against type. The only parameter the schema documents (score_id) is already self-explanatory.

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?

States a specific verb and resource: batch-setting style keys/values, illustrated with a concrete payload example ({"spatium":1.5, "minSystemDistance":10}). It is clearly the write counterpart to style_get, so an agent can distinguish it from the read sibling without inspecting either schema.

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?

Gives clear operating context: send only the keys you want changed, values are type-checked, and the tool bakes a fresh .mss via mscore -S to produce a new version. It adds two situational exclusions (enableVerticalSpread=true disables staffDistance/akkoladeDistance/minSystemDistance; pageWidth changes need pagePrintableWidth), though it never routes to sibling tools such as layout_set_stretch for non-style adjustments.

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