An MCP server that integrates with Node-RED to control IoT devices such as LEDs via HTTP endpoints
Single tool with basic schema and description, but significant gaps in parameter documentation, error handling guidance, and composition patterns. The tool has a reasonable description (75 chars) and enum constraint on state, but lacks error recovery hints, confirmation for destructive operations, and proper parameter validation messaging. No evidence of tool chaining, pagination, or output schema documentation. The optional durationSeconds parameter lacks validation constraints (range, units clarity).
Envía un comando al endpoint /device/led de Node-RED para controlar un LED
Parameter 'durationSeconds' lacks validation constraints. No minimum/maximum range specified, no clarity on units or behavior if value is 0 or negative.
Tool description does not indicate this is a destructive/state-modifying operation. No mention of idempotency, confirmation step, or recovery guidance if command fails.
No documented output schema. LLM cannot plan downstream actions (e.g. verify state was set, chain to another tool). Returns are inferred but not formally specified.
Error handling and recovery guidance missing. Description does not explain what happens on network failure, invalid deviceId, or Node-RED endpoint unavailability.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Device identifier (deviceId) accepts free-form string with no validation. If Node-RED expects specific format, that constraint should be documented and enforced.