Files
yuanzhipeng ec7e7fd7dc feat(lzwcai-demp-tool-server-dify-to-mcp): 初始化 Dify 集成工具模块
新增 Dify 到 MCP 的集成工具,支持通过 Dify API 将模型部署到 MCP 平台并进行推理。
该模块包含完整的服务器实现、依赖配置和命令行启动脚本。

主要功能:
- 支持 Workflow 和 Completion 模式的调用
- 自动翻译工具名称为驼峰命名格式
- 提供文件上传与任务停止接口
- 兼容流式与非流式响应处理
2025-12-16 17:52:04 +08:00

224 lines
5.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Metadata-Version: 2.4
Name: lzwcai-mcp-iot
Version: 0.3.3
Summary: IoT设备控制服务器使用FastMCP框架提供设备操作功能
Author-email: LZWCAI开发团队 <dev@lzwcai.com>
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 <repository-url>
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)