Labsco
MCP SERVER

MCP Arduino Server

by Volt23

Write a sketch, compile it, flash the board and watch the serial output — all in one conversation.

IoT, Smart Home & Embedded Hardware
Summary
The loop is complete, including the part after the upload.

Most Arduino integrations stop at flashing the board; here the serial monitor is a first-class set of tools, so you can start a capture, read lines back and stop it without opening another program. Only the WireViz diagram tool reaches outside — everything else runs against your local arduino-cli.

What it is

A FastMCP bridge over arduino-cli. It manages sketches, boards and libraries, uploads to hardware, runs serial monitors, and generates WireViz wiring diagrams.

What you get
  • Sketch handling: create_new_sketch, list_sketches, read_file, write_file — writing an .ino auto-compiles it
  • Build and deploy: verify_code and upload_sketch against a board FQBN and port
  • Libraries: lib_search, lib_install, list_library_examples
  • Boards: list_boards and board_search
  • A serial monitor as its own set of tools: serial_monitor_start, serial_monitor_read, serial_monitor_list, serial_monitor_stop
  • File operations sandboxed to your home and sketch directories: rename_file, remove_file
  • Wiring diagrams from a description: generate_circuit_diagram_from_description
Requirements

Python 3.10 or newer, arduino-cli on your PATH, and the MCP SDK. pip install mcp-arduino-server; version 0.1.5. WireViz is optional, and the AI-powered diagram tool needs OPENAI_API_KEY or OPENROUTER_API_KEY. MCP_SKETCH_DIR sets where sketches live.

Setup effort

One command — pip install mcp-arduino-server