EnergyPlus MCP服务器

EnergyPlus MCP服务器是一个用于建筑能源模拟的模型上下文协议服务器,支持AI助手与EnergyPlus模型交互、运行模拟、分析结果并生成可视化图表。

  • by RainerGaier
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 RainerGaier/energyplus-mcp-server

使用说明

EnergyPlus MCP服务器

EnergyPlus建筑能源模拟的模型上下文协议(MCP)服务器。该服务器使Claude等AI助手能够与EnergyPlus模型交互、运行模拟、分析结果并生成可视化。

特性

  • 模型检查:加载、验证和检查IDF文件
  • 模拟执行:使用天气文件运行EnergyPlus模拟
  • 暖通空调分析:发现循环、检查拓扑、生成图表
  • 输出管理:配置输出变量和仪表
  • 可视化:根据模拟结果创建交互式Plotly图表
  • 模型修正:修改模拟控制、运行周期、内部负载等

需求

  • Docker和Docker Compose
  • EnergyPlus 25.2(包含在Docker镜像中)
  • Python 3.12+(用于本地开发)

快速开始

使用Docker(推荐)

  1. 构建并启动容器:

    docker-compose up -d
    
  2. 配置您的MCP客户端(例如Claude Code)以连接到服务器。

地方发展

  1. 创建虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # Linux/Mac
    .venv\Scripts\activate     # Windows
    
  2. 安装依赖项:

    pip install -e .
    
  3. 设置EnergyPlus路径并运行:

    export ENERGYPLUS_PATH=/path/to/EnergyPlusV25-2-0
    python -m energyplus_mcp_server.server
    

项目结构

energyplus-mcp-server/
├── energyplus_mcp_server/    # MCP server source code
│   ├── server.py             # Main MCP server
│   ├── energyplus_tools.py   # EnergyPlus tool implementations
│   └── utils/                # Utility modules
│       ├── diagrams.py       # HVAC diagram generation
│       ├── path_utils.py     # File path resolution
│       ├── output_variables.py
│       ├── output_meters.py
│       └── ...
├── sample_files/             # Sample IDF and weather files
├── tests/                    # Test suite
├── Dockerfile
├── docker-compose.yml
└── pyproject.toml

示例文件

这 sample_files/ 目录包含为版本25.2更新的EnergyPlus模型:

文件 描述
1ZoneUncontrolled.idf 简单单区模型
1ZoneEvapCooler.idf 单区蒸发冷却
1ZoneDataCenterCRAC_wApproachTemp.idf 配备CRAC单元的数据中心
5ZoneAirCooled.idf 多区域变风量系统
LgOffVAV.idf 大型办公变风量系统
USA_CA_San.Francisco.Intl.AP.724940_TMY3.epw 旧金山天气档案

可用工具

模型操作

  • load_idf_model -加载并验证IDF文件
  • get_model_summary -获取建筑和模拟信息
  • validate_idf -验证模型结构
  • list_zones -列出所有热区
  • get_surfaces -获取曲面几何图形
  • get_materials -获取材料属性

模拟

  • run_energyplus_simulation -执行模拟
  • check_simulation_settings -审查模拟控制
  • modify_simulation_control -更新模拟设置
  • modify_run_period -更改运行期日期

暖通空调

  • discover_hvac_loops -查找所有暖通空调回路
  • get_loop_topology -获取详细的循环结构
  • visualize_loop_diagram -生成暖通空调图

输出

  • get_output_variables -列出/发现输出变量
  • get_output_meters -列出/发现输出仪表
  • add_output_variables -向模型添加变量
  • add_output_meters -将米添加到模型中
  • create_interactive_plot -生成绘图可视化

内部载荷

  • inspect_people / modify_people
  • inspect_lights / modify_lights
  • inspect_electric_equipment / modify_electric_equipment
  • inspect_schedules

信封

  • add_window_film_outside -应用窗膜
  • add_coating_outside -涂覆外部涂层
  • change_infiltration_by_mult -修改渗透速率

配置

服务器可以通过环境变量进行配置:

变量 描述 默认值
ENERGYPLUS_PATH EnergyPlus安装路径 /app/software/EnergyPlusV25-2-0
WORKSPACE_ROOT 工作目录 /workspace/energyplus-mcp-server
DEBUG 启用调试日志记录 false

版本历史

  • v0.1.0 -支持EnergyPlus 25.2的初始版本
    • 示例文件从25.1转换到25.2
    • 年度模拟的固定运行周期配置

许可证

MIT许可证

致谢