An MCP server for the Arduino CLI, offering tools to manage sketches, boards, libraries, and files.
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
An AI-powered server providing access to multiple models for code analysis, problem-solving, and collaborative development with guided workflows.
A structured development workflow for LLM-based coding, including feature clarification, planning, phased development, and progress tracking.
Provides perfect memory for AI-assisted development by capturing project context snapshots, enabling natural language search, evolution tracking, and code intelligence.
A lightweight, LLM-agnostic RESTful proxy that unifies multiple MCP servers under a single API.
A starter template for building Model Context Protocol (MCP) servers, designed for UI libraries and component registries.
A unified framework for integrating various language models and embedding providers to generate text completions and embeddings.
An MCP client for Cursor that uses OpenRouter.ai to access multiple AI models. Requires an OpenRouter API key.
An MCP server for managing the software development lifecycle, with support for an optional external SQLite database.
An MCP server that allows AI assistants to interact with Ansible Automation Platform (AAP) and Event-Driven Ansible (EDA) infrastructure.
Create secure tunnels to expose local servers to the internet using untun.