Skip to main content
Glama
Gearotons

servomotor-mcp

set_max_allowable_position_deviation

Define the maximum deviation in degrees allowed between actual and desired motor position; triggers a fatal error if exceeded, ensuring precise positioning and safety.

Instructions

Set the amount of microsteps that the actual motor position (as measured by the hall sensors) is allowed to deviate from the desired position. Throw a fatal error if this is exceeded. [Firmware command "Set max allowable position deviation", group: Configuration.] Parameters:

  • maxAllowablePositionDeviation (in degrees): The new maximum allowable position deviation setting Returns: success confirmation. motor: an alias number (e.g. 88), a 16-hex-digit unique ID (e.g. "0123456789ABCDEF"), or "all" to broadcast to every motor on the bus (broadcasts get no responses back).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
motorYes
maxAllowablePositionDeviationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.1

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses a key behavioral trait: it throws a fatal error if the deviation is exceeded. However, with no annotations provided, the description carries the full burden. It does not mention whether the setting persists, whether it applies immediately, or any side effects on motor operation. The broadcast behavior for 'all' is mentioned, which is useful.

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 concise and front-loaded with the core purpose, followed by parameter details. The parameter explanations are embedded in the description rather than a separate section, which is slightly unstructured but still clear. The firmware command reference adds context without excessive length.

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?

The description covers the essential parameters and return value, but it lacks details on error conditions beyond the fatal error, persistence of the setting, and any prerequisites (e.g., motor must be connected). Given the tool's safety-related nature, more context on when the fatal error triggers and how to recover would be helpful.

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?

The description adds significant meaning beyond the schema: it explains that maxAllowablePositionDeviation is in degrees, and it details the motor parameter's accepted formats (alias, 16-hex ID, or 'all' for broadcast). The schema only provides types, so this is valuable. However, it does not specify units for the motor parameter or clarify the 'microsteps' relationship to degrees.

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 clearly states the tool's function: setting the maximum allowable position deviation in microsteps, measured by hall sensors, and throwing a fatal error if exceeded. It also identifies the firmware command and group, making it distinct from sibling tools like set_safety_limits or set_maximum_velocity.

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

Usage Guidelines3/5

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

The description explains what the tool does and its parameters, but it does not explicitly state when to use it versus alternatives. It mentions the fatal error behavior, which implies a safety-related use case, but there is no direct guidance on when to choose this over set_safety_limits or other configuration tools.

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