idfkit-mcp
Enables AI assistants to create, edit, and simulate EnergyPlus building energy models via natural language. Supports schema exploration, model editing, simulation execution, and documentation search.
README
idfkit-mcp
An MCP server that lets AI assistants work directly with EnergyPlus building energy models. Connect it to Claude, ChatGPT, Cursor, Codex, or any MCP-compatible client and use natural language to:
- Build models from scratch — describe a building and let the agent create zones, surfaces, constructions, schedules, and HVAC systems
- Edit existing models — load an IDF or epJSON file, rename objects, swap materials, adjust setpoints, and validate as you go
- Run simulations — pick a weather file, launch EnergyPlus, and query or export the results without leaving the conversation
- Explore the schema — ask what fields a
ZoneHVAC:IdealLoadsAirSystemaccepts, what values are valid, and get links to the official EnergyPlus documentation - Search the docs — full-text search across the EnergyPlus I/O Reference, Engineering Reference, and other documentation sets hosted on docs.idfkit.com
Built on idfkit, it supports EnergyPlus 8.9 through 26.1 (17 versions with bundled schemas). Schema exploration, model editing, and validation work out of the box with no external dependencies. Running simulations requires a local EnergyPlus install — the server discovers it automatically via PATH, the ENERGYPLUS_DIR env var, or standard OS install locations. A Docker image with EnergyPlus bundled is also available.
Tools
The server exposes 37 tools across ten categories, plus 13 MCP resources for read-only data access:
| Category | Tools | What they do |
|---|---|---|
| Schema | 4 | Explore object types, fields, constraints, and valid references |
| Model Read | 6 | Load IDF/epJSON/OSM files, inspect objects, search, and read change history |
| Model Write | 10 | Create models, add/update/remove/rename/duplicate objects, save, and manage sessions |
| Validation | 2 | Schema validation and pre-simulation integrity checks |
| Simulation | 8 | Run EnergyPlus, query variables and tabular reports, export time series, analyze peak loads, and view reports |
| Weather | 2 | Search weather stations worldwide and download EPW/DDY files |
| Geometry | 1 | Interactive 3D building geometry viewer (MCP Apps) |
| Schedules | 1 | Interactive schedule heatmap viewer (MCP Apps) |
| Migration | 1 | Migrate IDF models forward across EnergyPlus versions |
| Documentation | 2 | Search and read EnergyPlus documentation from docs.idfkit.com |
All tools return structured Pydantic models. Schema, validation, and search results include direct doc_url links to the relevant EnergyPlus documentation.
Session state (loaded model, simulation results, weather file) is persisted to disk automatically, so clients that restart the server between turns (e.g. Codex) can resume where they left off.
Installation
pip install idfkit-mcp
Or with uv:
uv add idfkit-mcp
Usage
Run as stdio MCP server (default):
idfkit-mcp
Run as Streamable HTTP MCP server:
idfkit-mcp --transport streamable-http --host 127.0.0.1 --port 8000
Quick MCP Setup
Add idfkit-mcp to your MCP client. Example for Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"idfkit": {
"command": "uvx",
"args": ["--from", "idfkit-mcp", "idfkit-mcp"]
}
}
}
See MCP Client Setup for all supported clients (Claude Desktop, Cursor, VS Code, Claude Code, Windsurf, ChatGPT, Codex, JetBrains, Cline, Continue, and Zed).
Development
This project uses uv for dependency management and Zensical for documentation.
Setup
# Clone the repository
git clone https://github.com/idfkit/idfkit-mcp.git
cd idfkit-mcp
# Install dependencies and pre-commit hooks
make install
Commands
make install # Install dependencies and pre-commit hooks
make check # Run linting, formatting, and type checks
make test # Run tests with coverage
make docs # Serve documentation locally
make docs-test # Test documentation build
make docker-build # Build base Docker image (no EnergyPlus)
make docker-build-sim ENERGYPLUS_TARBALL_URL=<linux-tarball-url> # Build simulation image
make docker-build-sim DOCKER_PLATFORM=linux/amd64 ENERGYPLUS_TARBALL_URL=<linux-x86_64-tarball-url> # Apple Silicon + x86 tarball
make docker-run # Run Docker container
Releasing
- Bump the version:
uv version --bump <major|minor|patch> - Commit and push
- Create a new release on GitHub with a tag matching the version (e.g.,
1.0.0)
The GitHub Action will automatically publish to PyPI.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。