Skip to main content
Glama
Vortitron

home-assistant-mcp

by Vortitron

Read or change an integration's options

ha_config_entry_options
Destructive

Open a config entry's options flow to view and submit per-integration settings, reaching hidden switches like ESPHome's allow_service_calls. Read the form first, then resend only changed values.

Instructions

Open a config entry's options flow — the per-integration settings panel — and optionally submit answers to it. Call with entry_id alone to see the current form and its fields, then again with user_input to set them.

This is the only way to reach switches that exist nowhere else in the API. The one asked for most: ESPHome's 'allow the device to perform Home Assistant actions' (field allow_service_calls), which a device needs before it can call HA services and which is buried several clicks deep in the UI. Also on that form: subscribe_logs. Get entry_id from ha_list_config_entries (domain=esphome).

Submitting a form sets every field it contains, so read it first and send the values back with only the ones you mean to change altered — omitting a field is not the same as leaving it alone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flow_idNoExisting options flow id to continue.
entry_idNoConfig entry to open the options flow for (from ha_list_config_entries).
user_inputNoAnswers for the current step, e.g. { allow_service_calls: true }.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.0

TDQS

A4.8/5.0
Behavior5/5

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

With annotations already declaring destructiveHint=true, the description goes further and explains *why* it is destructive: submitting a form sets every field it contains, so omitting a field does not preserve it. That is exactly the behavior an agent must know before invoking, and it exceeds what the annotations convey.

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?

Front-loaded with the core action, then the read-vs-write pattern, then the destructive caveat. Slightly padded by the ESPHome backstory ('buried several clicks deep in the UI'), but every sentence is relevant and none is filler.

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?

Complete for a 4-param, no-output-schema tool: it covers the read/write modes, the entry_id source, the destructive submit semantics, and a concrete use case. The remaining parameter (instance_id) is fully documented in the schema, so no gap remains.

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 interpretation beyond the schema: entry_id alone means 'read the form', user_input means 'submit answers', and it names real fields (allow_service_calls, subscribe_logs). This gives practical meaning to how the parameters combine.

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?

States a precise verb+resource+scope: 'Open a config entry's *options* flow — the per-integration settings panel — and optionally submit answers to it.' It also clarifies the two-phase nature (call with entry_id to read, again with user_input to write), distinguishing it from the sibling ha_config_flow which handles initial setup.

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

Usage Guidelines5/5

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

Explicit when-to-use with a concrete motivating case (ESPHome's allow_service_calls switch that is unreachable elsewhere) and a pointer to ha_list_config_entries for obtaining entry_id. It also gives a crucial operational instruction: read the form first and resubmit with only intended changes, since omission is not equivalent to leaving a field alone.

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