Skip to main content
Glama
joeynyc

microduck-mcp

by joeynyc

Walk the duck

duck_walk

Send velocity intents to move a Microduck: set forward, sideways, and yaw rates for a chosen duration, and it walks then stops automatically with values clamped to safe limits.

Instructions

Send a velocity intent: vx forward m/s, vy sideways m/s, wz yaw rad/s. Values are clamped to ±0.25 m/s linear and ±1 rad/s yaw. Walks for duration_s (default 2 s, max 10 s) then stops; the call returns when the walk is over. duck_stop interrupts it at any time, and robotd's own deadman stops the duck if this server dies mid-walk — it does not run away. Call duck_monitor afterwards to see how far it got. Refused below 15% battery or when fallen.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vxYesForward velocity, m/s. Negative = backward.
vyNoSideways velocity, m/s.
wzNoYaw rate, rad/s. Positive = left.
duration_sNoSeconds to keep walking before the intent expires.
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers: it discloses value clamping (±0.25 m/s linear, ±1 rad/s yaw), the fact that the call blocks until the walk finishes, the deadman safety mechanism that stops the duck if the server dies, and the battery/fallen refusal conditions. This is rich behavioral context well beyond what a schema could convey.

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?

Every sentence in the description earns its place: the intent definition, the safety clamps, the timing behavior, the interruption and deadman guarantees, the follow-up monitor suggestion, and the refusal conditions. It is compact, well-ordered, and front-loads the core action before secondary details, with no redundant phrasing.

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

Completeness5/5

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

For a robot-motion tool with no output schema and no annotations, this description is remarkably complete: it explains blocking semantics, failure/refusal conditions, safety fallbacks, and where to get results afterward. An agent has everything needed to invoke it correctly and know what to expect, making the description self-sufficient.

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 adds value by stating the physical clamping limits for vx/vy/wz, which are absent from the schema itself, and by confirming the duration default and maximum in plain language. It doesn't add per-parameter syntax details, but the clamping information meaningfully supplements the schema, so 4 is appropriate.

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?

The description opens with 'Send a velocity intent: vx forward m/s, vy sideways m/s, wz yaw rad/s' — a specific verb ('send'), a clear resource (the duck), and the exact axes of motion. It distinguishes itself from sibling tools by explicitly pointing to duck_stop for interrupting and duck_monitor for checking progress, so an agent can tell at a glance what this tool uniquely does.

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?

The description gives explicit usage conditions, including when the tool is refused ('below 15% battery or when fallen'), the default and maximum duration, and direct guidance on alternatives: 'duck_stop interrupts it at any time' and 'Call duck_monitor afterwards to see how far it got.' This is clear when-to-use and when-not-to-use guidance that routes the agent to the correct sibling.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joeynyc/microduck-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server