Skip to main content
Glama

remediate

Automate OpenHAB bulk fixes and generation: batch-update tags/groups, create equipment, standardize naming, optimize persistence, and audit semantic links with safe preview or apply.

Instructions

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). semantic_fix: safely fix ONE item's semantic parent without touching other fields or groupNames — uses targeted REST endpoints (metadata only + additive group). semantic_fix_all: run full audit and auto-apply all safely fixable issues (dryRun=true for preview).

Input Schema

NameRequiredDescriptionDefault
actionYes
addTagNoTag to add to the item (used by: semantic_fix as an alternative to parentName)
dryRunNoPreview changes without applying them (used by: semantic_fix, semantic_fix_all)
updatesNoUsed by: bulk_update
itemNameNoUsed by: suggest_tags, semantic_fix
thingUIDNoUsed by: create_equipment
itemNamesNoUsed by: bulk_update
roomGroupNoTarget location group (used by: create_equipment)
parentNameNoName of the parent item to link to (used by: semantic_fix)
parentRelationNoSemantic relationship key (used by: semantic_fix)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.4.1
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "bulk_update",
      -  "create_equipment",
      -  "suggest_tags",
      -  "standardize_naming",
      -  "optimize_persistence",
      -  "export_snapshot",
      -  "boilerplate"
      -]New value: +[
      +  "bulk_update",
      +  "create_equipment",
      +  "suggest_tags",
      +  "standardize_naming",
      +  "optimize_persistence",
      +  "export_snapshot",
      +  "boilerplate",
      +  "semantic_fix",
      +  "semantic_fix_all"
      +]
    • addedInput schema / properties / addTag
      Added value: +{
      +  "description": "Tag to add to the item (used by: semantic_fix as an alternative to parentName)",
      +  "type": "string"
      +}
    • addedInput schema / properties / dryRun
      Added value: +{
      +  "description": "Preview changes without applying them (used by: semantic_fix, semantic_fix_all)",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / itemName / description
      Previous value: -"Used by: suggest_tags"New value: +"Used by: suggest_tags, semantic_fix"
    • addedInput schema / properties / parentName
      Added value: +{
      +  "description": "Name of the parent item to link to (used by: semantic_fix)",
      +  "type": "string"
      +}
    • addedInput schema / properties / parentRelation
      Added value: +{
      +  "description": "Semantic relationship key (used by: semantic_fix)",
      +  "enum": [
      +    "hasLocation",
      +    "isPartOf",
      +    "isPointOf"
      +  ],
      +  "type": "string"
      +}
  2. First observedv1.3.2

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it does disclose some useful traits: semantic_fix uses targeted REST endpoints (metadata only plus additive group) so other fields and groupNames are untouched, and semantic_fix_all auto-applies all safely fixable issues unless dryRun is set. It does not say whether bulk_update replaces or merges existing tags/groupNames, whether operations are reversible, what permissions are needed, or that semantic_fix_all is a broad multi-item mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The whole definition is a single dense paragraph with the action enumeration front-loaded and the two most complex actions explained last, which is efficient. Readability suffers slightly from cramming nine actions into one run-on list without separators, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-action, 10-parameter mutation tool with no annotations and no output schema, the description covers the two semantic actions well but leaves suggest_tags, standardize_naming, optimize_persistence, export_snapshot, and boilerplate as bare labels with no behavior, output shape, or side-effect disclosure. An agent could invoke semantic_fix correctly but would be guessing on the others.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 90%, so the schema already documents each parameter's 'used by' action and the enums are enumerated. The description adds only marginal meaning, notably that semantic_fix leaves groupNames alone and that dryRun previews, but it does not clarify merge-vs-replace semantics for the updates object or the addTag alternative path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names nine concrete actions with short parenthetical scope notes (bulk_update = batch tags/groups, create_equipment = auto-provision from thing, boilerplate = TS types), so an agent can map intent to an action. It falls short of a 5 because it never contrasts this multi-action tool with clearly overlapping siblings such as execute_batch, automation, or manage_persistence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is real routing guidance inside the action list: semantic_fix is scoped to ONE item's parent, semantic_fix_all runs a full audit and auto-applies, and dryRun=true is called out for preview. However, it gives no guidance on when to pick this tool over the similar siblings, and no prerequisites for create_equipment or bulk_update.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.