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.
PATH
mcp[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": "<your-openai-api-key>"
}
}
}
}
LOG_LEVEL=DEBUG
for verbose logs.arduino-cli core install <spec>
.arduino-cli
commands manually to debug.MIT
Seamless access to top MCP servers powering the future of AI integration.