关于 MCP for IOT
MCP for IOT 是一个 Go 语言 MCP 服务,可连接 Claude 或其他兼容客户端与 Arduino 硬件。它支持访问串口数据,并控制数字引脚和蜂鸣器。
主要功能
- 01列出可用串口
- 02读取 Arduino 串口数据
- 03设置数字引脚值
- 04按时长控制蜂鸣器
适用场景
- 01检查可用串口
- 02读取 Arduino 的一行数据
- 03切换 LED 或继电器引脚
- 04启动已连接的蜂鸣器
MCP 相关
该服务向 MCP 客户端提供列出串口、读取串口行、写入数字输出和控制蜂鸣器的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
面向 IoT 的 MCP
面向 IoT 设备(Arduino)的 Model Context Protocol (MCP) 服务
概述
面向 IoT 的 MCP 是 Model Context Protocol (MCP) 服务的 Go 实现,可让 Claude 等 AI 模型直接与 IoT 设备交互,尤其是 Arduino 开发板。此服务充当 Claude 与 Arduino 硬件之间的桥梁,实现由 AI 控制的硬件自动化。
功能
- 🔌 列出可用的串行端口
- 📡 读取 Arduino 串行端口的数据
- 🚦 控制数字引脚(LED、继电器等)
- 🔊 控制蜂鸣器的开关和持续时间
- 🤖 与 Claude AI 无缝集成
用法
https://github.com/user-attachments/assets/46d7d731-f5d0-4acd-b53e-c00be8b83215
前提条件
- Go(版本 1.24 或更高)
- 带 USB 连接的 Arduino 硬件
- Claude 桌面应用或兼容的 MCP 客户端
安装
从源代码构建
git clone https://github.com/sukeesh/mcp-iot-go.git
cd mcp-iot-go
go install
二进制文件将安装到 GOBIN 目录,该目录应位于 PATH 中。
Arduino 设置
- 将 Arduino 连接到计算机
- 上传提供的 Arduino 固件:
arduino/firmware.ino
此固件通过串行通信接收命令:
M,pin,mode- 设置引脚模式(例如,M,6,OUTPUT)D,pin,value- 控制数字引脚(例如,D,6,HIGH或D,6,LOW)BZ,pin,state- 控制蜂鸣器(例如,BZ,8,ON或BZ,8,OFF)
配置 MCP 客户端
配置 Claude Desktop:
- 打开 Claude Desktop → Settings → Developer → Edit Config
- 将以下内容添加到
claude_desktop_config.json:
{
"mcpServers": {
"iot": {
"command": "<path-to-mcp-iot-go-binary>",
"env": {}
}
}
}
- 重启 Claude Desktop
可用工具
| 工具 | 描述 |
|---|---|
port_list | 列出所有可用的串行端口 |
read_serial_line | 从指定的串行端口读取一行数据 |
write_digital | 向指定端口上的引脚写入数字值(HIGH/LOW) |
buzzer_control | 控制连接到 Arduino 引脚的蜂鸣器,可选设置持续时间 |
使用示例
设置完成后,你可以通过 Claude 直接与 Arduino 硬件交互:
- “列出所有可用的串行端口”
- “读取端口 /dev/cu.usbmodem12401 上 Arduino 的数据”
- “打开引脚 6 上的红色 LED”
- “让引脚 8 上的蜂鸣器响 2 秒”
开发
项目结构
main.go- MCP 服务设置和工具定义internal/tools.go- Arduino 通信工具的实现arduino/firmware.ino- 用于处理命令的 Arduino 固件
依赖项
- mcp-go - 用于实现 MCP 的 Go 库
- go.bug.st/serial - 串行端口通信库
贡献
欢迎贡献!请随时提交 Pull Request。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。