Skip to main content
Glama
hardware-mcp

arduino-mcp-server

by hardware-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARDUINO_CLI_PATHNoPath to arduino-cli binaryarduino-cli
ARDUINO_SKETCH_ROOTNoRestrict sketch paths to this directory

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_connected_boardsA

List connected boards and serial ports detected by arduino-cli.

arduino_cli_doctorA

Check whether arduino-cli is available and return OS-specific installation instructions if missing.

install_arduino_cliA

Attempt to install arduino-cli for the current OS using available package managers, then verify and configure CLI path.

list_supported_boardsA

List supported/installable boards from the local arduino-cli index.

ensure_core_installedA

Ensure the Arduino core required by a board FQBN is installed. Can auto-install via arduino-cli core install.

detect_hardwareA

Detect connected Arduino-compatible hardware, infer board/FQBN candidates, and generate next compile/upload commands.

list_serial_portsA

List serial ports and any detected board metadata using arduino-cli. Works on Windows/macOS/Linux.

compile_sketchB

Compile an Arduino sketch with a specific board FQBN.

upload_sketchB

Upload a compiled sketch to a connected board/port.

upload_and_wait_readyA

Upload a sketch and wait for a serial readiness pattern, handling post-upload reset/re-enumeration windows.

read_serial_snapshotA

Capture serial output for a bounded duration from a given port.

safety_preflightA

Run electrical preflight checks (voltage/current/pin risks) before upload or serial write operations.

serial_open_sessionB

Open a stateful serial monitor session with port lock ownership.

serial_list_sessionsA

List active serial sessions and current port lock state.

serial_readA

Read buffered bytes from an open serial session.

serial_expectA

Wait for a string pattern in a serial session buffer with timeout.

serial_writeB

Write bytes to an open serial session. Safety preflight is enforced unless explicitly skipped.

serial_close_sessionB

Close a serial session and release its port lock.

get_board_detailsA

Get detailed board metadata from arduino-cli for a specific FQBN.

list_board_referenceA

List local board reference entries with pin/spec metadata.

search_board_referenceA

Search local board reference by board name, alias, id, or FQBN.

Prompts

Interactive templates invoked by user choice

NameDescription
arduino-cli-bootstrap-policyStrict setup policy for agents when Arduino CLI is missing.
arduino-setup-assistantPrompt template for wiring/setup guidance based on board + sensor.

Resources

Contextual data attached and managed by the client

NameDescription
arduino-board-referenceStatic board pin/reference metadata for supported boards in this server.

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/hardware-mcp/arduino-mcp-server'

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