arduino
An arduino mcp server written in go
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:
-
Clone the repository git clone https://github.com/dido18/arduino-mcp-server.git
-
Build the Go project cd arduino-mcp-server go build . This will produce a binary named arduino-mcp-server in the current directory.
-
Move the binary to a convenient location (optional but recommended) mv arduino-mcp-server ~/arduino-mcp-server
-
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
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go