Token导航 LogoToken导航TokenDH.com
Openstudio MCP logo
设计创作stdio官方级别未说明来源级核验

Openstudio MCP

MCP Server

OpenStudio-MCP是一个为建筑能源模拟设计的协议服务器,支持通过自然语言创建、查询和修改OpenStudio模型,运行EnergyPlus模拟并检查结果,适用于建筑能源效率分析和设计优化。

工具数

142

提示词数

0

GitHub Stars

8

资源数

0
自然语言处理PythonClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

NatLabRockies

提供方

NatLabRockies

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -v "$PWD:/repo" -v "$PWD/runs:/runs" \

详细介绍

openstudio mcp

](https://lobehub.com/mcp/natlabrockies-openstudio-mcp)

模型上下文协议(MCP) 服务器 开放工作室 建筑能源模拟。使LLM和MCP主机(Claude Desktop、Cursor、Claude Code等)能够创建、查询和修改OpenStudio模型,运行EnergyPlus模拟,并检查结果——所有这些都是通过自然语言完成的。

23项技能•142个工具•6个提示•4个资源•480+个集成测试

______________________________________________________________________

它能做什么?

让你的AI助手做以下事情:

  • *“建造一座配备VAV再热系统的10区办公楼,并进行年度模拟”*
  • *“什么是EUI?给我看看未满足的供暖时间。”*
  • *“将暖通空调从VAV切换到VRF热泵,并比较能源使用情况”*
  • *“添加R-30屋顶隔热材料,看看它如何影响冷却负荷”*
  • *“根据平面图建造两个相邻的区域,与共享墙相匹配,增加40%的南部玻璃”*
  • *“编写一个自定义度量值,将所有灯光设置为8 W/m2,测试、应用并比较EUI”*
  • *“从我的本地措施目录中应用AEDG小型办公室措施”*

服务器处理MCP工具调用背后的所有OpenStudio/EnergyPlus复杂性。

______________________________________________________________________

快速开始

先决条件

  • Docker 桌面版 已安装并正在运行(下载)
  • MCP主机 --可以连接到MCP工具服务器的AI应用程序。 克劳德桌面版 是推荐的起点。

步骤1:克隆和构建

git clone https://github.com/NatLabRockies/openstudio-mcp.git
cd openstudio-mcp
docker build -t openstudio-mcp:dev -f docker/Dockerfile .

步骤2:配置Claude桌面

打开您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

添加(或合并到) mcpServers 块:

{
  "mcpServers": {
    "openstudio-mcp": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "./tests/assets:/inputs",
        "-v", "./runs:/runs",
        "-v", "./.claude/skills:/skills:ro",
        "-e", "OPENSTUDIO_MCP_MODE=prod",
        "openstudio-mcp:dev", "openstudio-mcp"
      ]
    }
  }
}
  • ./tests/assets:/inputs --安装附带的测试模型,以便您可以立即进行实验。替换为您自己的文件夹(例如。 ~/my-models:/inputs)当准备好。
  • ./runs:/runs --模拟输出写在这里
  • ./.claude/skills:/skills:ro --通过以下方式提供工作流程指南 list_skills() / get_skill() 工具
  • 重新启动克劳德桌面 保存配置文件后

步骤3:验证连接

打开克劳德桌面,寻找 锤图标 聊天输入区域中的(MCP工具指示器)。单击它以查看列出的openstudio mcp工具。如果图标没有出现,请检查Docker是否正在运行,配置JSON是否有效。

第四步:开始聊天

按复杂性顺序尝试以下提示:

简单: “创建一个示例模型并告诉我”
介质: “使用ASHRAE System 3创建一个基线办公室,并向我展示暖通空调组件”
高级: “在/inputs/MyBuilding.osm加载我的模型,应用90.1-2019典型建筑模板,并运行模拟”

AI读取您的提示,从142个可用工具中选择正确的工具,按顺序调用它们,并总结结果——不需要脚本。

使用自己的文件

