Releases: Highsteads/ClaudeBridge
v2.9.0 — timed device actions, ten new tools, and a plain-English README
The headline: timed device actions. "Turn the fan on for ten minutes" or "switch that off in half an hour" is now a single request — device_turn_on and device_turn_off take optional delay and duration values and hand the timing to Indigo's own delayed-action engine, so it keeps working long after the conversation has ended. A companion tool cancels a pending timed action on one device without disturbing anything else.
Nine more tools round out the batch, all found by walking Indigo's live API and comparing it against what the plugin already offered: reset the lifetime kWh count on an energy-metering plug, make a device beep so you can find it on the shelf, ping a device to check it still answers, Indigo's native all-lights-on / all-lights-off / all-devices-off broadcasts (clearly labelled — they reach Z-Wave and similar directly-connected devices, not plugin-owned ones), folder deletion for devices and variables (a non-empty folder is politely refused unless you say otherwise), and audit_api_coverage, which checks after an Indigo upgrade whether the API has gained anything this plugin hasn't bridged yet. That brings the total to 149 tools.
The README has been rewritten in plain English — including, importantly, an honest "What this costs" section: you need a Claude Pro or Max subscription for Claude Code itself, and the plugin's own API key is optional (it powers one niche feature — most people can skip it entirely).
For anyone arriving from the last release (2.6.6, late May): a great deal happened in between — outbound event webhooks with a default-deny safety firewall, a thorough security review that made per-token read/write/admin scoping properly fail-closed, much lighter installs (the dependency list went from twenty packages to four), transport reliability fixes that made the bridge self-heal across plugin reloads, and a 283-test suite that now runs on every change. The full story is in the README's changelog.
Install: download Claude.Bridge.indigoPlugin.zip below, unzip it, double-click Claude Bridge.indigoPlugin and Indigo installs it. Upgrading from any earlier version: same thing — your settings are kept.
v2.6.6 — fix check_plugin_updates
Fixed the check_plugin_updates MCP tool. It walked the plugin list with
getPluginList() (which returns PluginInfo objects) and then passed each one
back into getPlugin(), which expects an id string — so every plugin errored
with a getPlugin(PluginInfo) signature mismatch and the tool reported a
misleading zero. It now uses the PluginInfo objects directly and reads
compatibleUpdateAvailable straight off them. No other changes.
v2.6.2 — 50 new MCP tools + plugin-dev helpers
v2.6.2 — 50 new MCP tools, plugin-dev helpers, lint refinement
Tool count: 86 → 136. Three feature batches in one release plus a security cleanup.
What's new
43 new IOM-wrapping tools (v2.5.0)
Previously only reachable via execute_indigo_python. Now first-class MCP tools:
- Device CRUD:
delete_device,duplicate_device,move_device_to_folder,enable_device,rename_device,device_toggle,dimmer_brighten_by,dimmer_dim_by - Variable gaps:
variable_delete,variable_move_to_folder - Schedule CRUD:
delete_schedule,duplicate_schedule,execute_schedule_now,schedule_remove_delayed_actions,schedule_get_dependencies - Trigger CRUD:
delete_trigger,move_trigger_to_folder - Action group CRUD:
delete_action_group,duplicate_action_group,enable_action_group,disable_action_group,action_group_get_dependencies - Sprinkler suite:
sprinkler_set_zone,sprinkler_run/stop/pause/resume/next_zone/previous_zone - Thermostat:
set_fan_mode - Speed control:
speedcontrol_set_index/increase/decrease - Server tools:
server_speak,calculate_sunrise/sunset,get_latitude_longitude,get_web_server_url,get_deprecated_elements,remove_all_delayed_actions - Control pages:
list_control_pages,get_control_page - Cross-plugin:
check_plugin_updates
7 plugin-development helpers (v2.6.0)
For plugin authors building/debugging their own plugins:
plugin_diff_source_vs_installed— catches static-asset stale-sync and gutted-Packages driftplugin_refresh_deps— delete pip success marker, optional restartplugin_show_packages_versions— readContents/Packages/*.dist-infoplugin_validate_xml— Devices/Actions/Events/MenuItems naming-rule checkplugin_node_check_html—node --checkon inline<script>blocks (catches stale-paste JS bugs)plugin_lint— convention sweep againstplugin.pydevice_history— focused SQL Logger sqlite query
Lint refinement (v2.6.1)
plugin_lint's missing_loop_guard rule is now param-name agnostic, handles annotated signatures, recognises three guard idioms, and only flags when deviceUpdated actually writes back. False positives gone.
Defensive change (v2.6.2)
VectorStoreManager.start_async() moves vector store warmup to a daemon thread. Harmless improvement.
Security cleanup
indigo_mcp_proxy.py — replaced hardcoded Bearer token literal with REPLACE_AT_INSTALL placeholder.
Known issue (upstream)
Investigation during this release uncovered that Indigo's IWS goes silent for ~4 min 37 sec after EVERY plugin restart (not just Claude Bridge). Reflector client polling localhost holds the IWS event loop until it times out and reschedules. Documented in docs/forum_post_api_gaps.md for upstream report.
Workaround: wait ~5 minutes after a restart, or disable the Reflector temporarily.
Installation
- Download
Claude.Bridge.indigoPlugin.zipbelow - Unzip — you'll get
Claude Bridge.indigoPlugin - Double-click it — Indigo will install it automatically
Architecture
Two new handler files keep concerns separate:
mcp_server/tools/extended_tools/extended_tools_handler.py— all 43 IOM wrappersmcp_server/tools/plugin_dev_tools/plugin_dev_tools_handler.py— all 7 dev helpers
Each follows the established BaseToolHandler shape with structured dict returns and handle_exception error wrapping. Dispatch in mcp_handler.py uses two shared helpers (_ext_call, _pd_call) to keep boilerplate to a minimum — one line per tool.
🤖 Generated with Claude Code
v2.3.3 — run_script auto-injects `indigo`
Fix: run_script auto-injects indigo into globals
Scripts run via the run_script MCP tool no longer need an explicit
import indigo at the top. The indigo module is now pre-injected into
the exec namespace, matching Indigo's own GUI action runner.
Background
Before 2.3.3, scripts dispatched by mcp__indigo-mcp__run_script failed
with NameError: name 'indigo' is not defined because Claude Bridge passed
only {"__file__", "__name__"} to exec() — none of the Indigo namespace
injection that the GUI action runner provides. The docstring claimed
"Indigo globals available" but the implementation did not match.
Fix
mcp_server/tools/script_tools/script_tools_handler.py:run_script —
the ns dict passed to exec() now includes "indigo": indigo.
Compatibility
Scripts that already include import indigo continue to work — the
explicit import simply re-binds the name. No client changes required.
Installation
- Download
Claude.Bridge.indigoPlugin.zip - Unzip — you will get
Claude Bridge.indigoPlugin - Double-click — Indigo will install the new version
ClaudeBridge v2.3.2
Indigo plugin release v2.3.2.
Download Claude.Bridge.indigoPlugin.zip below, unzip, and double-click the resulting .indigoPlugin to install.
Per-plugin changelog: see README.md / repo CLAUDE.md for full release notes.
ClaudeBridge v2.3.1
Indigo plugin release v2.3.1.
Download Claude.Bridge.indigoPlugin.zip below, unzip, and double-click the resulting .indigoPlugin to install.
Per-plugin changelog: see README.md / repo CLAUDE.md for full release notes.
ClaudeBridge v2.3.0
Indigo plugin release v2.3.0.
Download Claude.Bridge.indigoPlugin.zip below, unzip, and double-click the resulting .indigoPlugin to install.
Per-plugin changelog: see README.md / repo CLAUDE.md for full release notes.
Claude Bridge v2.0.0
Claude Bridge v2.0.0 — Major Capability Expansion
This release doubles the tool count from 34 to 64, adds real-time event subscriptions, persistent cross-session memory, script authoring tools, and full home status reporting.
What's New
64 MCP tools across 12 categories (was 34 in v1.x):
- Script Tools — read, write, create, delete, scaffold, and backup Indigo Python scripts directly from a Claude conversation
- Event Subscriptions — real-time device/variable change feed with deduplication; Claude can watch for specific events and respond to them
- Memory Tools — persistent cross-session memory (100-entry cap, topic-organised); Claude remembers preferences and notes between conversations
- Home Status Report — prose narrative summary of your home's current state; configurable sections (energy, heating, security, devices, alerts, automation)
- Audit & Diagnostics — dependency mapping (what breaks if I delete X?) and conflict detection (duplicate names, shared addresses, orphaned script IDs, variable write races)
- Schedule Control — read and manage Indigo schedules
- System Tools — system-level Indigo information
Bug fixes:
- Event queue
entity_idnormalisation — specific-ID subscriptions now work correctly get_eventsparameter mismatch fixed —since/limitcorrectly passed to handler- Events now always include
timestamp_epochfor reliable time-based filtering
Requirements
- Indigo 2025.1+
- Claude Code (requires Claude.ai Pro/Max subscription or Anthropic API key)
- macOS
Installation
- Download
Claude.Bridge.indigoPlugin.zipbelow - Unzip — you will get
Claude Bridge.indigoPlugin - Double-click to install — Indigo installs it automatically
- Enable in Indigo → Plugins → Manage Plugins
- Restart Claude Code — the MCP connection is configured automatically
See CAPABILITY_SUMMARY.md for a full description of all 64 tools, subscription requirements, cost estimates, and timing information.
Claude Bridge v2025.0.2
Installation
- Download Claude.Bridge.indigoPlugin.zip below
- Unzip — you get
Claude Bridge.indigoPlugin - Double-click it — Indigo installs and enables the plugin automatically
What's new in v2025.0.2
- Renamed from "MCP Server" to "Claude Bridge"
- Replaced OpenAI/Voyage AI with Anthropic Claude API throughout
- Fixed text search (LLM query expansion was breaking substring matching)
- Proxy: persistent HTTP keep-alive, auto type coercion, MCP protocol version translation
- Removed all third-party AI service dependencies
Full changelog
| Version | Summary |
|---|---|
| 2025.0.2 | Renamed Claude Bridge; Claude API; fixed search; proxy improvements |
| 2025.0.1 | Initial release with OpenAI + Voyage AI embeddings |
Claude Bridge v1.1.1
Bug fixes
get_devices_by_state fixed
- Now correctly searches full device data including top-level thermostat/sensor properties (e.g.
heatIsOn,onState,hvacHeaterIsOn) - Fixed crash when state_value was coerced to bool by the proxy
- Schema changed to flat
state_key+state_valuestring parameters — no more object type validation errors
Example usage
Find all heating zones that are on:
get_devices_by_state(state_key="heatIsOn", state_value="true")
Find all devices that are on:
get_devices_by_state(state_key="onState", state_value="true")
Install
- Download
Claude.Bridge.indigoPlugin.zipbelow - Unzip — you will get
Claude Bridge.indigoPlugin - Double-click
Claude Bridge.indigoPlugin— Indigo installs it automatically - No Claude Code restart needed for this update.