
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 toolsPublic 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_PATHOptional path to arduino-cli binary. Defaults to arduino-cli on PATH.
ARDUINO_SKETCH_ROOTOptional absolute path restricting sketch operations to this directory.
Readme
arduino-mcp-server
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
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