Arduino Claude
БесплатноНе проверенMCP 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
Описание
MCP 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.
README
npm version publish docker publish
MCP 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.
Features
- Validate an Arduino sketch folder
- Read and write source files (defaults to main
.ino) - List .ino/.h/.cpp/.c files
- Compile with
arduino-cli(optional) - REST + MCP stdio transport
Requirements
- An Arduino sketch folder (Arduino IDE 2.0 format)
- Node.js 18+
- Optional:
arduino-clifor builds
Installation
Global install:
npm install -g arduino-claude-mcp
Local dev:
npm install
npm run build
npm run build:mcp
Container image:
docker pull eoinedge/arduino-mcp:latest
Usage
Run the REST server
arduino-claude-mcp
Defaults to port 3080. Override with:
$env:PORT=3081
arduino-claude-mcp
Run with Docker (Pi/OpenClaw)
docker run --rm --network host \
-e PORT=3080 \
-e ARDUINO_FQBN=arduino:mbed_nano:nano33ble \
-v /home/pi/pi-openclaw-mcp-stack/workspace/Arduino:/workspace \
eoinedge/arduino-mcp:latest
Run the MCP stdio server
node build/mcp.js
If your REST server is not on the default port, set one of:
ARDUINO_API_URL(full URL, for examplehttp://localhost:3081)ARDUINO_API_PORT(port only, for example3081)
MCP client config
{
"mcpServers": {
"arduino-mcp": {
"command": "node",
"args": ["/absolute/path/to/build/mcp.js"]
}
}
}
Tutorial (10 minutes)
- Create a sketch folder whose main
.inomatches the folder name. - Validate it:
POST /validate- Body:
{ "projectRoot": "/path/to/MySketch" }
- Read the main sketch:
POST /read_source- Body:
{ "projectRoot": "/path/to/MySketch" }
- Write a small change:
POST /write_source- Body:
{ "projectRoot": "/path/to/MySketch", "content": "// your code" }
- Build (optional):
- Set
ARDUINO_FQBN(examplearduino:avr:uno) POST /build- Body:
{ "projectRoot": "/path/to/MySketch" }
- Set
Environment variables
PORT: REST server port (default3080)ARDUINO_API_URL: REST base URL for the MCP bridgeARDUINO_API_PORT: REST port for the MCP bridgeARDUINO_CLI: arduino-cli executable (defaultarduino-cli)ARDUINO_FQBN: fully qualified board name for compileARDUINO_BUILD_TIMEOUT_MS: build timeout in ms (default120000)
REST API
Health
GET /health->{ status: "ok" }
Validate
POST /validatebody:{ projectRoot: string }- Returns
{ valid, inoPath, projectRoot }
List sources
POST /list_sourcesbody:{ projectRoot: string }- Returns
{ files: string[] }
Read source
POST /read_sourcebody:{ projectRoot: string, relativePath?: string }- Returns
{ path, content }
Write source
POST /write_sourcebody:{ projectRoot: string, relativePath?: string, content: string }- Returns
{ success, path, bytes }
Append source
POST /append_sourcebody:{ projectRoot: string, relativePath?: string, content: string }- Returns
{ success, path, bytes }
Build
POST /buildbody:{ projectRoot: string, timeoutMs?: number }- Returns
{ success, exitCode, stdout, stderr } - Requires
arduino-cliandARDUINO_FQBN
Clawdbot / Moltbot compatibility
This repo ships a skill at skills/arduino-mcp/SKILL.md.
Enable it in Moltbot:
{
"skills": {
"load": {
"extraDirs": ["~/.clawdbot/skills"],
"watch": true,
"watchDebounceMs": 250
},
"entries": {
"arduino-mcp": {
"enabled": true,
"env": {}
}
}
}
}
Example prompts
- "Open this Arduino sketch and add a blinking LED on pin 13."
- "List all source files and explain what each does."
- "Append a serial debug line and recompile for an Uno board."
Testing
npm test
Tests use a temporary sketch folder and do not require arduino-cli.
Publishing
- Update
package.jsonversion - Build:
npm run build npm run build:mcp - Publish:
npm publish --access public - Tag and push to trigger
.github/workflows/publish.yml
Docker publishing
Manual push:
docker login
docker buildx build --platform linux/amd64,linux/arm64 \
-t eoinedge/arduino-mcp:latest \
-t eoinedge/arduino-mcp:<version> \
--push .
GitHub Actions:
docker-publish.ymlpushes Docker images onmainand version tags.- Required repo secrets:
DOCKERHUB_USERNAMEDOCKERHUB_TOKEN
Project structure
src/index.tsREST APIsrc/mcp.tsMCP stdio bridgeskills/arduino-mcp/SKILL.mdagent skillserver.jsonMCP registry metadata
Contributing
PRs welcome. Please keep changes small and include tests where possible.
License
MIT
Установка Arduino Claude
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/eoinjordan/arduino-mcpFAQ
Arduino Claude MCP бесплатный?
Да, Arduino Claude MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Arduino Claude?
Нет, Arduino Claude работает без API-ключей и переменных окружения.
Arduino Claude — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Arduino Claude в Claude Desktop, Claude Code или Cursor?
Открой Arduino Claude на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Arduino Claude with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
