Skip to main content
Glama

rattus_send_twist

Send linear and angular velocity commands to an Arduino over serial using a CRC-checked twist frame for reliable motor control.

Instructions

Phase 2.7 PC-masquerade: pack a CMD_TWIST frame (CRC-8/MAXIM) and write it to the open serial port (Uno USB). Requires serial_open first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seqNoSequence byte (default auto-increment)
vMmSYesLinear velocity mm/s
omegaMradSYesAngular velocity mrad/s
Install Server

TDQS

A3.9/5.0
Behavior3/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 the framing (CRC-8/MAXIM), the target (Uno USB), and the requirement for serial_open. It does not mention potential side effects, error handling, or whether the operation blocks, but for a low-level write operation the disclosed details are reasonably transparent.

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 description is a single sentence that packs the essential information: what it does, the protocol, the target, and the prerequisite. No redundant words, and the key action and requirement are front-loaded. Slightly terse but very efficient.

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?

Given the tool's simplicity and 100% schema coverage, the description covers the critical context (frame type, CRC, target, precondition). There is no output schema, and it doesn't explain return values, but for a write-only operation this is acceptable. It gives enough for an agent to invoke it correctly after ensuring serial is open.

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 description coverage is 100%, so the parameters are fully documented in the schema itself. The description adds no extra semantic detail about the parameters beyond what the schema provides, so a baseline score of 3 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 states a specific verb (pack and write) and a specific resource (a CMD_TWIST frame to the open serial port), and it distinguishes itself from sibling tools by specifying the exact protocol and target. The mention of 'phase 2.7' adds context but the core action is unambiguous.

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?

It clearly states the precondition 'Requires serial_open first', which is essential usage guidance. It doesn't explicitly name alternative tools for when not to use this, but the specialized nature of the tool and the precondition provide enough context for an agent to decide when to invoke it.

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

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/BufrAI/arduino-mcp'

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