arduino-mcp
Provides tools for detecting connected Arduino boards, managing cores and libraries, compiling and uploading sketches, and performing serial I/O for Arduino-based projects.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@arduino-mcpcompile examples/Blink for arduino:avr:uno and upload to the connected port"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
arduino-mcp
Local stdio MCP server that wraps arduino-cli so agents can detect boards, manage cores/libraries, compile/upload sketches, and talk serial — without shell gymnastics.
Built as a standalone package (reuse across projects). Designed with Ratchet Phase 0.3 / 2.7 in mind (Uno + Portenta, 115200 UART), but not coupled to that firmware tree.
Prerequisites
Node.js 20+
Arduino CLI on your machine:
Standalone
arduino-clionPATH, orArduino IDE 2.x (this server auto-detects the IDE-bundled
arduino-cli.exeon Windows), orSet
ARDUINO_CLI_PATHto the executable
Optional boards for Ratchet:
Board | Core to install | FQBN |
Arduino Uno |
|
|
Portenta H7 |
|
|
Portenta note: OpenMV firmware and the Arduino Mbed core overwrite each other. Switching is deliberate — use MCP
uploadonly when you intend to be on the Arduino core.
Related MCP server: Arduino MCP Server (Simple)
Install
cd arduino-mcp
npm install
npm run buildTools
Tool | Purpose |
| Health check + resolved CLI path |
| Detect connected boards / ports |
| List/install platforms |
| Library Manager |
| Build a sketch for an FQBN |
| Flash a board on a port |
| Serial I/O (default baud 115200) |
Serial buffers are capped (~64KB). Prefer hex encoding for binary UART frames.
Cursor / Claude Desktop (stdio)
Do not add this to Cursor until you have run a local smoke test and explicitly approve the MCP config (local serial + upload access).
Example Cursor MCP entry (user-level or project .cursor/mcp.json):
{
"mcpServers": {
"arduino": {
"command": "node",
"args": ["C:/Users/YOU/CursorProjects/arduino-mcp/dist/index.js"],
"env": {
"ARDUINO_CLI_PATH": "C:/Users/YOU/Downloads/arduino-cli_1.5.2-rc.1_Windows_64bit/arduino-cli.exe"
}
}
}
}Omit ARDUINO_CLI_PATH if the IDE-bundled CLI is enough or arduino-cli is on PATH.
Dev without build:
{
"command": "npx",
"args": ["tsx", "C:/Users/YOU/CursorProjects/arduino-mcp/src/index.ts"]
}Smoke test
npm run smokeWith a board plugged in:
$env:SMOKE_UPLOAD_PORT = "COM3" # your port from board list
npm run smokeThe smoke script compiles examples/Blink for arduino:avr:uno (installs the AVR core if missing). Upload is optional.
Example agent flow (Uno blink)
arduino_cli_versioncore_install→arduino:avr(once)board_list→ noteCOMxcompile→ sketchexamples/Blink, fqbnarduino:avr:unoupload→ same sketch/fqbn + portserial_open→ port, baud115200serial_read→ expectblink-high/blink-lowlinesserial_close
Security notes
All
arduino-cliinvocations usespawnwith an argv array (no shell interpolation).This server can flash firmware and open serial ports on your machine — treat it as a privileged local tool.
Prefer absolute sketch paths from trusted projects.
License
Apache-2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for Arduino CLI interactions, built with FastMCP. This server enables AI agents to seamlessly interact with Arduino CLI for development, debugging, code verification, and more.162MIT
- Alicense-qualityDmaintenanceEnables AI agents to interact with Arduino boards for compiling, uploading sketches, and serial communication.6MIT
- Alicense-qualityBmaintenanceA lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.5,309MIT
- Alicense-qualityDmaintenanceMCP server for Arduino IDE 2.0 sketches. It exposes a small REST API plus an MCP stdio bridge so agents can read and write the main .ino file, list sources, and optionally compile with arduino-cli.13MIT
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Artifact store for AI agents. Hosted OAuth at mcp.artifacta.io/mcp; local stdio via npm/PyPI.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JShort-bufr/arduino-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server