create_new_sketchLABSCO 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
USE CASES
Getting a sketch onto a board
Write the file, verify it against the board FQBN, then upload to the port.
Watching what the board is printing
Start a monitor on the port, read lines as they arrive, and stop it when you are done.
Finding and installing a library
Search by name, install it, then list its examples to see how it is meant to be used.
Turning a wiring description into a diagram
Describe the circuit and get a WireViz PNG back.
18 tools
Listed in project docs. Your client may show a different list.
list_sketchesread_filewrite_fileverify_codeupload_sketchlib_searchlib_installlist_library_exampleslist_boardsboard_searchserial_monitor_startserial_monitor_readserial_monitor_listserial_monitor_stoprename_fileremove_filegenerate_circuit_diagram_from_descriptionBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
- pip on PATH
- Python ≥3.10
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install mcp-arduino-serverMCP Clients
Claude Desktop
{
"mcpServers": {
"arduino": {
"command": "<YOUR_PATH_TO_MCP_ARDUINO_SERVER>",
"args": [],
"env": {
"WIREVIZ_PATH": "<YOUR_WIREVIZ_PATH>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}