将文件放置在 /inputs 安装 (映射到的主机文件夹 /inputs 在上面的配置中),而不是通过聊天界面上传它们。这确保了MCP工具可以直接访问它们。

# Example: analyzing an EnergyPlus error file
# 1. Copy to your inputs folder
cp eplusout.err ./tests/assets/

# 2. Reference by MCP path in your prompt
"Analyze the warnings in /inputs/eplusout.err and create a measure to fix them"

为什么不上传? Claude Desktop中的文件上传会激活一个无法与MCP工具通信的分析沙盒。AI可以编写脚本来处理任务,而不是使用142个可用的专用MCP工具。将文件放入 /inputs 保持MCP工作流程中的所有内容。

对于模拟输出(结果、SQL、HTML报告),这些已经在 /runs 并且可自动访问所有MCP工具。

其他MCP主机

客户端兼容性

客户状态备注
Claude Desktop完全支持所有142个可用工具
Claude Code完全支持ToolSearch自动延迟工具以实现高效发现
VS代码副本兼容通过配置支持MCP
Windsurf兼容低于100个工具限制
Gemini CLI兼容必要时使用includeTools/excludeTools
游标不兼容40工具硬帽——改用Windsurf或Claude Code
OpenAI API兼容使用defere_loading获得最佳结果

______________________________________________________________________

克劳德编程技能

使用openstudio mcp时 克劳德代码,12项捆绑技能提供工作流自动化和领域知识:

技能类型描述
/simulate工作流一个命令模拟+结果提取
/energy-report工作流程综合多类别能源报告
/qaqc任务预仿真模型质量检查
/add-hvac任务引导式暖通空调系统选择
/new-building工作流从头开始创建完整模型
/retrofit工作流程ECM分析之前/之后
/view任务快速三维模型可视化
/troubleshoot任务诊断模拟失败和意外结果
measure-authoring知识测量创建、SDK方法验证、布线模式(自动加载)
ashrae-baseline-guide知识ASHRAE 90.1系统选择标准(自动加载)
openstudio-patterns知识工具依赖关系和模型关系(自动加载)
tool-workflows知识常用操作的多工具配方(自动加载)

工作流/任务技能通过以下方式调用 /skill-name知识技能在相关时会自动加载。

适用于所有MCP客户端的工作流程指南

同样的工作流程指南也可用作MCP工具,因此任何MCP客户端(Claude Desktop、Cursor等)都可以发现它们:

  • list_skills() --查看带有描述的可用工作流
  • get_skill(name) --获取特定工作流的分步说明

运行容器时挂载技能目录: -v ./.claude/skills:/skills:ro

______________________________________________________________________

技能和工具(共142个)

技能发现(2个工具)

工具说明
list_skills列出可用的工作流程指南
get_skill获取工作流的分步说明

服务器信息(2个工具)

工具说明
get_server_status服务器健康检查
get_versionsOpenStudio、EnergyPlus、Ruby版本

模型创建(5个工具)

创建建筑能源模型的主要工具。 create_new_building 是大多数工作流的推荐起点。

工具说明
create_new_building端到端创建完整的建筑(几何图形+天气+典型模板)
create_bar_building根据建筑类型、建筑面积和纵横比创建条形建筑几何图形
create_typical_building将构造、荷载、HVAC、SWH添加到具有几何图形的模型中
create_example_osm创建最小的单区域示例(测试/演示)
create_baseline_osm使用ASHRAE系统1-10创建10个区域基线(测试/演示)

模型管理(4个工具)

工具说明
inspect_osm_summaryOSM文件的快速结构摘要
load_osm_model将OSM加载到内存中以进行查询/编辑
save_osm_model将内存模型保存到磁盘
list_files查找/输入和/运行中的文件(OSM、EPW、结果)

建筑(2个工具)

通过以下方式列出建筑故事 list_model_objects("BuildingStory").

工具说明
get_building_info建筑名称、面积、体积、朝向
get_model_summary按类别列出的对象计数

