Skip to main content
Glama
blame-me

mcp-for-arduino

by blame-me

upload-and-monitor

DestructiveIdempotent

Flash an Arduino sketch, wait for reboot, and capture serial output in a single call to see results immediately.

Instructions

Flash a sketch and immediately show its serial output — one call from new code to visible result. Uploads, waits for the board to reboot, then captures a serial snapshot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fqbnNoBoard FQBN, e.g. 'arduino:avr:uno'. Omit if set via board-attach.
portNoUpload/monitor port, e.g. 'COM3'. Omit if set via board-attach.
verifyNoVerify flash after upload (default false)
baudrateNoMonitor baud rate (default 9600). Must match Serial.begin().
monitorMsNoHow long to listen after upload in ms (default 4000, max 15000)
sketchPathYesPath to sketch folder or .ino file
boardOptionsNoBoard options, e.g. 'cpu=atmega328old'
additionalUrlsNoExtra board-manager URLs

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.1

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the write/destructive/idempotent profile, so the description only needs to add process detail — and it does, disclosing the ordered sequence (upload, wait for reboot, then serial capture). It does not mention permission/auth needs or that existing firmware is overwritten, which the destructiveHint largely covers.

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?

Two compact sentences, front-loaded with the value proposition before the mechanics. Every clause earns its place with no repetition of schema data.

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 an 8-parameter composite tool with no output schema, the description conveys the full flow and result type (serial output) succinctly. It could be slightly richer about what the returned snapshot looks like or failure/timeout behavior, but nothing needed to invoke it correctly is missing.

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 (including baudrate requirements, monitorMs bounds, and board-attach fallback for port/fqbn) are fully documented in the schema. The description adds only the general notion of a serial snapshot and no extra parameter syntax or defaults, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb+resource pair ('Flash a sketch', 'captures a serial snapshot') and states the composite scope ('Uploads, waits for the board to reboot, then captures'). This implicitly separates it from the sibling pair 'upload' + 'monitor-snapshot', though neither alternative is named outright.

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 gives clear usage context via 'one call from new code to visible result', telling the agent this is the shortcut when a serial reading is wanted right after flashing. It stops short of explicit when-not guidance (e.g., 'use plain upload when you don't need serial output').

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