
Arduino MCP Server
Control Arduino CLI from your agent: detect boards, compile sketches, upload firmware, and monitor serial.
Overview
Arduino MCP Server is a Build-phase MCP server that drives Arduino CLI for board detection, compile/upload, serial monitoring, and pin refs over stdio.
What is this MCP server?
- arduino-cli setup, board detection, compile, and upload workflows
- Serial monitoring from the MCP session
- Pin reference lookup for wiring help
- Optional ARDUINO_CLI_PATH and ARDUINO_SKETCH_ROOT safety scoping
- npm package arduino-mcp-server v0.2.7 stdio transport
- npm package version 0.2.7 (identifier arduino-mcp-server)
- stdio transport via npm registry
- 2 optional env vars: ARDUINO_CLI_PATH, ARDUINO_SKETCH_ROOT
Community signal: 1 GitHub stars.
What problem does it solve?
Agent-assisted hardware projects stall when every compile, upload, and serial check requires manual terminal commands.
Who is it for?
Solo makers using Claude Code or Cursor who already rely on arduino-cli and want scripted firmware iteration.
Skip if: Pure cloud-only developers without boards attached, or teams needing enterprise embedded CI instead of local upload.
What do I get? / Deliverables
Once registered, your agent can run Arduino CLI operations through MCP tools from the same environment as your code edits.
- Agent-driven sketch compile and upload
- Serial monitoring and pin reference access via MCP tools
Recommended MCP Servers
Journey fit
How it compares
Local Arduino CLI MCP bridge, not a cloud IoT platform or mobile app builder.
Common Questions / FAQ
Who is Arduino MCP Server for?
Indie hardware and IoT builders who use MCP-enabled coding agents and Arduino CLI on their development machine.
When should I use Arduino MCP Server?
Use it during Build when you are compiling sketches, uploading to boards, debugging serial output, or checking pin mappings with an agent.
How do I add Arduino MCP Server to my agent?
Install arduino-mcp-server from npm, ensure arduino-cli is on PATH (or set ARDUINO_CLI_PATH), optionally set ARDUINO_SKETCH_ROOT, and add the stdio MCP server in your agent config.