OpenStudio

Provides tools to load, inspect, and export OpenStudio models via MCP for AI assistants.
  • python

6

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "roruizf-openstudio-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "C:\\:/mnt/c",
        "-v",
        "C:\\PATH\\TO\\YOUR\\openstudio-mcp-server:/workspace",
        "-w",
        "/workspace/openstudio-mcp-server",
        "openstudio-mcp-dev",
        "uv",
        "run",
        "openstudio_mcp_server/server.py"
      ],
      "env": {
        "DOCKER_HOST": "tcp://localhost:2375"
      }
    }
  }
}

You run an MCP server that lets AI assistants interact with OpenStudio models. Load, inspect, and manipulate OpenStudio Model (OSM) files through a rich set of tools, all accessible via natural language. This makes model analysis, conversion, and reporting fast and repeatable, whether you’re prototyping, teaching, or validating energy models.

How to use

You interact with the server through an MCP client. Start by loading an OpenStudio model file, then ask questions or give commands in natural language to explore geometry, HVAC systems, schedules, and material properties. Common workflows include loading a model, listing spaces and thermal zones, applying templates, visualizing the model, exporting to IDF, and saving updated models.

How to install

Prerequisites you need before starting are Docker Desktop and a compatible environment for your AI assistant integration (Claude Desktop, VS Code, or Cursor). You will run the MCP server inside a Docker container and connect your MCP client to it.

Step 1: Prepare your environment

  • Install Docker Desktop on your machine.
  • Install Claude Desktop or another MCP client as your integration layer.
  • Ensure you have a working internet connection for initial setup.

Step 2: Clone the server repository

cd openstudio-mcp-server```

Step 3: Build the Docker image for development
```docker build -t openstudio-mcp-dev -f .devcontainer/Dockerfile .devcontainer```

Step 4: Create the MCP client configuration for Claude Desktop (Windows example)

{
  "mcpServers": {
    "openstudio": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v", "C:\\:/mnt/c",
        "-v", "C:\\PATH\\TO\\YOUR\\openstudio-mcp-server:/workspace",
        "-w", "/workspace/openstudio-mcp-server",
        "openstudio-mcp-dev",
        "uv", "run", "openstudio_mcp_server/server.py"
      ]
    }
  }
}
  • Replace C:\PATH\TO\YOUR\openstudio-mcp-server with the actual path where you cloned the repository.
  • This config mounts your host C drive to the container for file access and mounts the server source so the container can run the MCP server scripts.

Step 5: Start Claude Desktop or your MCP client and verify connectivity
- Restart Claude Desktop to load the MCP server configuration.
- In your client, request the available tools or try a simple load operation to confirm the server responds.

Step 6: Verify installation
- In your MCP client, ask for available OpenStudio tools. The client should list the tools exposed by the server once connected.

## Additional sections

File access and container setup are critical. The server runs in Docker with two necessary volume mounts to ensure you can load models from your host filesystem and save outputs back to your machine. The first mount exposes your C: drive to the container, allowing file reads and writes, while the second mount keeps the server source code accessible so changes on the host reflect inside the container.

Key practices to avoid common issues:
- Use absolute host paths when referring to files from the MCP client.
- Place your model files in a known location inside the host-mounted workspace to ensure the server can discover them.
- When you modify server code locally, the container reflects those changes through the mounted workspace.

If you encounter issues during startup or tool usage, review container logs and ensure Docker Desktop is running without permission or path errors. Restart the MCP client and verify the server status if necessary.

## Troubleshooting

Model not loaded: Load a model first with load\_osm\_model and confirm the file exists in the mounted workspace.
File not found: Verify the path is correct and that the file resides in the mounted workspace directory.
Tools not appearing: Check the MCP server connection status in your client UI and inspect server logs located under logs in the workspace if available.
Docker issues: Ensure Docker Desktop is running and the volume mount path is absolute. Confirm the container image built successfully.

## Available tools

### load\_osm\_model

Load an OpenStudio Model (OSM) file into the MCP server, resolving intelligent paths and preparing it for analysis.

### save\_osm\_model

Save the currently loaded OSM model after modifications.

### convert\_to\_idf

Export the loaded OSM model to EnergyPlus IDF format for simulation.

### copy\_file

Copy files with fuzzy matching and smart discovery to quickly locate relevant inputs or outputs.

### get\_model\_summary

Generate a comprehensive summary of the loaded model, including statistics and key attributes.

### get\_building\_info

Retrieve detailed information about building objects within the model.

### apply\_view\_model

Create an interactive HTML visualization of geometry, HVAC systems, zones, and materials.

### apply\_space\_type\_and\_construction\_set\_wizard

Apply ASHRAE 90.1 templates to spaces and construction sets for standardization.

### list\_spaces

List all spaces with their properties to understand the building layout.

### get\_space\_details

Provide detailed information about a specific space, including connections and properties.

### list\_thermal\_zones

List all thermal zones defined in the model.

### get\_thermal\_zone\_details

Get detailed information about a particular thermal zone.

### list\_materials

List all materials with their thermal properties used in constructions.

### list\_air\_loops

List all air loop HVAC systems present in the model.

### list\_people\_loads

List occupancy-related internal loads.

### list\_lighting\_loads

List lighting power densities and related lighting information.

### list\_electric\_equipment

List electrical equipment loads within the model.

### list\_schedule\_rulesets

List all schedule rulesets defined in the model.

### get\_server\_info

Retrieve server configuration and current status.

### get\_current\_model\_status

Check which model is currently loaded and its readiness for queries.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
OpenStudio MCP Server - roruizf/openstudio-mcp-server | VeilStrat