Secure MCP server for controlling Govee smart lights via natural language. Compatible with Claude Desktop, Claude Code, and all MCP clients.
The server defines 8 tools with varying quality. Naming follows verb_noun convention appropriately (govee_list_devices, govee_get_state, govee_set_*). Descriptions are present but brief (average ~50 chars), meeting minimum adequacy. All tools have explicit input schemas with type definitions and descriptions. However, schemas lack output documentation, and parameter descriptions sometimes lack detail about valid ranges or constraints. Tool composition is reasonable, each tool has a single responsibility. Parameter naming is consistent (deviceId, model appear across tools). Error handling is minimal, tools throw generic errors without recovery guidance. The batch tool (govee_batch) has a complex nested schema that could benefit from clearer documentation about the cmd object structure.
Apply multiple commands; server coalesces duplicates.
Get current power/brightness/color/temp/scene.
List devices bound to your Govee account.
Set brightness (0-100).
Set RGB color.
Set color temperature in Kelvin (typ. 2000–9000).
Turn a device on/off.
Output schemas not documented. Tool descriptions do not explain what fields are returned or their types. LLMs cannot plan chained calls or extract structured data without knowing response shape.
govee_batch has an underspecified 'cmd' parameter. Description says 'Control command' but does not detail which properties (turn, brightness, color, colorTem, scene) are valid or their value types and ranges. Agents must guess the structure.
No error handling guidance. Tools throw generic 'Device not allowed' or 'Device not found' errors with no recovery suggestions. Missing pattern: recovery-guide. Agents do not know whether to retry, ask user, or try a different tool.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 13 | - | v1 |
Set a scene by id/name (varies by device).
Descriptions under 80 characters lack context about when to use each tool. govee_set_color_temp ('Set color temperature in Kelvin (typ. 2000 - 9000).') omits why an agent would choose this over govee_set_scene, or what devices support it.
No confirmation/dry-run pattern for destructive writes. govee_set_* tools modify device state irreversibly. Agents should be able to preview changes or request confirmation before execution.
No indication in descriptions that govee_set_* tools are idempotent or not. Agents need to know if retrying a failed brightness call twice will work safely or cause issues.