Skip to main content
Glama
doricomcp

doricomcp

by kulbiq

undo

Revert the last count Dorico edits, with each tool write counted as one step and tempo-read selections skipped.

Instructions

Undo the last count edits in Dorico (every tool write is one step). Selection steps left by this server's tempo reads are skipped; other selection changes (by hand, select_events) count as steps.

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": "undo"
  }
}

Input Schema

NameRequiredDescriptionDefault
countNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does disclose genuinely non-obvious behavior: the step accounting model and the exception for tempo-read selection steps. It omits whether the undo itself is reversible (redo), whether the operation is destructive of prior history, and the failure mode when count exceeds recorded steps.

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 sentences, front-loaded with the action, with the parenthetical defining 'step' immediately where it matters. No filler or repetition; every clause carries semantic weight.

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 one-parameter mutation tool with no output schema and no annotations, the description covers invocation semantics well but leaves the response shape and error behavior unaddressed. An agent knows how to call it but not what it returns or what happens on over-undo.

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 coverage is 0% for the single 'count' parameter, and the description meaningfully defines what a step is, including skipped selection steps, which goes beyond the bare integer schema. However, it does not state the default (1) or the behavior when count exceeds history, so compensation for the coverage gap is partial.

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 ('Undo') and resource ('the last count edits in Dorico') and defines the unit of an edit as one tool write, so the agent knows precisely what is removed. It does not need to differentiate from siblings since no redo/history alternative is named, but it establishes scope clearly.

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 the operative context for choosing and sizing this tool: each tool write equals one step, tempo-read selection steps are skipped, and manual/select_events selection changes count. That tells the agent how to compute count correctly. It stops short of stating when not to use it or what happens if count exceeds available history.

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