使用说明
启用MCP服务器
一个模型上下文协议(MCP)服务器,提供与 这个 Enapter EMS. 该服务器使AI助手和其他MCP客户端能够与 Enapter站点、设备和遥测数据。
连接您的AI应用程序
Enapter MCP服务器可作为公共托管服务在
https://mcp.enapter.com/mcp。它使用流式HTTP传输和OAuth 2.0
用于身份验证。
有关如何连接首选AI客户端的具体说明,请 请参阅以下指南:
自我寄宿
如果您更喜欢运行自己的实例,可以使用以下命令自托管服务器 Docker:
docker run --rm --name enapter-mcp-server \
-p 8000:8000 \
enapter/mcp-server:v1.10.0
可以使用环境变量和命令行配置服务器 论据。
可用工具
服务器公开了以下用于与Enapter EMS交互的工具:
| 工具 | 描述 | 访问 | 默认值 |
|---|---|---|---|
search_sites |
在所有具有名称和时区正则表达式过滤的网站中搜索 | 只读 | 已启用 |
search_devices |
按站点、类型和名称搜索设备正则表达式过滤 | 只读 | 已启用 |
search_command_executions |
搜索命令执行历史记录 | 只读 | 已启用 |
read_blueprint |
访问设备蓝图部分(属性、遥测、警报) | 只读 | 已启用 |
get_historical_telemetry |
以可配置的粒度检索时间序列遥测 | 只读 | 已启用 |
search_rules |
在特定站点内搜索自动化规则 | 只读 | 已启用 |
read_rule |
读取规则Lua脚本的分页行 | 只读 | 已启用 |
execute_command |
在设备上执行命令 | 读写 | 禁用 |
create_rule |
创建禁用的MCP托管自动化规则 | 读写 | 禁用 |
edit_rule |
对禁用的MCP管理规则应用内容匹配编辑 | 读写 | 禁用 |
delete_rule |
删除已禁用的MCP管理自动化规则 | 读写 | 已禁用 |
使用示例
以下是如何使用AI助手与Enapter设备交互的现实示例:
示例1:诊断故障排除
用户提示:
我们的一个逆变器刚刚下线。你能检查一下它的状态并告诉我吗 活动警报是什么意思?
发生了什么:
- 服务器找到特定的逆变器设备
- 检索其当前连接状态和活动警报
- 读取设备蓝图,将警报代码转换为人类可读的描述
- 向用户呈现问题摘要
示例2:历史分析和绩效
用户提示:
主暖通空调的平均功耗和温度是多少 过去7天的系统?
发生了什么:
- 服务器定位暖通空调系统设备
- 检查其蓝图,以确定功耗和温度的正确遥测指标名称
- 获取请求时间段的历史遥测数据
- 计算并向用户显示平均值
示例3:审核命令执行
用户提示:
检查今天早上是否有人试图打开水泵。有任何 执行过程中出现错误?
发生了什么:
- 服务器定位特定的水泵设备
- 读取设备蓝图以找到“打开”设备的确切命令名称
- 在命令执行历史记录中搜索今天上午执行的特定命令
- 检索执行状态和任何相关的错误消息
- 报告命令是成功还是失败
示例4:审核自动化规则
用户提示:
你能检查Alpha站点上运行的自动化规则吗?我需要核实一下 当太阳能过剩时自动启动电解槽的逻辑 可用。
发生了什么:
- 服务器使用以下命令在指定站点内搜索规则
search_rules - 根据其名称/slug标识相关规则
- 使用以下命令检索规则的Lua脚本
read_rule - 分析逻辑并确认触发电解槽的确切阈值和条件
示例5:执行命令(需要人工确认)
⚠️
execute_command是 破坏性的 --它作用于真实的物理硬件 (泵、电解槽、阀门、逆变器)。它是 默认情况下禁用.启用 它与--command-execution-enabled在命令行上或通过设置ENAPTER_COMMAND_EXECUTION_ENABLED=1.
用户提示:
阿尔法工厂的电解槽已经运行了很长时间。请 为我重新启动它。
发生了什么:
- 服务器使用以下命令定位电解槽设备
search_devices - 读取设备蓝图
read_blueprint(section="commands")到 发现reboot命令并检查它是否声明了confirmation块 - 这
reboot命令声明confirmation带着一个title和description(例如。 “重新启动电解槽” / “这将重新启动 设备和中断生产。"),所以助理 将这些呈现给 人类,等待明确的批准 --它不会主动采取行动 - 只有在人类确认后,助理才会打电话
execute_command与human_confirmed_this_action=True - 设备运行命令,工具返回结果
CommandExecution,谁state现场报告结果 (success/error/timeout/unsync) - 返回的执行
id稍后可以通过以下方式引用或审核search_command_executions
示例6:编写和编辑MCP管理自动化规则
⚠️
create_rule,edit_rule,以及delete_rule是 破坏性的 --他们 修改可以在物理能源硬件上执行命令的自动化。他们 是 默认情况下禁用。使用以下方式启用它们--rule-editing-enabled在命令行上或通过设置ENAPTER_RULE_EDITING_ENABLED=1.
MCP管理规则是自动化规则,其生命周期通过 MCP服务器。他们遵循严格的工作流程:
- Slug前缀。 MCP管理的规则必须有一个以
保留前缀
mcp-(区分大小写,字节精确)。前缀是 所有权边界:助手只能修改明确标记为的规则 MCP管理。 - 已创建禁用。
create_rule总是创建禁用的规则,因此 助手无法发布新的实时自动化。一个人在评论规则 启用UI,并在准备就绪时启用它。 - 仅禁用突变。
edit_rule和delete_rule拒绝手术 启用规则,即使slug具有mcp-前缀。如果人类能够 MCP管理的规则,稍后希望助手编辑或删除它 人类必须先禁用它,询问助手,查看结果,然后 在Enapter UI中重新启用。这保留了对实时自动化的责任 随着人类的变化。 - 没有启用工具。 服务器不公开启用操作。启用 是Enapter UI中人类做出的决定。
用户提示:
在Alpha站点创建一条规则,当电池SOC为“电池电量低”时记录 降至20%以下。
发生了什么:
- 助手创建规则
create_rule(site_id="...", slug="mcp-battery-low", script_code="..."). 该规则被创建为禁用,并使用运行时版本v3。 - 人类在Enapter UI中查看规则并启用它。
用户提示(稍后):
将电池电量低规则中的阈值从20%更改为15%。
发生了什么:
- 助理打来电话
read_rule以获取当前脚本。 - 它标识要更改的确切代码段并调用
edit_rule(rule_id="...", old_string="battery_soc < 20", new_string="battery_soc < 15"). 只有当旧字符串在脚本中恰好出现一次时,编辑才会成功 并且该规则当前被禁用。 - 人工检查更改并在Enapter UI中重新启用规则。
支持
对于问题、疑问或贡献,请:
- 请发送电子邮件至 support@enapter.com.
- 打开A GitHub 问题.
- 加入我们 Discord服务器.
- 查看我们的 贡献指南.
隐私政策
有关我们如何处理数据的信息,请参阅 Enapter隐私 政策.
制作于❤️ 通过 珐琅器