mcpField
A
Arduino MCP Server

Arduino MCP Server

本地服务
github.com开发工具334 周前更新

关于 Arduino MCP Server

Arduino MCP Server 通过 arduino-cli 将 AI 助手连接到 Arduino 开发板,支持环境设置、程序编译上传、串口交互和电气安全检查。

主要功能

  1. 01检测开发板和串口
  2. 02安装并管理核心与库
  3. 03编译并上传草图
  4. 04管理有状态串口会话
  5. 05检查电气安全和引脚信息

适用场景

  1. 01为开发板设置 arduino-cli
  2. 02向已连接的开发板上传草图
  3. 03等待串口输出就绪消息
  4. 04发送硬件命令前检查引脚安全

MCP 相关

它向 MCP 客户端提供 Arduino CLI 操作、串口会话控制、安全检查、开发板参考资源和设置提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"akshatnerella-arduino": {
"command": "npx",
"args": [
"-y",
"arduino-mcp-server"
],
"env": {
"ARDUINO_CLI_PATH": "<ARDUINO_CLI_PATH>",
"ARDUINO_SKETCH_ROOT": "<ARDUINO_SKETCH_ROOT>"
}
}
}
}
启动命令npx -y arduino-mcp-server
需要配置的环境变量
ARDUINO_CLI_PATHOptional path to arduino-cli binary. Defaults to arduino-cli on PATH.
ARDUINO_SKETCH_ROOTOptional absolute path restricting sketch operations to this directory.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmarduino-mcp-server0.2.7

工具

21

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

arduino-mcp-server

npm version License: MIT Node.js 20+

让你的 AI 助手全面控制 Arduino——通过自然语言编译、上传、监控串口并验证接线安全。

这是 HardwareMCP 生态系统的一部分——一组连接 AI 与实体硬件的开源 MCP 服务。


功能介绍

AI 助手可以控制 Jira、GitHub 和数据库,却无法与微控制器通信——现在,这一切成为可能。

arduino-mcp-server 将 arduino-cli 封装为 MCP 服务,让你的 AI 可以:

  • 检测已连接的开发板和端口
  • 无需使用终端即可编译和上传草图
  • 监控串口输出并管理有状态会话(打开、读取、等待、写入、关闭)
  • 向硬件发送命令前运行电气安全检查
  • 管理依赖项——核心、库和 CLI 安装

快速开始

安装:

npm install -g arduino-mcp-server

添加到 Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "arduino": {
      "command": "npx",
      "args": ["-y", "arduino-mcp-server"],
      "env": {
        "ARDUINO_CLI_PATH": "arduino-cli",
        "ARDUINO_SKETCH_ROOT": "/path/to/your/sketches"
      }
    }
  }
}

需要在 PATH 中安装 arduino-cli,也可以让该服务为你安装。


你可以这样说

从头开始初始化:

“检查是否已安装 Arduino CLI,并为 Arduino Uno 配置好一切。”

编译和上传:

“编译我的 Blink 草图,并将其上传到 COM6 上的 Uno。”

监控串口:

“以 115200 的波特率打开 COM6 上的串口,并等待设备输出 READY。”

安全优先的工作流:

“在我发送命令之前,针对 Arduino Uno 的 13 号引脚执行安全预检,电压为 5V,电流为 25mA。”


工具

工具功能
arduino_cli_doctor检查 Arduino CLI 的安装情况和版本
install_arduino_cli指引完成 arduino-cli 安装
detect_hardware检测已连接的开发板并推断 FQBN
list_connected_boards列出所有已连接的 Arduino 开发板
list_serial_ports列出可用串口
ensure_core_installed检查/安装开发板核心
compile_sketch为目标开发板编译草图
upload_sketch将已编译的草图上传到开发板
upload_and_wait_ready上传并等待设备就绪信号
serial_open_session打开有状态串口会话
serial_read读取已缓冲的串口数据
serial_expect等待串口输出中出现指定模式
serial_write通过串口发送数据
serial_close_session关闭串口会话
serial_list_sessions列出活动的串口会话
read_serial_snapshot快速读取一次串口数据
safety_preflight硬件操作前执行电气安全检查
get_board_details获取开发板的引脚和能力详情
list_supported_boards列出 arduino-cli 支持的所有开发板
list_board_reference浏览开发板引脚参考资料
search_board_reference按关键字搜索开发板参考资料

资源:

  • arduino://boards/reference — 结构化的开发板引脚/能力参考资料

提示词:

  • arduino-cli-bootstrap-policy — arduino-cli 设置行为策略
  • arduino-setup-assistant — 引导式 Arduino 环境设置

配置

变量默认值描述
ARDUINO_CLI_PATHarduino-cliarduino-cli 二进制文件的路径
ARDUINO_SKETCH_ROOT(none)将草图路径限制在此目录下

开发

git clone https://github.com/hardware-mcp/arduino-mcp-server
cd arduino-mcp-server
npm install
npm run typecheck
npm run build
npm run dev

HardwareMCP 的一部分

该服务是 HardwareMCP 生态系统的一部分。该生态系统汇集了一组 MCP 服务,让 AI 助手能够真正控制实体硬件。


许可证

MIT——请参阅 LICENSE。

支持

提交问题

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。