Local control of the Philips Hue Bridge via CLIP API v2: library, CLI, and MCP server
13 tools with consistent verb_noun naming (hue_get_*, hue_list_*, hue_set_*). All tools have descriptions (avg ~60 chars, baseline 194). Input schemas present with type definitions for all parameters. However, descriptions are significantly below baseline (60 vs 194 chars), too terse to guide LLM selection. Parameter descriptions are minimal (10-30 chars vs baseline 72). No output schemas documented. No error handling guidance. Missing tool annotations (readOnlyHint/destructiveHint). Risk labels present but not integrated into schema.
Activate a scene.
Get basic information about the Hue Bridge.
Get the full current state of a single light.
List all physical devices on the bridge.
List all lights, optionally filtered by room name or UUID.
List all rooms.
List scenes, optionally filtered by room.
Descriptions are 35-50 chars (baseline 194). Too terse to guide LLM selection. E.g., 'Get basic information about the Hue Bridge' lacks WHEN to use, WHAT it returns, or dependencies.
Parameter descriptions are 10-30 chars (baseline 72). 'Room name or UUID to filter by (optional)' is minimal. Missing format hints, constraints, and examples of valid values.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., hue_list_lights returns what structure? Array of objects with which fields?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
List all zones.
Control a single light.
Set a light's colour temperature.
Control a room's lights.
Turn a room's lights on or off.
Control a zone's lights.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk labels exist (READ_ONLY, WRITE) but not integrated into schema. LLMs cannot infer safety properties.
No error handling guidance. If a light name is invalid or a room UUID not found, what does the tool return? How should the LLM recover?