vscode+energyplus+EnergyPlus-MCP工作流
EnergyPlus-MCP,是首个专为 EnergyPlus 模拟工作流程设计的开源模型上下文协议 (MCP) 服务器,为人工智能驱动的建筑能耗建模构建了新的基础架构。
EnergyPlus-MCP (https://www.sciencedirect.com/science/article/pii/S2352711025003334?via%3Dihub)
GitHub - LBNL-ETA/EnergyPlus-MCP: The first open-source Model Context Protocol server enabling AI assistants and applications to interact programmatically with EnergyPlus building energy simulation. 在GitHub上面的说明有些老旧,我做出了重新更新。系统win11
与VS Code中cline联动
-
构建 Docker 镜像 ( 需要dockerDesktop在后台运行)
容器会自动安装 EnergyPlus 25.1.0 及其所有依赖项
git clone https://github.com/LBNL-ETA/EnergyPlus-MCP.git cd EnergyPlus-MCP/.devcontainer docker build -t energyplus-mcp-dev . -
配置Cline:
添加到
.vscode/settings.json您的项目中:{"mcp.servers": { "energyplus": {"command": "docker","args": ["run","--rm","-i","-v", "C:/Users/k/Documents/Git/GIt_progress/EnergyPlus-MCP:/workspace","-w", "/workspace/energyplus-mcp-server","energyplus-mcp-dev","uv", "run", "python","-m", "energyplus_mcp_server.server"]}}} }重要提示
//:添加到实际配置文件时,请删除所有注释(括号后的文本) -
请重启 VS Code以使更改生效。
可以提供功能
可用工具
服务器提供35 种工具,分为5 个类别:
🗂️ 模型配置与加载(9 种工具)
load_idf_model- 加载并验证IDF文件validate_idf- 全面的模型验证list_available_files- 浏览示例文件和天气数据copy_file- 智能文件复制,支持路径解析get_model_summary- 提取基本模型信息check_simulation_settings- 查看仿真控制设置modify_simulation_control- 修改仿真参数modify_run_period- 调整模拟时间段get_server_configuration获取服务器配置信息
🔍 模型检查(9 种工具)
list_zones- 列出所有热区及其属性get_surfaces获取建筑物表面信息get_materials- 提取材料定义inspect_schedules- 分析所有日程对象inspect_people- 分析入住率设置inspect_lights- 分析照明负荷inspect_electric_equipment- 分析设备负载get_output_variables- 获取/发现输出变量get_output_meters- 获取/了解能源表
⚙️ 模型修改(8 种工具)
modify_people- 更新入住设置modify_lights- 更新照明负荷modify_electric_equipment- 更新设备负载change_infiltration_by_mult- 调整渗透率add_window_film_outside- 添加窗膜add_coating_outside- 涂覆表面涂层add_output_variables- 添加输出变量add_output_meters- 添加电能表
🚀 模拟与结果(4 种工具)
run_energyplus_simulation- 执行模拟create_interactive_plot- 生成 HTML 可视化图表discover_hvac_loops查找所有暖通空调回路get_loop_topology获取暖通空调回路详情
🖥️ 服务器管理(5 种工具)
visualize_loop_diagram- 生成暖通空调(HVAC)图纸get_server_status- 检查服务器健康状况get_server_logs- 查看最近的日志get_error_logs获取错误日志clear_logs- 清除/轮换日志文件