空格(6个工具)

工具说明
list_spaces列出所有带面积/体积的空间
get_space_details详细的空间信息(曲面、荷载、分区)
list_thermal_zones列出带空间的热区
get_thermal_zone_details区域设备、恒温器、倍增器
create_space使用可选的故事/空间类型创建空间
create_thermal_zone创建热区,指定空间

几何(9个工具)

工具说明
list_surfaces列出表面(墙、地板、屋顶)
get_surface_details曲面顶点、构造、边界
list_subsurfaces列出窗户、门、天窗
create_surface创建具有明确三维顶点的曲面
create_subsurface在父曲面上创建窗/门
create_space_from_floor_print将楼板多边形与所有曲面一起挤出到空间中
match_surfaces交叉+匹配相邻空间之间的共享墙
set_window_to_wall_ratio按玻璃比例添加中心窗(例如0.4=40%)
import_floorspacejs从FloorSpaceJS JSON文件导入自定义几何图形

构造(5个工具)

通过以下方式列出建筑 list_model_objects("Construction"),施工设置通过 list_model_objects("DefaultConstructionSet").

工具说明
list_materials列出具有热性能的材料
get_construction_details具有热性能的施工层
create_standard_opaque_material创建具有导电性/密度的材料
create_construction从材料创建分层结构
assign_construction_to_surface为曲面指定构造

时间表(2个工具)

通过以下方式列出时间表 list_model_objects("ScheduleRuleset").

工具说明
get_schedule_details计划类型、值、规则
create_schedule_ruleset创建恒定计划(分数/温度/开/关)

暖通空调(7个工具)

工具说明
list_air_loops列出所服务区域的空气回路
get_air_loop_details空气回路组件、尺寸、OA系统
add_air_loop创建空气回路并连接区域
list_plant_loops列出工厂回路(加热、冷却、冷凝器)
get_plant_loop_details工厂回路供应/需求组件
list_zone_hvac_equipment列出区域级暖通空调设备
get_zone_hvac_details区域设备详细信息

负载(6个工具)

通过以下方式加载列表 list_model_objects("People"), list_model_objects("Lights")等等。使用 get_object_fields 有关定义的详细信息。

工具说明
get_load_details按名称获取任何负载的详细信息(类型调度器)
create_people_definition创建人员负载(按面积或数量)
create_lights_definition创建照明负载(按面积或瓦数)
create_electric_equipment创建电气设备负载
create_gas_equipment创建燃气设备负载
create_infiltration创建渗透(按区域或ACH)

空间类型(1个工具)

通过以下方式列出空间类型 list_model_objects("SpaceType").

工具说明
get_space_type_details空间类型荷载、明细表、标准

模拟(8个工具)

工具说明
validate_osw验证OSW工作流文件
run_osw从OSW文件运行EnergyPlus模拟
run_simulation仅从OSM+可选EPW运行模拟
get_run_status轮询模拟运行状态
get_run_logs尾部模拟日志
get_run_artifacts列出仿真输出文件
cancel_run取消运行模拟
validate_model模拟前检查:天气、设计天数、暖通空调、施工

结果(12个工具)

工具说明
extract_summary_metrics从结果中提取EUI、能量、未满足的小时数
read_file按绝对路径读取任何文件(所有装载)
copy_file将文件复制到主机装载路径
extract_end_use_breakdown按最终用途和燃料类型划分的能源明细(IP/SI)
extract_envelope_summary不透明+开窗U值和面积
extract_hvac_sizing自动调整区域和系统暖通空调容量
extract_zone_summary每个区域的面积、条件、乘数
extract_component_sizing自动调整HVAC部件值(可过滤)
query_timeseries带有日期/上限过滤器的时间序列输出变量数据
extract_simulation_errors将eplusout.err解析为致命/严重/警告列表
list_output_variables列出已完成模拟的可用输出变量
compare_runs比较两次运行:EUI增量,按燃料最终用途细分

