MCP Arduino Server
An MCP server for the Arduino CLI, offering tools to manage sketches, boards, libraries, and files.
MCP Arduino Server (mcp-arduino-server)
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.
Requirements
- Python ≥3.10
- arduino-cli in
PATH - MCP SDK (
mcp[cli]) - WireViz (optional; for diagram generation)
- OPENAI_API_KEY (for AI‑powered WireViz)
- thefuzz[speedup] (optional; enables fuzzy local library search)
Installation
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 .
Configuration
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 |
| ARDUINO_SERIAL_LOG_MAX_BYTES | max size per serial log file (bytes; 0 disables) |
| ARDUINO_SERIAL_LOG_ROTATE_COUNT | number of rotated serial logs to keep |
Quick Start
mcp-arduino-server
Server listens on STDIO for JSON-RPC MCP calls. Key methods:
Sketches
create_new_sketch(name)list_sketches()read_file(path)write_file(path, content[, board_fqbn])(auto-compiles & opens.ino)
Build & Deploy
verify_code(sketch, board_fqbn)upload_sketch(sketch, port, board_fqbn)
Libraries
lib_search(name[, limit])lib_install(name)list_library_examples(name)
Boards
list_boards()board_search(query)
Serial Monitor
serial_monitor_start(port, baud, buffer_lines, log_to_file, ...)serial_monitor_read(monitor_id, lines)serial_monitor_list()serial_monitor_stop(monitor_id)
File Ops
rename_file(src, dest)remove_file(path)(destructive; operations sandboxed to home & sketch directories)
WireViz Diagrams
generate_circuit_diagram_from_description(desc, sketch="", output_base="circuit")(AI‑powered; requiresOPENAI_API_KEY, opens PNG automatically)
MCP Client Configuration
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>"
}
}
}
}
Troubleshooting
- Set
LOG_LEVEL=DEBUGfor verbose logs. - Verify file and serial-port permissions.
- Install missing cores:
arduino-cli core install <spec>. - Run
arduino-clicommands manually to debug.
License
MIT
相關伺服器
Alpha Vantage MCP Server
贊助Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Wirekitty
Let your agents generate wireframes for your next app or feature, make iterations, and build off approved designs.
Luskad MCP
Provides access to coding rules and examples for your projects.
lenderwiki
Query 13,000+ US consumer lenders with eligibility criteria, rates, CFPB complaints, and ratings. Find matching lenders by borrower profile, get full profiles, compare lenders, and check eligibility.
RubyGems Package Info
Fetches comprehensive information about Ruby gems from RubyGems.org, including READMEs, metadata, and search functionality.
MCP Config Generator
A web tool for safely adding MCP servers to your Claude Desktop configuration.
GoPeak
The most comprehensive MCP server for Godot Engine. 95+ tools for scene management, GDScript LSP, DAP debugging, screenshot capture, input injection, and CC0 asset library.
Recon Chimera Scaffold
Scaffolds Chimera fuzzing test suites for Solidity smart contracts with invariant properties, handlers, and fuzzer configs
Gateway MCP Server
A gateway server that intelligently routes MCP requests to multiple backend servers based on external configuration.
codegraph-rust
A blazingly fast codebase graphRAG implementation in 100% Rust
Linear Regression MCP
Train a Linear Regression model by uploading a CSV dataset file, demonstrating an end-to-end machine learning workflow.