openhab
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENHAB_URL | Yes | The URL of your OpenHAB instance (e.g., http://openhab:8080) | |
| OPENHAB_API_TOKEN | Yes | Your generated long-lived API token |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {
"subscribe": true,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| initial_discoveryA | 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. |
| get_system_summaryA | High-density snapshot of the OpenHAB system: items, things, rooms, health. |
| generate_home_blueprintA | 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). |
| resolve_itemA | 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. |
| send_commandC | Send a command (ON, OFF, numeric value, etc.) to a single item. |
| execute_batchA | Execute multiple commands in parallel. Use for "Goodnight", scene-like, or multi-device actions. |
| schedule_commandA | Schedule a command to run after a delay (e.g. "turn off in 20 minutes"). |
| query_itemsC | Read item data. action: all (list with optional filters), get (by name), multi (batch by names), search (fuzzy text), master_search (across items+things+rules), room_inventory, semantic_path, neighbors, schema. |
| query_thingsC | Read thing data. action: all (list all), get (by UID), status (status info). |
| query_rulesB | Read automation rules. action: all (list all), get (by UID). |
| manage_itemB | Modify items. action: create_or_update, delete, update_state, add_tag, remove_tag, set_metadata, remove_metadata. |
| manage_thingC | Manage things. action: create, update, delete, enable, disable, configure. |
| manage_ruleC | Manage automation rules. action: create, update, delete, enable, disable, run. |
| manage_linkB | Manage item-channel links. action: list, link, unlink, configure (apply a link profile). |
| manage_sceneC | Named scene management. action: capture (save current item states), activate (restore a saved scene). |
| manage_logsB | OpenHAB log access. Logs are on the remote OpenHAB server — ask the user for the path and call set_folder first. action: set_folder, recent, historical, search. |
| manage_persistenceC | Persistence data operations. action: services (list), get_data, store_data, statistics, summarize. |
| manage_uiD | UI, add-ons, sitemaps, semantic tags, and discovery inbox. action: addons, install_addon, uninstall_addon, sitemaps, sitemap_to_main_ui, ui_components, ui_tiles, generate_widget, semantic_tags, create_tag, update_tag, delete_tag, inbox_list, inbox_approve, inbox_ignore, inbox_unignore. |
| manage_systemD | System config, loggers, voice/audio, and binding scans. action: system_info, services, service_config_get, service_config_update, logger_list, logger_set, transformations, templates, trigger_scan, voice_say, voice_interpret, voices, audio_sinks, audio_sources, habot. |
| analyze_homeC | Home-wide analysis. action: health (offline + battery), safety_audit, energy, stale_items, orphans (broken links), semantic_audit (model gaps), rule_conflicts, find_equipment (by room + type), voice_exposure (Google/Alexa mappings). |
| diagnose_itemA | Item diagnostics. action: explain (forensic state + rules + history), topology (Mermaid home graph). |
| automationB | Automation generation and testing. action: generate_rule (from NL), discover_patterns (temporal correlation), shadow_run (dry-run preview), simulate (predict outcome + rule chains), validate_rule (JS syntax check). |
| remediateC | Bulk remediation and generation. action: bulk_update (batch tags/groups), create_equipment (auto-provision from thing), suggest_tags, standardize_naming, optimize_persistence, export_snapshot, boilerplate (TS types). |
| control_mediaC | Control a media player equipment item. action: play, pause, next, previous, volume_up, volume_down. |
| mcp_statusB | MCP server metadata. action: health (SSE/cache metrics), capabilities, prompt_context (AI priming context for this home). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| OpenHAB Items | A list of all items and their current states |
| OpenHAB Things | A list of all configured things and their status |
| OpenHAB Discovery Inbox | A list of discovered but unconfigured things in the inbox |
| OpenHAB System Summary | A token-efficient overview of the system state for LLM context optimization |
| OpenHAB Item Schema | Ultra-minimal list of item names and types for zero-token discovery |
| OpenHAB AI Prompt Context | Pre-baked system prompt fragment to prime any AI agent for this specific home |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/deswong/Openhab-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server