Get the FREE Ultimate OpenClaw Setup Guide →

arduino

An arduino mcp server written in go

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio dido18-arduino-mcp-server ~/arduino-mcp-server

How to use

This MCP server implements an Arduino-compatible MCP service written in Go. It exposes a standard stdio-based interface that can be wired into the MCP ecosystem (for example, through a VS Code extension) to manage Arduino sketches and boards. The server provides a set of tools focused on Arduino development workflows: listing connected boards, compiling sketches, and uploading them to a target board. You can integrate the server into your editor's MCP configuration so that commands such as listing boards and compiling/uploading sketches run through the MCP protocol.

How to install

Prerequisites:

  • Go installed and properly configured on your system
  • A built binary available for arduino-mcp-server (as built from the repository)

Installation steps:

  1. Clone the repository git clone https://github.com/dido18/arduino-mcp-server.git

  2. Build the Go project cd arduino-mcp-server go build . This will produce a binary named arduino-mcp-server in the current directory.

  3. Move the binary to a convenient location (optional but recommended) mv arduino-mcp-server ~/arduino-mcp-server

  4. Configure the MCP integration (e.g., VS Code settings) to reference the binary: Ensure the following in your settings.json (or in .vscode/mcp.json in your workspace):

    { // settings.json "mcp": { "servers": { "arduino-mcp-server": { "type": "stdio", "command": "~/arduino-mcp-server", "args": [] } } }, }

Notes:

  • Adjust the command path to where you place the binary if you chose a different location.
  • The server expects to be used via the MCP protocol; the editor will pass appropriate arguments for operations like list_boards, compile, and upload.

Additional notes

Tips and considerations:

  • Ensure your Arduino CLI/boards definitions are installed and accessible by the system if the server relies on them for fqbn resolution.
  • If you encounter permission errors, verify the binary is executable (chmod +x arduino-mcp-server) and that the path in your MCP config is correct.
  • The server current functionality includes: list_boards, compile (with fqbn, sketch path, and optional upload), and upload (with fqbn, sketch, and port). Familiarize yourself with these commands when configuring your editor.
  • If you need environment variables for custom paths (e.g., ARDUINO_CLI_PATH or BOARD_DEFINITIONS), you can extend the mcp_config with an env section as needed.

Related MCP Servers

Sponsor this space

Reach thousands of developers