MCP for IoT 是一个用 Go 实现的 模型上下文协议 (MCP) 服务器,允许像 Claude 这样的AI模型直接与IoT设备(特别是Arduino板)交互。此服务器作为Claude和Arduino硬件之间的桥梁,使AI控制的硬件自动化成为可能。
https://github.com/user-attachments/assets/46d7d731-f5d0-4acd-b53e-c00be8b83215
git clone https://github.com/sukeesh/mcp-iot-go.git
cd mcp-iot-go
go install
二进制文件将安装到你的GOBIN目录中,该目录应在PATH中。
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)配置Claude桌面应用:
claude_desktop_config.json中添加以下内容:{
"mcpServers": {
"iot": {
"command": "<mcp-iot-go二进制文件路径>",
"env": {}
}
}
}
| 工具 | 描述 |
|---|---|
port_list | 列出所有可用的串行端口 |
read_serial_line | 从指定的串行端口读取一行数据 |
write_digital | 向指定端口上的引脚写入数字值(HIGH/LOW) |
buzzer_control | 控制连接到Arduino引脚的蜂鸣器,可选持续时间 |
设置完成后,你可以通过Claude直接与Arduino硬件交互:
main.go - MCP服务器设置和工具定义internal/tools.go - Arduino通信工具实现arduino/firmware.ino - 处理命令的Arduino固件欢迎贡献!请随时提交Pull Request。