hardware-mcp avatar

Arduino MCP Server

hardware-mcp/arduino-mcp-server

Wraps arduino-cli so Claude can compile sketches, upload to boards, and monitor serial output without you touching the terminal. It handles board detection, core installation, and keeps stateful serial sessions open so you can read, write, and wait for expected patterns. The safety preflight tool runs electrical checks before sending commands to pins. You get structured board references as a resource and guided setup prompts for bootstrapping from scratch. If you're prototyping with Arduino and want to describe what you need in natural language instead of switching between IDE and chat, this bridges that gap. Requires arduino-cli on your PATH or lets the server walk you through installing it.

GitHub stars
12
tools
21
transport
STDIO
env vars
2
last updated
Mar 8, 2026

Tools

21 tools

Public tool metadata for what this MCP can expose to an agent.

arduino_cli_doctorCheck Arduino CLI installation and version

Check Arduino CLI installation and version

No parameter schema in public metadata yet.

install_arduino_cliGuide through arduino-cli installation

Guide through arduino-cli installation

No parameter schema in public metadata yet.

detect_hardwareDetect connected boards and infer FQBNs

Detect connected boards and infer FQBNs

No parameter schema in public metadata yet.

list_connected_boardsList all connected Arduino boards

List all connected Arduino boards

No parameter schema in public metadata yet.

list_serial_portsList available serial ports

List available serial ports

No parameter schema in public metadata yet.

ensure_core_installedCheck/install board cores

Check/install board cores

No parameter schema in public metadata yet.

compile_sketchCompile a sketch for a target board

Compile a sketch for a target board

No parameter schema in public metadata yet.

upload_sketchUpload compiled sketch to a board

Upload compiled sketch to a board

No parameter schema in public metadata yet.

upload_and_wait_readyUpload and wait for device ready signal

Upload and wait for device ready signal

No parameter schema in public metadata yet.

serial_open_sessionOpen a stateful serial session

Open a stateful serial session

No parameter schema in public metadata yet.

serial_readRead buffered serial data

Read buffered serial data

No parameter schema in public metadata yet.

serial_expectWait for a pattern in serial output

Wait for a pattern in serial output

No parameter schema in public metadata yet.

serial_writeSend data over serial

Send data over serial

No parameter schema in public metadata yet.

serial_close_sessionClose a serial session

Close a serial session

No parameter schema in public metadata yet.

serial_list_sessionsList active serial sessions

List active serial sessions

No parameter schema in public metadata yet.

read_serial_snapshotQuick one-shot serial read

Quick one-shot serial read

No parameter schema in public metadata yet.

safety_preflightElectrical safety check before hardware ops

Electrical safety check before hardware ops

No parameter schema in public metadata yet.

get_board_detailsGet pin/capability details for a board

Get pin/capability details for a board

No parameter schema in public metadata yet.

list_supported_boardsList all boards arduino-cli supports

List all boards arduino-cli supports

No parameter schema in public metadata yet.

list_board_referenceBrowse board pin reference

Browse board pin reference

No parameter schema in public metadata yet.

search_board_referenceSearch board reference by keyword

Search board reference by keyword

No parameter schema in public metadata yet.

Sponsors

Configuration

ARDUINO_CLI_PATH

Optional path to arduino-cli binary. Defaults to arduino-cli on PATH.

ARDUINO_SKETCH_ROOT

Optional absolute path restricting sketch operations to this directory.

Readme

arduino-mcp-server

npm version License: MIT Node.js 20+

Give your AI assistant full control over Arduino — compile, upload, monitor serial, and verify wiring safety, all through natural language.

Part of the HardwareMCP ecosystem — open-source MCP servers that bridge AI to physical hardware.


What this does

AI assistants can control Jira, GitHub, and databases. They can't talk to a microcontroller — until now.

arduino-mcp-server wraps arduino-cli into an MCP server so your AI can:

  • Detect connected boards and ports automatically
  • Compile and upload sketches without touching the terminal
  • Monitor serial output with stateful sessions (open, read, expect, write, close)
  • Run electrical safety checks before sending commands to hardware
  • Manage dependencies — cores, libraries, and CLI installation

Quick Start


View the full README on GitHub

Details

Repository
github.com/hardware-mcp/arduino-mcp-server
Website
github.com/hardware-mcp/arduino-mcp-server
Package
arduino-mcp-server
Transport
STDIO
Registry
MCP registry, active