1. Conduid
  2. Developer Tools
  3. Arduino Server
MCP server · Developer Tools

Arduino Server

MCP Server for Arduino CLI providing sketch, board, library, and file management tools.

Unclaimed Custom license last commit 8 months ago devtools
52Fair

Scored 5 months ago · breakdown

About Arduino Server

Arduino Server is an MCP server published by Volt23 in the Developer Tools category: mCP Server for Arduino CLI providing sketch, board, library, and file management tools.

The repository has 10 stars and 8 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/Volt23/mcp-arduino-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Arduino Server

Powered by Claude · Grounded in docs

I know everything about Arduino Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 6 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

MCP Arduino Server (mcp-arduino-server)

PyPI version

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; requires OPENAI_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=DEBUG for verbose logs.
  • Verify file and serial-port permissions.
  • Install missing cores: arduino-cli core install <spec>.
  • Run arduino-cli commands manually to debug.

License

MIT

README fetched from the repository 6 days ago. The original is authoritative.

Questions

About Arduino Server

How do I install Arduino Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Arduino Server safe to use with an AI agent?

Its trust score is 52 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Arduino Server still maintained?

The last commit was 8 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.