Total command of your OpenHAB (v5+) system via the Model Context Protocol. Full exposure of Items, Things, Rules, Persistence, and Semantic Tags.
OpenHAB MCP has 25 tools with complete Zod schemas and descriptions. Naming follows verb_noun convention (resolve_item, send_command, manage_*). Many tools lack per-parameter documentation, forcing LLMs to infer intent. Output schemas are not documented. Error handling and recovery guidance are absent. Composition is reasonable (tools are single-purpose), but parameter relationships (e.g., when 'action' enum determines which other params apply) are undocumented.
Analyze home health, safety, energy, stale items, orphans, semantic model, rule conflicts, equipment, and voice exposure.
Generate rules, discover patterns, shadow-run, simulate, or validate automation logic.
Control media playback: play, pause, next, previous, volume up/down.
Explain an item's purpose and topology, or visualize its connections.
Execute multiple commands in parallel. Use for "Goodnight", scene-like, or multi-device actions.
Full room-by-room Markdown guide of the home. Use for layout exploration or when a user explicitly asks for a home overview — NOT as a first step (use initial_discovery instead).
Parameter descriptions missing or minimal. Tools like manage_ui, manage_system, manage_thing have 10+ parameters with no per-param documentation. LLMs cannot infer what 'config', 'tagData', or 'profileConfig' objects should contain.
Output schemas not documented. Tools return complex nested objects (e.g., query_items, analyze_home) but no schema is provided. LLMs cannot plan downstream tool calls or extract required fields.
Action-enum tools lack conditional parameter documentation. Tools like query_items, manage_item, manage_ui accept an 'action' enum that determines which other parameters are valid. No documentation states which params apply to which actions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
High-density snapshot of the OpenHAB system: items, things, rooms, health.
One-shot bootstrap: returns a compact guidance context with a room-grouped quick-reference of every item (name, type, live state). Call ONCE on first contact. Do NOT also call generate_home_blueprint or get_system_summary — this covers all discovery needs.
Create, update, delete items; manage tags, metadata, and state.
List, create, delete, or configure Item-to-Channel links.
Set log folder, retrieve recent or historical logs, or search logs.
Query persistence services, retrieve historical data, store data, or compute statistics.
Create, update, delete, enable, disable, or run Rules.
Capture or activate scenes (named snapshots of item states).
System-level operations: info, services, loggers, transformations, voice, audio, and HABot.
Create, update, delete, enable, disable, or configure Things.
Manage addons, sitemaps, UI components, semantic tags, and discovery inbox.
Check MCP server health, capabilities, or prompt context.
Flexible item query: fetch all, get by name, search by label/tag, room inventory, semantic paths, neighbors, or schema.
Query Rules: fetch all or get by UID.
Query Things: fetch all, get by UID, or check status.
Bulk update items, create equipment, suggest tags, standardize naming, optimize persistence, export snapshots, generate boilerplate, and fix semantic issues.
PRIMARY item finder. Converts natural-language intent ("kitchen light", "front door sensor") into ranked matches with exact names, types, rooms, and live states. Call this BEFORE any other search.
Schedule a command to run after a delay (e.g. "turn off in 20 minutes").
Send a command (ON, OFF, numeric value, etc.) to a single item.
No error handling or recovery guidance. Tools provide no documentation of failure modes, error codes, or what the LLM should do if a call fails. E.g., send_command does not explain what happens if the item does not exist or the command is invalid.
Destructive operations lack confirmation or dry-run support. Tools like manage_item (delete), manage_thing (delete), manage_rule (delete), and remediate (bulk_update) can cause data loss but offer no confirmation step or dry-run mode.