模拟输出(2个工具)

工具说明
add_output_variable添加EnergyPlus输出变量
add_output_meter添加EnergyPlus输出表

暖通空调系统(8个工具)

工具说明
add_baseline_system添加ASHRAE 90.1基准系统(类型1-10)
list_baseline_systems列出所有基线+现代模板类型
get_baseline_system_info获取特定系统类型的元数据
replace_air_terminals更换空气回路上的所有端子
replace_zone_terminal更换单个区域上的端子
add_doas_system添加带风机盘管、辐射或冷却梁的DOAS
add_vrf_system增加VRF多区热泵系统
add_radiant_system增加低温辐射供暖/制冷

组件属性(10个工具)

通过以下方式列出暖通空调部件 list_model_objects("BoilerHotWater")循环细节工具等。

工具说明
get_component_properties读取命名组件的所有属性
set_component_properties修改命名组件的属性
set_economizer_properties修改空气回路上的OA省煤器设置
set_sizing_properties修改工厂回路尺寸(出口温度,ΔT)
set_sizing_system_properties设置空气回路尺寸系统属性(SAT、OA、流量方法)
get_sizing_system_properties阅读空气回路的所有尺寸系统属性
set_sizing_zone_properties设置SizingZone属性(批量,支持区域列表)
get_sizing_zone_properties阅读一个区域的所有SizingZone属性
get_setpoint_manager_properties读取SPM属性(支持7种类型)
set_setpoint_manager_properties修改SPM属性(支持7种类型)

循环操作(9个工具)

工具说明
create_plant_loop使用泵、旁路和SPM创建工厂回路
add_supply_equipment将锅炉/冷却器/塔添加到工厂回路供应中
remove_supply_equipment从工厂回路电源中移除设备
add_demand_component在工厂回路需求侧添加线圈/加热器
remove_demand_component从工厂回路需求中删除组件
add_zone_equipment将底板/单元加热器添加到热区
remove_zone_equipment从热区移除设备
remove_all_zone_equipment从多个区域批量移除所有设备
set_zone_equipment_priority重新订购区域设备冷却/加热优先级

对象管理(5个工具)

工具说明
delete_object删除任何命名对象(支持28种以上类型)
rename_object重命名任何命名对象
list_model_objects列出任何类型的对象(CamelCase、IDD冒号或下划线格式)
get_object_fields通过内省读取任何对象的所有属性——返回值+可用设置器
set_object_property通过官方setter在任何对象上写入任何属性——自动强制值类型

天气与模拟配置(7个工具)

工具说明
list_weather_files列出可用的EPW文件及其配套的.stat/.ddy文件
get_weather_info读取天气文件信息(城市、纬度、经度、时区)
add_design_day增加供暖/制冷设计日
get_simulation_control读取每小时的尺寸标志和时间步长
set_simulation_control修改大小标志和/或时间步长
get_run_period读取运行期开始/结束日期
set_run_period设置运行时段日期(自动启用天气文件运行)

措施(2个工具)

工具说明
list_measure_arguments列出带有默认值和选项的度量参数
apply_measure将OpenStudio度量应用于内存模型

测量创作(4个工具)

使用AI生成的代码创建自定义OpenStudio度量,对其进行测试,并将其应用于模型。看 示例1, 示例2,以及 示例19 (完整的E2E改装)。

工具说明
list_custom_measures列出使用create_measure创建的所有自定义度量值
create_measure使用用户提供的代码创建自定义Ruby/Python ModelMeasure
test_measure运行自定义度量值的测试(自动检测语言)
edit_measure编辑现有自定义度量值的代码或参数

ComStock度量(1个工具)

工具说明
list_comstock_measures列出带有类别过滤器的捆绑度量值(基线/升级/设置)

API参考(2个工具)

工具说明
search_api查找OpenStudio SDK类和setter/getter方法——在调用之前验证方法是否存在
search_wiring_patterns查找暖通空调组件的Ruby布线配方(24种模式:梁、DOAS、VRF、工厂回路等)

