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.
A FastMCP bridge over arduino-cli. It manages sketches, boards and libraries, uploads to hardware, runs serial monitors, and generates WireViz wiring diagrams.
- 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
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.
One command — pip install mcp-arduino-server
