Skip to main content
Glama
Gearotons

servomotor-mcp

connect

Open a serial port to auto-detect and connect to servomotors on an RS-485 bus. Specify a port or let the tool detect the available adapter.

Instructions

Open a serial port (230400 baud) and auto-detect the motors on that RS-485 bus.

port is a device name from list_serial_ports (e.g. "/dev/cu.usbserial-210", "COM3", "/dev/ttyUSB0"). If omitted: uses $GEAROTONS_SERIAL_PORT if set, else the single USB serial adapter if there is exactly one, else asks you to choose.

Detection reboots every motor on the bus (positions re-zero at the current shaft location, MOSFETs turn off) and takes ~3 s per attempt. If no motors are found, the adapter may be the wrong one — try another port. Connecting to a different port replaces the previous connection, but only once the new port opens successfully — a failed attempt leaves the old connection intact.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portNo
detectNo
detect_attemptsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.1

TDQS

A4.3/5.0
Behavior5/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 so richly: detection reboots every motor, re-zeros positions, disables MOSFETs, takes ~3 s per attempt, and the new connection only replaces the old one after a successful open. These side effects are exactly what an agent needs to know before invoking.

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 definition is well-structured: the core purpose is front-loaded, then ports, defaults, side effects, and failure cases follow. It's longer than minimal, but every sentence provides operationally relevant information.

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?

Coverage is strong for 3 optional params, describing default resolution, side effects, timing, and connection transitions. The main gap is the lack of any return-value description — with no output schema, a sentence on what the tool returns after detection would make it complete.

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 0%, so the description must compensate. It thoroughly documents `port` (source, examples, fallbacks), but `detect` and `detect_attempts` are never explained — their semantics (toggling detection off, number of attempts) are absent.

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-plus-resource ('Open a serial port... and auto-detect the motors'), and explicitly names the sibling it draws from (list_serial_ports). An agent can clearly distinguish it from connect siblings like detect_devices, disconnect, and list_serial_ports.

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?

Provides clear when-to-use context: explains the port source, fallback resolution order (env var, single adapter, prompt), and failure handling ('try another port'). It doesn't explicitly name alternatives like detect_devices or contrast when not to use connect, but the context is unambiguous for selecting this tool.

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