工具路由器(1个工具)

工具说明
recommend_tools给定任务描述,推荐相关工具组

常用措施(20种工具)

约79捆 openstudio常用措施gem 测量(报告、恒温器、信封、可再生能源、可视化、模型清理)。已预装在Docker镜像中。20个精选措施,21个专用包装工具。

工具说明
list_common_measures列出带有类别过滤器的捆绑措施(报告/恒温器/信封/负载/可再生能源等)
view_model生成模型几何体的交互式3D Three.js HTML查看器
view_simulation_data生成覆盖在曲面上的模拟数据的3D查看器
generate_results_report综合HTML报告(约25个部分:能源、暖通空调、信封、区域)
run_qaqc_checksASHRAE基准QA/QC检查(效率、容量、包络、负载)
adjust_thermostat_setpoints按度数偏移移动所有加热/冷却设定点
replace_window_constructions批量更换所有外窗结构
enable_ideal_air_loads在所有区域实现理想的空气负载(快速尺寸研究)
clean_unused_objects删除孤立对象和未使用的资源
change_building_location设置天气文件+气候区+设计日
set_thermostat_schedules应用库中的恒温器时间表
replace_thermostat_schedules替换现有的恒温器时间表
shift_schedule_time按小时划分的轮班时间表
add_rooftop_pv添加屋顶光伏板
add_pv_to_shading按类型将PV添加到着色曲面
add_ev_load增加电动汽车充电负荷
add_zone_ventilation增加区域通风设计流量
set_lifecycle_cost_params设置生命周期成本分析参数
add_cost_per_floor_area将每层建筑面积的成本添加到建筑中
set_adiabatic_boundaries将外墙/地板设置为隔热

______________________________________________________________________

ASHRAE基准系统

通过以下方式支持所有10个ASHRAE 90.1附录G基线系统 add_baseline_system:

系统类型描述
01PTAC成套终端AC(区域级)
02PTHP成套终端热泵(区域级)
03PSZ-AC包装式单区屋顶空调
04PSZ-HP成套单区热泵
05带再热器的成套VAV带热水再热盘管的VAV
06带PFP箱的成套VAV带并联风扇动力箱的VAV
07带再热的变风量系统中央变风量系统,冷水机组+锅炉+冷却塔
08带PFP箱的VAV带并联风扇供电终端的中央VAV
09燃气加热器仅供暖(仓库、车库)
10电热器仅加热,电动

加上3个现代模板: DOAS, 虚拟路由转发, 光辉.

______________________________________________________________________

支持的暖通空调组件类型

构件属性工具可以查询和修改这15种HVAC构件类型:

类别组件
线圈盘管加热气体,盘管加热电,盘管加热水,盘管冷却水,盘管单速,盘管冷却DX双速,盘管加热DX单速
植物锅炉热水器、冷水机电气EIR、冷却塔单速
粉丝风扇恒定音量、风扇可变音量、风扇开启关闭
泵恒定速度、泵可变速度

______________________________________________________________________

例子

19个具有完整工具调用序列的工作示例--单击展开:

#示例说明
1自定义度量:照明写一个减少照明的措施,比较EUI前后
2自定义测量:冷梁编写复杂的暖通空调测量值,更换端子,比较能量
3基线比较比较ASHRAE系统3与系统7 EUI
4暖通空调设计探索DOAS+风机盘管,调整设定值,调整组件大小
5信封改装升级墙体保温,测量供暖影响
6内部载荷人员、照明、带时间表的插头负载
7完整建筑模型空间、分区、暖通空调、负荷、天气、模拟
8从零开始的几何地板印花挤压、表面匹配、玻璃
9按朝向开窗按方向窗墙比
10典型建筑(ComStock)90.1-2019模板:结构、荷载、暖通空调
11结果深潜最终用途明细、信封、暖通空调尺寸、时间序列
12/simulate一个命令模拟+结果
13/energy-report综合多类别报告
14/qaqc预仿真模型质量检查
15/add-hvacASHRAE系统选择指南
16/new-building从头开始创建完整模型
17/retrofitECM分析之前/之后
18/view交互式三维模型可视化
19SystemD四管梁改造端到端:加载44区模型、基线sim、作者测量、改装sim、比较

