Unknown/volt23/mcp-arduino-server
Built by Metorial, the integration platform for agentic AI.
Unknown/volt23/mcp-arduino-server
Server Summary
Manage Arduino sketches
List available boards
Install and manage libraries
Generate circuit diagrams from text
Export WireViz schematics
Perform fuzzy searches for libraries
A FastMCP-powered bridge exposing arduino-cli functionality via the Model Context Protocol (MCP). Manage sketches, boards, libraries, files, plus generate WireViz schematics from YAML or natural language.
PATHmcp[cli])From PyPI:
pip install mcp-arduino-server
From source:
git clone https://github.com/Volt23/mcp-arduino-server.git
cd mcp-arduino-server
pip install .
Environment variables override defaults:
| Variable | Default / Description |
|---|---|
| ARDUINO_CLI_PATH | auto-detected |
| WIREVIZ_PATH | auto-detected |
| MCP_SKETCH_DIR | ~/Documents/Arduino_MCP_Sketches/ |
| LOG_LEVEL | INFO |
| OPENAI_API_KEY | your OpenAI API key (required for AI‑powered WireViz) |
| OPENROUTER_API_KEY | optional alternative to OPENAI_API_KEY |
mcp-arduino-server
Server listens on STDIO for JSON-RPC MCP calls. Key methods:
create_new_sketch(name)list_sketches()read_file(path)write_file(path, content[, board_fqbn]) (auto-compiles & opens .ino)verify_code(sketch, board_fqbn)upload_sketch(sketch, port, board_fqbn)lib_search(name[, limit])lib_install(name)list_library_examples(name)list_boards()board_search(query)rename_file(src, dest)remove_file(path) (destructive; operations sandboxed to home & sketch directories)generate_circuit_diagram_from_description(desc, sketch="", output_base="circuit") (AI‑powered; requires OPENAI_API_KEY, opens PNG automatically)To integrate with MCP clients (e.g., Claude Desktop), set your OpenAI API key in the environment (or alternatively OPENROUTER_API_KEY for OpenRouter):
{
"mcpServers": {
"arduino": {
"command": "/path/to/mcp-arduino-server",
"args": [],
"env": {
"WIREVIZ_PATH": "/path/to/wireviz",
"OPENAI_API_KEY": ""
}
}
}
}
LOG_LEVEL=DEBUG for verbose logs.arduino-cli core install .arduino-cli commands manually to debug.MIT