Skip to main content
Glama

cw_convert

Convert ticks, bar:beat:tick positions, and seconds with tempo and time-signature settings, so you can translate measurements without opening a Cakewalk project.

Instructions

Convert between ticks, bar:beat:tick and seconds. Pure arithmetic — it needs no project and works with SONAR closed, so a measurement already in hand can be converted without waking anything. Pass exactly one of: ticks | time ("1:01:000") | seconds | bar. Note the bases: bare numbers are BARS, and in bar:beat:tick only the final field is 0-based — 1:01:000 is the start of a project, which is what a freshly opened one reads.

Input Schema

NameRequiredDescriptionDefault
barNoA bar number (1-based).
bpmNoTempo for the seconds conversion. Only seconds depend on it.
timeNoA bar:beat:tick position as SONAR displays it, e.g. "1:01:000" or "5:02:120". Bar and beat are 1-based; the tick field is 0-based.
ticksNoA tick count to convert.
secondsNoA time in seconds, or as "mm:ss.mmm".
timeSigNoTime signature as [numerator, denominator]. Affects only bars and beats.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.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 burden and does disclose key traits: side-effect-free arithmetic, no project/SONAR dependency, and a mutually exclusive input rule. The 'bases' warning about 1-based bars vs 0-based ticks prevents a real class of mis-calls. It does not state the return shape, which matters given there is no output 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?

Three compact sentences: the operation, then the environment constraint, then the exclusivity rule, then the gotcha about bases. Nothing is wasted and the most decision-relevant fact (no project needed) is front-loaded.

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 6-param, all-optional, non-mutating utility with no annotations and no output schema, this covers the calling contract well: inputs, exclusivity, defaults implied by bpm/timeSig schema notes, and base conventions. The one material gap is the absence of any statement about what the tool returns (all representations? a single value?), which the missing output schema leaves entirely undisclosed.

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?

Schema coverage is 100%, so the baseline is 3; the description earns extra by stating the exactly-one-of constraint that the schema's all-optional properties do not express, and by clarifying that bare numbers are BARS. The base-convention note largely duplicates the schema's own 'Bar and beat are 1-based; the tick field is 0-based' wording, which limits the added value.

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: 'Convert between ticks, bar:beat:tick and seconds', naming all three domains of the transformation. It is immediately distinguishable from every sibling, including cw_convert_help, because no other tool claims arithmetic conversion.

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 real usage context: 'Pure arithmetic — it needs no project and works with SONAR closed', which tells an agent to reach for this instead of any state-dependent tool. It also states the exclusivity rule 'Pass exactly one of: ticks | time | seconds | bar'. It stops short of naming an alternative sibling (e.g. cw_convert_help) for edge cases.

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