Metadata-Version: 2.4 Name: lzwcai-mcp-iot Version: 0.3.3 Summary: IoT设备控制服务器,使用FastMCP框架提供设备操作功能 Author-email: LZWCAI开发团队 License-Expression: LicenseRef-Proprietary Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Operating System :: OS Independent Requires-Python: >=3.8 Description-Content-Type: text/markdown Requires-Dist: fastmcp>=0.1.0 Requires-Dist: requests Provides-Extra: dev Requires-Dist: pytest>=7.0.0; extra == "dev" Requires-Dist: black>=23.1.0; extra == "dev" Requires-Dist: isort>=5.12.0; extra == "dev" Requires-Dist: flake8>=6.0.0; extra == "dev" Requires-Dist: mypy>=1.0.0; extra == "dev" # lzwcai-mcp-iot [![Version](https://img.shields.io/badge/version-0.3.1-blue.svg)](https://pypi.org/project/lzwcai-mcp-iot/) [![Python](https://img.shields.io/badge/python-3.8%2B-brightgreen.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-Proprietary-red.svg)]() > IoT设备控制服务器,使用 FastMCP 框架提供智能设备的查询、定位和控制功能 ## ✨ 特性 - ✅ 支持位置筛选查询设备 - ✅ 支持获取所有可用空间列表 - ✅ 支持精确的设备ID控制 - ✅ 支持用户空间定位 - ✅ 自动格式化设备列表输出 - ✅ 完整的错误处理和日志记录 ## 📦 安装 ```bash pip install lzwcai-mcp-iot ``` 或从源码安装: ```bash git clone cd lzwcai_mcp_iot pip install -e . ``` ## 🚀 快速开始 ### 启动服务 ```bash lzwcai-mcp-iot ``` ### 配置要求 服务启动时需要配置 `employeeId`,系统会自动初始化企业ID。 ## 🔧 核心工具 本服务提供 **4 个核心工具**,用于智能设备的查询、定位和控制。 ### 1. iot_get_devices_by_location - 根据位置获取设备 **功能**:查询指定位置/房间的所有智能设备 **使用场景**: - "办公室有哪些设备" - "会议室有什么设备" - "客厅设备列表" **参数**: - `location` (必填):位置/房间名称 **返回**:该位置的设备清单(设备ID、名称、类型、状态、控制命令等) --- ### 2. iot_get_all_spaces_and_devices - 获取所有空间位置信息 **功能**:获取系统中所有可用空间位置的列表(仅空间名称,不包含设备详情) **使用场景**: - "显示所有空间" - "有哪些位置" - "空间列表" - "一共有多少个房间" **参数**:无需参数 **返回**: - 空间总数 - 所有空间名称的列表 **注意**:此工具只返回空间清单,如需查看某个空间的设备,请使用 `iot_get_devices_by_location` 工具 --- ### 3. iot_device_precise_controller - IoT设备精确控制 **功能**:通过设备ID精确控制特定设备 **使用场景**: - 控制特定的灯光、空调、门禁等 - 需配合查询工具获取设备信息后使用 **参数**: - `entityId` (必填):设备唯一ID - `command` (必填):操作命令(如 turn_on、turn_off、set_temperature) - `params` (必填):操作参数(根据命令类型提供,如温度值、亮度等) - `userId` (可选):用户ID **返回**:设备操作结果(成功/失败、设备反馈) --- ### 4. smart_space_device_locator_matcher - 智能空间设备定位 **功能**:查询用户当前所属的空间/位置 **使用场景**: - "我现在在哪" - "当前位置是什么" - "确认一下位置" **参数**: - `userId` (必填):用户ID **返回**:用户所属的空间名称 --- ## 💡 典型使用流程 ### 方式一:查看所有空间 ``` 1. 调用 iot_get_all_spaces_and_devices 获取所有空间列表 2. 选择感兴趣的空间 3. 调用 iot_get_devices_by_location 查看该空间的设备 ``` ### 方式二:查看特定位置的设备 ``` 1. 调用 iot_get_devices_by_location 指定位置 2. 查看该位置的设备清单和状态 ``` ### 方式三:控制设备(两步操作) ``` 1. 调用 iot_get_devices_by_location 获取设备列表 2. 从结果中提取 entityId 和 command 3. 调用 iot_device_precise_controller 执行控制 ``` ### 方式四:定位用户 ``` 1. 调用 smart_space_device_locator_matcher 2. 获取用户当前所属空间 3. 基于位置查询或控制设备 ``` ## 📝 注意事项 1. **企业ID初始化**:服务启动时需要配置 `employeeId`,系统会自动初始化企业ID 2. **日志记录**:所有操作都会记录到日志文件 `lzwcai_mcp_iot.log` 3. **传输方式**:使用 stdio(标准输入输出)方式运行 4. **控制工具配合**:精确控制工具必须配合查询工具使用,不能单独随意填写参数 ## 🛠️ 开发 ### 安装开发依赖 ```bash pip install -e ".[dev]" ``` ### 代码格式化 ```bash # 使用 black 格式化 black lzwcai_mcp_iot/ # 使用 isort 排序导入 isort lzwcai_mcp_iot/ ``` ### 代码检查 ```bash # 使用 flake8 flake8 lzwcai_mcp_iot/ # 使用 mypy mypy lzwcai_mcp_iot/ ``` ### 运行测试 ```bash pytest ``` ## 📄 许可证 专有软件 - 版权所有 © LZWCAI开发团队 ## 📧 联系方式 - 开发团队:LZWCAI开发团队 - 邮箱:dev@lzwcai.com ## 📚 更多文档 详细的工具使用说明请参考 [IoT设备工具说明.md](IoT设备工具说明.md)