Skip to main content
Glama

find_fc

Automatically identify which USB serial port connects to an iNAV flight controller by probing for MSP identity, so you can connect without guessing.

Instructions

Auto-detect which serial port has a flight controller, so you don't guess.

Briefly opens each likely USB-serial port and asks for MSP identity; returns the ports that answered as an FC (variant + firmware). Then call connect(port).

Args: baud: Baud to probe at (default 115200, iNAV's USB VCP default). probe_all: If True, probe EVERY serial port; otherwise only USB-serial-looking ones (safer — avoids poking unrelated devices like Bluetooth/modems).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baudNo
probe_allNo
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses the mechanism ('Briefly opens each likely USB-serial port and asks for MSP identity'), the return value ('returns the ports that answered as an FC (variant + firmware)'), and a safety consideration ('avoids poking unrelated devices like Bluetooth/modems'). It does not mention potential edge cases like timeouts or no-FC-found behavior, but the core behavior is well covered.

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?

The description is appropriately sized and front-loaded. It opens with a one-sentence summary, then a concise behavioral paragraph, followed by a well-formatted Args block. Every sentence contributes value with no redundancy or fluff.

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?

Given this is a simple 2-parameter tool with no annotations and no output schema, the description is remarkably complete. It covers what the tool does, how it works, what it returns, parameter semantics, safety implications, and the next step in the workflow ('Then call connect(port)'). No significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description fully compensates. It explains 'baud' with meaning and default context ('Baud to probe at (default 115200, iNAV's USB VCP default)') and 'probe_all' with clear behavioral implications ('If True, probe EVERY serial port; otherwise only USB-serial-looking ones — safer'). This adds substantial meaning beyond the raw 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?

The description clearly states the tool's purpose with a specific verb and resource: 'Auto-detect which serial port has a flight controller'. It also distinguishes itself from sibling tools like list_serial_ports by focusing on detection rather than mere listing, and it provides a concrete workflow by saying 'Then call connect(port)'.

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?

The description gives context on when to use the tool ('so you don't guess') and a follow-up action ('Then call connect(port)'). It also explains a conditional usage for the probe_all parameter ('If True, probe EVERY serial port; otherwise only USB-serial-looking ones — safer'), but it does not explicitly name alternative tools or situations where they should be used instead.

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/starlordz12/inav-mcp'

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