A
Arduino MCP Server
An open source Arduino MCP server that enables AI assistants to interact with Arduino using structured tool access via the Model Context Protocol.
Created 2/28/2026
Updated about 8 hours ago
README
Repository documentation and setup instructions
Arduino MCP Server
Arduino MCP server for arduino-cli workflows: dependency checks/install, hardware detection, compile/upload, serial monitoring, and board reference lookup.
Quick Start
Install globally:
npm install -g arduino-mcp-server
Add to your AI agent MCP config.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"arduino": {
"command": "npx",
"args": ["-y", "arduino-mcp-server"],
"env": {
"ARDUINO_CLI_PATH": "arduino-cli",
"ARDUINO_SKETCH_ROOT": "D:/Projects/arduino-sketches"
}
}
}
}
Codex MCP config:
{
"mcpServers": {
"arduino": {
"command": "npx",
"args": ["-y", "arduino-mcp-server"],
"env": {
"ARDUINO_CLI_PATH": "arduino-cli",
"ARDUINO_SKETCH_ROOT": "D:/Projects/arduino-sketches"
}
}
}
}
Features
arduino_cli_doctorandinstall_arduino_clifor dependency bootstrapdetect_hardwarewith board/FQBN inference and user-confirmation guidanceensure_core_installedwith automatic core setup from FQBNcompile_sketchandupload_sketchwith optional auto core install- Serial monitoring and board/port listing tools
- Local board reference resource and setup prompts
Requirements
- Node.js 20+
arduino-cliavailable onPATH(or let the server install it via tools)
Configuration
ARDUINO_CLI_PATH: Arduino CLI command/path (default:arduino-cli)ARDUINO_SKETCH_ROOT: optional absolute root for sketch operations
MCP Surface
Tools:
arduino_cli_doctorinstall_arduino_clidetect_hardwareensure_core_installedcompile_sketchupload_sketchread_serial_snapshotlist_connected_boardslist_supported_boardslist_serial_portsget_board_detailslist_board_referencesearch_board_reference
Resources:
arduino://boards/reference
Prompts:
arduino-cli-bootstrap-policyarduino-setup-assistant
Development
git clone https://github.com/akshatnerella/arduino-mcp-server
cd arduino-mcp-server
npm install
npm run typecheck
npm run build
npm run dev
Release
- PRs into
mainmust come fromrelease/*branches. - PRs must include exactly one bump label:
patch,minor, ormajor.
License
MIT, see LICENSE.
Quick Setup
Installation guide for this server
Install Package (if required)
npx @modelcontextprotocol/server-arduino-mcp-server
Cursor configuration (mcp.json)
{
"mcpServers": {
"akshatnerella-arduino-mcp-server": {
"command": "npx",
"args": [
"akshatnerella-arduino-mcp-server"
]
}
}
}