EnergyPlus
The first open-source Model Context Protocol server enabling AI assistants and applications to interact programmatically with EnergyPlus building energy simulation.
claude mcp add --transport stdio lbnl-eta-energyplus-mcp docker run --rm -i -v /path/to/EnergyPlus-MCP:/workspace -w /workspace/energyplus-mcp-server energyplus-mcp-dev uv run python -m energyplus_mcp_server.server
How to use
EnergyPlus MCP Server exposes a suite of 35 tools for working with EnergyPlus IDF models through the MCP interface. The server is designed to load, validate, analyze, modify, and simulate EnergyPlus IDF files, enabling AI assistants and automation tools to interact with building energy models in a structured way. Tools are organized into categories such as loading and validating models, inspecting model contents (zones, surfaces, materials, schedules), managing simulation settings, and generating outputs for visualization or further analysis. Typical workflows include loading an IDF, validating it for consistency, querying model metadata, adjusting run periods or weather associations, and kicking off EnergyPlus simulations to obtain results for visualization or optimization tasks.
How to install
Prerequisites:
- Python 3.10+
- EnergyPlus 25.1.0 installed on your system (or accessible within the development environment)
- uv (uv package manager) installed
- Docker (for docker-based setup) if you plan to run the container workflow
Local development (recommended):
-
Clone the repository: git clone https://github.com/tsbyq/EnergyPlus_MCP.git cd EnergyPlus_MCP/energyplus-mcp-server
-
Install dependencies via uv (in a suitable Python environment): uv sync --extra dev
-
Run the MCP server locally for testing: uv run python -m energyplus_mcp_server.server
Container-based development (Docker):
-
Build the development image (from repo root): docker build -t energyplus-mcp-dev -f .devcontainer/Dockerfile .
-
Run the container interactively: docker run -it --rm -v "$(pwd)":/workspace -w /workspace/energyplus-mcp-server energyplus-mcp-dev bash
-
Inside the container, install dev dependencies and start the server: uv sync --extra dev uv run python -m energyplus_mcp_server.server
Notes:
- Adjust paths to your local repository when using docker-based commands (e.g., /path/to/EnergyPlus-MCP).
- Ensure EnergyPlus 25.1.0 and Python 3.10+ are available in the development environment if running outside Docker.
Additional notes
Tips and notes:
- The MCP server exposes 35 tools organized into categories such as Model Config & Loading, Validation, File Management, and Analysis/Output generation.
- If using Docker-based configuration in IDEs (Claude Desktop, VS Code, Cursor), ensure the mounted workspace and working directory match your project layout for smooth communication with the server.
- For local development, you may need to run EnergyPlus separately or rely on the container environment where EnergyPlus is pre-installed.
- If you encounter connectivity issues between the MCP client and server, verify the command, working directory, and volume mounts in your mcp configuration.
- When sharing this server configuration, replace placeholder paths (like /path/to/EnergyPlus-MCP) with actual paths on the host system.
- The EnergyPlus compatibility note in the README indicates supported EnergyPlus versions; ensure compatibility when requesting simulations or analyzing outputs.
Related MCP Servers
generative-ui-playground
Interact with all three types of generative UI, all in one interface
freepik
The Freepik enables popular agent Model Context Protocol (MCP) to integrate with Freepik APIs through function calling.
language
MCP server from alexwohletz/language-server-mcp
html-to-markdown
MCP server for converting HTML to Markdown using Turndown.js. Fetch web pages and convert them to clean, formatted Markdown.
mcp-doc-forge
MCP server that provides doc forge capabilities
mcp -client-spring-ai
MCP server from mohamedYoussfi/mcp-server-client-spring-ai