About arduino-mcp-server
arduino-mcp-server is an Arduino MCP server written in Go. Compatible clients can list connected boards, compile sketches, and optionally upload them to a board.
Key features
- 01List connected boards
- 02Compile Arduino sketches
- 03Optionally upload compiled sketches
- 04Set FQBN, sketch path, and port
Use cases
- 01Check which Arduino boards are connected
- 02Compile and optionally upload an Arduino sketch
MCP support
As an MCP server, it exposes tools for listing boards, compiling sketches, and uploading programs to clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEarduino-mcp-server
An arduino mcp server written in golang.
Installation
Vscode
git clone [email protected]:dido18/arduino-mcp-server.gitcd arduino-mcp-server && go build .- move the binary into a location (e.g.
mv arduino-mcp-server ~/arduino-mcp-server) - use the location in the
commandfield of thesettings.json(or can add it to a file called.vscode/mcp.jsonin your workspace)
{
// settings.json
"mcp": {
"servers": {
"arduino-mcp-server": {
"type": "stdio",
"command": "~/arduino-mcp-server",
"args": []
}
}
},
}
Tools:
list_boards: list the connected board to the pccompile: compile (and optionally upload) a sketchfqbnthe fqbn of the boardsketchthe path of the sketch to compileuploadif True perform the uploadportthe port wher to upload
upload: uploadfqbnthe fqbn of the boardsketchthe path of the sketch to compileportthe port where to upload
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.