EnergyPlus MCP服务器
EnergyPlus建筑能源模拟的模型上下文协议(MCP)服务器。该服务器使Claude等AI助手能够与EnergyPlus模型交互、运行模拟、分析结果并生成可视化。
特性
- 模型检查:加载、验证和检查IDF文件
- 模拟执行:使用天气文件运行EnergyPlus模拟
- 暖通空调分析:发现循环、检查拓扑、生成图表
- 输出管理:配置输出变量和仪表
- 可视化:根据模拟结果创建交互式Plotly图表
- 模型修正:修改模拟控制、运行周期、内部负载等
需求
- Docker和Docker Compose
- EnergyPlus 25.2(包含在Docker镜像中)
- Python 3.12+(用于本地开发)
快速开始
使用Docker(推荐)
- 构建并启动容器:
docker-compose up -d- 配置您的MCP客户端(例如Claude Code)以连接到服务器。
地方发展
- 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows- 安装依赖项:
pip install -e .- 设置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_peopleinspect_lights/modify_lightsinspect_electric_equipment/modify_electric_equipmentinspect_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许可证