______________________________________________________________________

测试

有关完整的测试指南——框架详细信息、带注释的示例、CI分片以及如何编写新测试——请参阅 docs/testing/ (或 docs/testing/testing.md 对于贡献者指南)。

快速开始

# Unit tests (no Docker)
pytest tests/test_skill_registration.py -v

# Integration tests (Docker)
docker build -t openstudio-mcp:dev -f docker/Dockerfile .

docker run --rm -v "$PWD:/repo" -v "$PWD/runs:/runs" \
  -e RUN_OPENSTUDIO_INTEGRATION=1 -e MCP_SERVER_CMD=openstudio-mcp \
  openstudio-mcp:dev bash -lc 'cd /repo && pytest -vv -s tests/'

______________________________________________________________________

开发模式与验证模式

模式目的行为
dev (默认)本地开发FastMCP横幅+INFO日志
prodMCP主机使用情况横幅已禁用,日志更安静
# Prod mode (recommended for MCP hosts)
docker run --rm -i -e OPENSTUDIO_MCP_MODE=prod openstudio-mcp:dev openstudio-mcp

生产模式,stdout专门为MCP JSON-RPC消息保留。日志将转到stderr。

______________________________________________________________________

建筑

  • 运输: stdio(由主机生成的容器)
  • 协议: MCP(标准输入/标准输出上的JSON-RPC)
  • 型号状态: 单内存模型 model_manager
  • 跑: 储存在 /runs//
  • 技能模式: 每一项技能 mcp_server/skills// 随着 tools.py (MCP注册)+ operations.py (商业逻辑)

完整的系统图、安全分析和加固建议: docs/architecture.md

______________________________________________________________________

贡献

添加新的MCP技能

  1. 创建 mcp_server/skills//__init__.py, operations.py, tools.py
  2. operations.py --纯业务逻辑,返回 {"ok": True/False, ...} 词典
  3. tools.py --出口 register(mcp),定义MCP工具模式
  4. 在中添加测试 tests/test_.py
  5. 在中添加CI步骤 .github/workflows/ci.yml
  6. 技能通过自动注册 skills/__init__.py 发现
  7. 更新 EXPECTED_TOOLStests/test_skill_registration.py
  8. 更新中的工具计数 README.mdCLAUDE.md

添加新的Claude Code技能(工作流程指南)

  1. 创建 .claude/skills//SKILL.md 使用YAML frontmatter:
   ---
   name: my-skill
   description: Short description for discovery
   ---
  1. 在markdown正文中添加引用MCP工具名称的工作流说明
  2. 对于用户调用技能,请添加 user-invocable: true (或省略--默认)
  3. 有关背景知识,请添加 user-invocable: false
  4. 对于即发即弃工作流,添加 context: fork
  5. 在中添加集成测试 tests/test_skill_.py 执行工具顺序
  6. 在中向CI分片添加测试 .github/workflows/ci.yml
  7. 在中添加示例文档 docs/examples/_.md
  8. 更新README示例部分和Claude代码技能表
  9. 技能自动出现在 list_skills() / get_skill() 通过 /skills 安装

添加新的暖通空调组件类型

  1. 添加 _get__props(obj)_set__props(obj, properties)components.py
  2. 添加条目到 COMPONENT_TYPES 字典
  3. 添加测试 tests/test_component_properties.py
  4. 没有动态调度-每个OpenStudio API调用都必须是显式的和可编译的

______________________________________________________________________

许可证

许可证.

目录标签

目录标签

自然语言处理PythonClaude建筑能源模拟本地部署OpenStudioEnergyPlusHVAC设计

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

142

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP