4.9 KiB
4.9 KiB
name, description
| name | description |
|---|---|
| edge-mcp-tools | edge_collector 边缘侧本地模型与 MCP 工具接入规范。用于在鲁班猫/RK3566/RK3576/RK3588 等边缘设备部署本地模型后,设计或实现 MCP 工具服务,让模型安全调用网关状态、设备点位、历史数据、诊断、配置查询和运维只读能力。 |
edge_collector MCP 工具接入
目标
让边缘侧本地模型可以通过受控工具访问网关能力,而不是直接读取任意文件、执行任意命令或绕过现有服务。
典型链路:
本地模型
-> MCP Client
-> edge MCP tools
-> configurator / collector / 本地数据库 / 只读诊断命令
适用场景
- 在 RK3566/RK3576/RK3588 鲁班猫上部署 Qwen 等本地模型。
- 给本地模型增加“查询设备状态”“分析点位趋势”“解释报警”“读取网关状态”等工具。
- 把边缘侧诊断能力封装成 AI 可调用工具。
- 设计 MCP 工具权限、输入输出和安全边界。
设计原则
- 默认只读。
- 工具服务独立运行,不耦合
edge主服务。 - 本地模型不直接访问数据库文件、配置文件和 shell。
- 所有工具必须有明确输入 schema、输出 schema 和错误语义。
- 写配置、重启服务、删除数据等高风险动作第一版不开放。
- 工具返回用户可理解信息,不泄露密钥、路径、Token、内部模型配置。
推荐第一版工具
优先做只读工具:
edge_get_gateway_status:读取网关状态、版本、运行时间。edge_list_devices:列出设备名称、协议、在线状态。edge_list_points:列出某设备点位名称、类型、单位。edge_read_latest_values:读取指定设备/点位最新值。edge_query_history_summary:查询历史数据摘要,不返回超大原始数据。edge_get_alarm_summary:读取报警或异常摘要。edge_get_network_status:读取网络、WiFi、4G、端口转发只读状态。edge_get_service_health:读取edge、独立 agent 状态。
暂不开放:
- 修改协议配置。
- 保存 AI Key。
- 重启服务。
- 删除缓存或历史数据。
- 执行任意 shell。
- 读取任意文件。
工具命名
- 使用
edge_前缀。 - 动词清晰:
get、list、query、analyze。 - 避免泛化工具名,例如
run_command、read_file。
输入输出
输入必须限制范围:
gateway_id
device_id 或 device_name
point_id 或 point_name
time_range
limit
输出建议结构:
{
"ok": true,
"data": {},
"warnings": [],
"source": "configurator",
"timestamp": "2026-06-16T00:00:00+08:00"
}
错误要可行动:
{
"ok": false,
"error_code": "DEVICE_NOT_FOUND",
"message": "未找到指定设备,请确认设备名称或 ID",
"suggestion": "可先调用 edge_list_devices 查看可用设备"
}
与现有服务集成
优先通过现有 API 或受控本地接口访问:
configuratorAPI。collector状态接口或已有数据接口。- 本地只读数据库查询。
- systemd 只读状态命令。
不要绕过业务逻辑直接修改配置文件。
本地模型注意
参考已有本地模型文档:
docs/本地模型/Qwen2.5-0.6B-Instruct在RK3566本地部署方案.mddocs/本地模型/Qwen2.5-VL-3B-Instruct在RK3576鲁班猫3边缘图文模型部署方案.mddocs/本地模型/Qwen2.5-14B-Instruct在16G_RK3588鲁班猫5部署方案.md
设计工具时必须考虑:
- 模型上下文有限,工具返回要摘要化。
- RK3566/RK3576 资源有限,工具查询要分页、限流。
- 大历史数据先聚合摘要,再按需返回异常片段。
- 离线运行时不要依赖云端 AI Provider。
安全边界
结合 edge-security-secrets:
- 不返回 API Key、JWT、MQTT 密码、SSH 密码。
- 不暴露真实配置文件完整内容。
- 不开放任意命令执行。
- 日志中记录工具名、参数摘要、耗时、结果状态,不记录敏感值。
- 对外接口只监听本机或受控内网,默认不暴露公网。
部署方式
第一版建议使用 Python 独立 agent:
- 遵循
edge-python-agent。 - 使用 systemd 独立托管。
- 配置文件动态生成但不覆盖已有配置。
- 打包和同步遵循
edge-config-lifecycle。
服务名建议:
edge-mcp-tools
验证计划
至少验证:
- 工具列表可发现。
- 每个工具 schema 正确。
- 正常查询返回结构化数据。
- 设备不存在、点位不存在、时间范围过大时错误可理解。
- 返回内容脱敏。
- 大数据查询有 limit 或摘要。
- 服务重启后配置保留。
- 本地模型能完成一个端到端问题,例如“分析最近 1 小时某设备是否异常”。
文档输出
设计 MCP 工具时输出:
## 工具清单
## 权限边界
## 输入输出 schema
## 数据来源
## 部署方式
## 安全与脱敏
## 验证计划