honeybee-mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited honeybee-mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This top-level skill is the routing guide for Honeybee-MCP.
Use it to decide:
Do not treat this file as the full API reference. Detailed Args and Returns belong in the sub-skills.
Honeybee-MCP is now organized around four unified operation buses:
queryapplyaddremoveSupporting tools:
load_modelload_model_from_dictsave_modelload_model_from_shared_memorysave_model_to_shared_memorycheck_shared_memory_statusclear_shared_memory_modelsearch_propertiesvisualizationversion_controlThe current system also includes model-bound resource preservation for:
honeybee-energy reusable resources such as schedules, schedule type limits, materials, constructions, construction sets, program types, HVAC, and SHWhoneybee-radiance reusable resources such as modifiers and modifier setssensor_grid and viewmodel-loaderUse when the request is about:
model-saverUse when the request is about:
visualizationUse when the request is about:
VisualizationSet.vsf, .svg, .html, or .vtkjsPreferred tool family:
visualizationqueryUse when the request is about:
Preferred tool family:
queryapply-propertiesUse when the request is about:
people, lighting, electric_equipment, service_hot_water, setpoint, ventilation, and process_loadPreferred tool family:
applyresource-managementUse when the request is about:
session_store versus model_attached resourcesPreferred tool families:
querysearch_propertiesaddapplyremoveaperture-adderUse when the request is about:
Preferred tool family:
addlouver-adderUse when the request is about:
Preferred tool family:
addaperture-removerUse when the request is about:
Preferred tool family:
removeshade-removerUse when the request is about:
Preferred tool family:
removedoor-editorUse when the request is about:
Preferred tool families:
queryremovemodel-editorUse when the request is about:
Preferred tool family:
removegrasshopper-syncUse when the request is about:
search-libUse when the request is about:
version-controlUse when the request is about:
For most requests, follow this sequence:
visualization when a preview or export deliverable is needed.apply, add, or remove.query.apply.query first and then add/apply/remove.add.add.remove.visualization.grasshopper-sync.search-lib.visualization is a read-only export tool and should not be treated as part of the model persistence chain.These are frequent mistakes that lead to failed or unexpected results:
query, apply, and add call requires an explicit target_type. Omitting it or mismatching it with identifiers causes silent failures.ScheduleTypeLimit → ScheduleDay → ScheduleRuleset. Creating them out of order will fail with a "not found" error.remove on a schedule, modifier, or modifier set that is still assigned to a room or face will be blocked. Query references first, reassign or unassign, then delete.target_type="face" is expected (or vice versa) will result in zero matched targets.load_model returns "No model loaded".query first to discover them rather than guessing.Complex user requests typically require chaining multiple tools. Follow this template:
1. query → confirm target rooms/faces exist
2. search_properties → check if a library resource already fits
3. add → create custom resource if needed (respect dependency order)
4. apply → assign resource to targets
5. query → verify the assignment
6. save_model or version_control → persist1. query → discover current faces, apertures, shades
2. version_control("save") → checkpoint before destructive edits
3. remove → clear existing geometry (apertures, shades, etc.)
4. add → rebuild with new parameters
5. apply → assign properties to new geometry
6. query → verify final state1. query(target_type="model") → get model overview
2. query(target_type="room", output_mode="list") → enumerate rooms
3. query(target_type="face", identifiers=[...]) → drill into specific faces
4. query with Energy/Radiance nested paths → inspect attached propertiesWhen a tool returns success=False or status="error":
query when some identifiers were not found.remove when a resource is still referenced.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.