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

Capabilities

Features and capabilities supported by this server

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