myIO MCP服务器
myIO智能家居控制器系统的模型上下文协议(MCP)服务器。
概述
此MCP服务器使AI助手能够通过标准化协议控制和监控myIO智能家居设备。它提供了控制开关、继电器、PWM设备和读取传感器数据的工具。
特性
- 切换控制:打开/关闭开关、切换和检查状态
- 继电器控制:具有开/关/切换操作的控制继电器
- PWM控制:为可调光设备设置PWM值(0-100%)
- 传感器读数:读取传感器值和状态
- 设备发现:列出所有连接的设备
安装
先决条件
- Node.js 16或更高版本
- 访问网络上的myIO控制器
- myIO控制器的IP地址
安装依赖项
npm install构建项目
npm run build配置
服务器要求通过环境变量配置myIO控制器的基本URL:
export MYIO_BASE_URL="http://192.168.1.100"备注:替换 192.168.1.100 使用myIO控制器的实际IP地址。myIO控制器的默认端口通常为843。
例如,如果您的myIO位于IP 192.168.1.50 在端口843上:
export MYIO_BASE_URL="http://192.168.1.50:843"用法
运行服务器
npm start或者使用自定义配置:
MYIO_BASE_URL="http://192.168.1.50:843" npm start发展模式
对于自动重建的开发:
npm run watch与MCP客户端一起使用
要将此服务器与MCP客户端(如Claude Desktop)一起使用,请将其添加到MCP配置中:
{
"mcpServers": {
"myio": {
"command": "node",
"args": ["/path/to/myio-mcp/dist/index.js"],
"env": {
"MYIO_BASE_URL": "http://192.168.1.100:843"
}
}
}
}可用工具
切换控制
myio_switch_on-打开开关设备myio_switch_off-关闭开关设备myio_switch_toggle-切换开关设备状态myio_switch_status-获取当前开关状态
继电器控制
myio_relay_on-打开继电器myio_relay_off-关闭继电器myio_relay_toggle-切换继电器状态myio_relay_status-获取当前继电器状态
PWM控制
myio_pwm_set-设置PWM值(0-100%)myio_pwm_off-关闭PWM设备(0%)myio_pwm_on_full-将PWM设备打开至满功率(100%)myio_pwm_status-获取当前PWM值
传感器读数
myio_sensor_read-读取传感器值myio_sensor_status-获取传感器状态和元数据
设备管理
myio_list_devices-列出myIO系统中的所有设备
示例用法
一旦配置了MCP客户端,您就可以使用自然语言与myIO设备进行交互:
- “打开客厅灯”(开关控制)
- “将卧室调光器设置为50%”(PWM控制)
- “厨房里的温度是多少?”(传感器读数)
- “切换车库门继电器”(继电器控制)
- “显示我的所有设备”(设备列表)
API 参考
服务器通过REST API端点与myIO通信:
GET /api/devices-列出所有设备GET /api/devices/{id}-获取设备状态POST /api/switch/{id}-设置开关状态POST /api/relay/{id}-设置继电器状态POST /api/pwm/{id}-设置PWM值GET /api/sensor/{id}-读取传感器值
备注:这些端点基于标准myIO API模式。请参阅您的myIO Valet API文档(IO Valet-3.9+API_HU.pdf),了解您的特定myIO版本所使用的确切端点结构。
项目结构
myio-mcp/
├── src/
│ ├── index.ts # Main MCP server entry point and tool implementations
│ └── api.ts # myIO REST API client
├── dist/ # Compiled JavaScript output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── API_REFERENCE.md # API documentation and integration notes
└── README.md # This file发展
脚本
npm run build-将TypeScript编译为JavaScriptnpm start-运行已编译的服务器npm run dev-在一个命令中构建和运行npm run watch-开发观看模式
添加新工具
要添加新工具,请执行以下操作:
- 在中创建新文件
src/tools/(例如。,newdevice.ts) - 实现刀具注册功能
- 导入并注册
src/index.ts
故障排除
连接问题
如果无法连接到myIO控制器:
- 验证IP地址是否正确
- 检查myIO控制器是否已通电并连接到网络
- 确保您的计算机可以ping myIO IP地址
- 验证端口号(默认值通常为843)
- 检查myIO版本是否需要身份验证
认证
某些myIO配置可能需要HTTP身份验证。如果遇到401个错误,您可能需要修改API客户端以包含身份验证头。
API实施状态
重要:当前API客户端实现使用遵循通用REST约定的占位符REST API端点。要将此服务器与实际的myIO代客泊车系统一起使用,您需要更新中的API端点 src/api.ts 以匹配IO Valet-3.9+API_HU.pdf文档中的API规范。看 API_REFERENCE.md 了解需要更新的内容的详细信息。
许可证
麻省理工学院
支持
有关myIO的具体问题,请参阅:
- myIO Valet API文档:IO Valet-3.9+API_HU.pdf
- 智能家居忍者网站:https://smarthomeninja.hu/
对于MCP服务器问题,请在此存储库上打开问题。
