Skip to main content
Glama
Vortitron

home-assistant-mcp

by Vortitron

Set log level

ha_set_log_level

Raise or lower Home Assistant integration log levels at runtime to debug one or several integrations before reproducing a problem, avoiding noisy global debug logs.

Instructions

Raise or lower logging for one integration (or several) at runtime, via logger.set_level. Use this before reproducing a problem — debug on one integration, rather than global debug that drowns the log. Bare names are treated as core integrations ('hue' -> homeassistant.components.hue); anything containing a dot is used as-is ('custom_components.vomesync'). Levels reset on restart. Requires HA_ALLOW_WRITE=true in direct mode.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelNoLevel to apply to 'integration'.
levelsNoSeveral at once: { "hue": "debug", "custom_components.vomesync": "info" }.
instance_idNoOptional: the instance you mean (as listed by vomehome_list_instances). When given, the call is refused if this session is targeting a different home, instead of answering from it.
integrationNoIntegration or logger path to change, e.g. 'hue' or 'custom_components.vomesync'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false and openWorldHint=true; the description adds substantial context beyond that: levels reset on restart (persistence), the HA_ALLOW_WRITE=true requirement in direct mode (auth prerequisite), and the name-resolution rule that bare names map to core integrations while dotted names are used as-is. These are exactly the behavioral traits an agent cannot infer from structured fields.

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?

Four tightly packed sentences, front-loaded with the action and usage trigger, then naming rules, then caveats. Nearly every clause earns its place; slight density comes from chaining several caveats (reset behavior, write flag) into single sentences.

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

Completeness5/5

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

With no output schema and only four parameters, the definition covers what an agent needs: the operation, the target-resolution rules, the persistence caveat, the write-permission prerequisite, and (via the schema) the instance_id scoping behavior. Nothing material is left unspecified for a mutation tool of this complexity.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains how 'integration'/'level' map to a single target versus 'levels' for several, and clarifies bare-name vs dotted-path resolution ('hue' -> homeassistant.components.hue) that the schema only hints at with examples. It does not explain the level enum semantics (e.g., what each verbosity does), so it is not a full 5.

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

Purpose5/5

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

The description states a specific verb (raise or lower logging), the resource (one or several integrations), and the underlying mechanism (logger.set_level). It is immediately distinguishable from the many log-reading siblings like ha_get_system_log or ha_get_error_log, which read logs rather than adjust levels.

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

Usage Guidelines4/5

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

It gives an explicit when-to-use ('before reproducing a problem') and a contrast case (avoiding global debug that drowns the log), which is strong routing guidance. It stops short of naming an alternative tool for global/catch-all logging, so it is not a full when/when-not/alternatives treatment.

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

Deploy Server

Other Tools