EnergyPlus Model Context Protocol Server for building energy simulation, model management, and HVAC analysis
This server exhibits moderate tool definition quality with consistent structural issues across the 21 tools. While most tools have descriptions and basic schemas, the descriptions are frequently generic, parameters often lack complete type information, and output schemas are undocumented. Many parameter descriptions are minimal or missing constraint details. The server demonstrates domain expertise in EnergyPlus modeling but falls short of production-grade tool clarity expected for reliable agent use. Average tool score across 21 tools is approximately 42, reflecting pervasive gaps in parameter validation, output documentation, and error guidance.
Check building geometry validity and generate optimization suggestions
Check SimulationControl and RunPeriod settings with information about modifiable fields
Copy a file from source to target location with intelligent path resolution
Export building geometry to Three.js format for 3D visualization
Export simulation results to Google Drive
Export simulation results to Supabase storage
Fetch and download weather data for a geographic location using PVGIS API
Undocumented output schemas across all 21 tools. None of the tools include explicit documentation of what fields/structure they return. This forces LLMs to guess at response structure and plan downstream calls without knowing what data is available.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 40 | - | v1 |
Generate an HVAC loop topology diagram (plant loop, condenser loop, or air loop)
Generate a new EnergyPlus IDF file from a template with customized parameters
Get basic model information (Building, Site, SimulationControl, Version)
Inspect and list all ElectricEquipment objects in the EnergyPlus model
Inspect and list all Lights objects in the EnergyPlus model
Inspect and list all People objects in the EnergyPlus model
Inspect and inventory all schedule objects in the EnergyPlus model
List available files in specified directories (sample files, example files, weather data)
List available building templates for model generation
Load and validate an EnergyPlus IDF file
Modify ElectricEquipment objects in the EnergyPlus model
Modify Lights objects in the EnergyPlus model
Modify People objects in the EnergyPlus model
Run an EnergyPlus simulation with an IDF file and optional weather file
Generic modification tool descriptions. modify_lights, modify_lights_utils have generic descriptions like 'Modify Lights objects in the EnergyPlus model' but omit crucial details: which fields are modifiable, what are valid values, what constraints apply. Description should state example field updates and constraints. See pattern:tool-description.
Incomplete parameter schemas for modifications array. In modify_people, modify_lights, modify_electric_equipment, the 'modifications' parameter is typed as 'array of objects' but the inner object schema is not documented. The description says 'List of modification specifications' but does not list what fields those objects must contain or their types. LLMs cannot construct valid payloads.
Missing error handling guidance. No tools document what errors can occur (file not found, invalid IDF, permission denied) or what the LLM should do next. Error responses are not documented, forcing agents to fail blindly without recovery strategies.
Vague parameter descriptions for export tools. export_to_google_drive and export_to_supabase accept 'destination_folder' but the description does not clarify: is this a folder ID, a folder URL, a folder name, or a path? LLMs will guess and likely pass invalid formats.
generate_idf_from_template parameter 'parameters' is underdefined. Description says 'Dictionary of template parameters to customize the model' but does not enumerate what keys are valid, what types their values must be, or which are required vs optional. LLM will not know what to pass.
No pagination guidance for list_available_files. When sample_files or weather_data directories contain hundreds of files, the response will be huge and blow context windows. Tool description should document result limits and recommend calling with boolean flags rather than dumping entire directories.
Missing credentials/secrets documentation. export_to_google_drive and export_to_supabase likely require API keys or authentication tokens. The tool descriptions and parameter lists do not mention how authentication is managed or whether credentials should be passed. If credentials are expected, they must NOT be parameters, use server-side secret injection.
No guidance on file path resolution. Multiple tools accept 'idf_path', 'weather_file', 'source_path' but descriptions say they accept 'absolute path, relative path, filename only' without explaining the lookup precedence or which directories are searched. LLMs will pass ambiguous paths and get wrong files.
fetch_weather_file lacks output documentation. The description says it downloads weather data but does not state what the return value is (file path? file URL? success boolean?). Without knowing the output, downstream tools cannot use it.