Skip to main content
Glama
SabaCan0141

duet-mcp

by SabaCan0141

set_box

set_box

Move or resize a box on a 720×480 canvas with a minimum size of 64×64. Supply the observed baseRevision to prevent conflicts; if the revision changed, get a conflict response with the latest document.

Instructions

Move or resize the box within a 720×480 canvas. The minimum size is 64×64. baseRevision は意図を決めるために観測した revision(文字列)をそのまま渡す。版が変わっていたら handler を実行せず conflict と最新 doc を返す。最新 doc を見て意図を見直すこと。同じ引数を新しい版で自動再送しない。通信エラーは適用結果が不明な場合がある。まず await_change で現在の状態を確認する。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
widthYes
heightYes
baseRevisionYes意図を決めるために観測した revision をそのまま渡す。数値の旧形式は使えない。版が変われば実行前に conflict。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses conflict behavior, the fact that the handler is not executed on stale versions, the uncertainty caused by communication errors, and the no-retry policy. This is strong behavioral transparency for a mutating tool.

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?

The core operation and size constraint are front-loaded, and every instruction is relevant to correct usage. Some redundancy exists with the baseRevision property description in the schema, and the mixed English/Japanese phrasing slightly reduces readability.

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 no-output-schema, no-annotation mutation tool with five parameters, the description is unusually complete: operation, constraints, conflict handling, error uncertainty, and a recommended next step. It omits only explicit success-return details and exact coordinate semantics, which are relatively minor.

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 only 20%, so the description compensates by stating canvas bounds and the 64×64 minimum size. baseRevision semantics are explained in detail. It does not explicitly define coordinate origin or maximum x/y/width/height values, but it adds meaningful context beyond the schema.

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: 'Move or resize the box within a 720×480 canvas.' This clearly identifies the operation and target, and differentiates it from siblings like set_text and set_settings without ambiguity.

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

Usage Guidelines5/5

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

Provides explicit procedural guidance: pass the observed revision string, check current state with await_change first, do not auto-resend on a newer revision, and re-evaluate intent against the latest doc. It also states when not to execute the handler, namely when the version has changed.

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