Skip to main content
Glama
doricomcp

doricomcp

by kulbiq

swap_voices

Exchange the notes and rests of two voices within a bar range, letting divisi lines trade places in one undo step while slurs, text and markings stay with their voice.

Instructions

Exchange the notes and rests of two voices in a range (e.g. divisi lines trading places), one undo step. Notes are re-created with their pitch and rhythm (new ids); slurs, text and markings stay in their voice.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "voice": "<voice>",
      "other_voice": "<other_voice>"
    },
    "name": "swap_voices"
  }
}

Input Schema

NameRequiredDescriptionDefault
flowNo
voiceYes
to_barNo
to_posNo
from_barNo
from_posNo
other_voiceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and discloses meaningful mutation traits: one undo step, notes re-created with new ids, and slurs/text/markings staying in their voice. It does not cover permissions, failure modes, or range defaults, but it adds substantial transparency beyond the schema.

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?

Two tight sentences with zero filler, front-loading the purpose and then the surprising id/undo behavior. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a seven-parameter mutation with no annotations, no output schema, and zero schema descriptions, the definition is incomplete. It explains what changes behaviorally but omits parameter semantics, range defaults, and error behavior needed to call it confidently from the description alone.

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

Parameters2/5

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

Schema description coverage is 0% across seven parameters. The description only conceptually maps 'two voices' and 'a range'; it leaves flow, from_bar/from_pos/to_bar/to_pos formats and defaults, and the required voice/other_voice roles unexplained.

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 and resource: 'Exchange the notes and rests of two voices in a range,' with a divisi example that makes the operation concrete. It implicitly distinguishes itself from sibling operations like copy_range or delete_events, but does not explicitly name alternatives.

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 'divisi lines trading places' example gives a clear usage context, implying the tool is for swapping two voice parts. However, there are no when-not conditions, prerequisites, or named alternatives, so guidance remains implied rather than explicit.

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