Skip to main content
Glama

mcp_gpio_scan

Scans all GPIO pins on a remote agent and returns each pin’s level, type, pull resistor, name, and logical state for reversed pins, helping inspect hardware pin status.

Instructions

Scan all hardware GPIO pins on agent and return each pin's level (the physical state), type, pull resistor and name; a reversed pin also reports value (its logical state) and reversed. Pins: BCM 2-27 on a Raspberry Pi, GP0-GP28 (minus the WiFi-reserved GP23/24/25/29) on a Pico, and every usable pin of the chip on an ESP32 (flash, PSRAM and USB pins are left out).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "agent": "<agent>"
    },
    "name": "mcp_gpio_scan"
  }
}

Input Schema

NameRequiredDescriptionDefault
agentYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.23

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does so well: it discloses the return payload, the platform-specific pin sets (BCM 2-27, GP0-GP28 minus WiFi-reserved pins, ESP32 excluding flash/PSRAM/USB), and the reversed-pin semantics. It does not say whether reading has side effects, permission requirements, or how errors surface, which keeps it short of a 5.

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?

Front-loaded with the action, then the return shape, then the per-platform pin enumeration — the order serves an agent well. The pin list is long but earns its place by setting expectations for the result; a semi-colon-packed single sentence hurts readability slightly.

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?

For a one-parameter read tool with no output schema and no annotations, the description covers the return contents and platform scope thoroughly. The remaining hole is the `agent` parameter contract and error/permission behavior, which the structured data does not supply either.

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 coverage is 0% for the single `agent` parameter, and the description only references it obliquely ("on `agent`"), leaving its format, how to discover valid values, and whether multiple agents are accepted unstated. It partially compensates by framing the parameter as the device target, but not enough to fully cover the gap.

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?

Specific verb plus resource and scope: "Scan all hardware GPIO pins on `agent`" immediately distinguishes this bulk scan from the single-pin siblings mcp_gpio_read/mcp_gpio_write. It also enumerates exactly what is returned (level, type, pull resistor, name, plus value/reversed for reversed pins), so the agent knows what it gets.

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 word "all" implies this is the bulk/snapshot tool versus mcp_gpio_read for a single pin, but the description never names the alternative or states when to prefer one over the other. There is no guidance on cost, latency, or when-not-to-use.

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