Skip to main content
Glama

Set entity voice assistant exposure

entities_set_entity_exposure
Idempotent

Expose or hide one Home Assistant entity to a single voice assistant (conversation, Alexa, Google). For individual exposure changes, not bulk.

Instructions

Expose or hide one entity to one voice assistant.

Calls WS homeassistant/expose_entity with a single-element entity_ids/assistants list.

Use when: changing exposure for one entity and one assistant. Not for: many entities or assistants at once — use entities_bulk_set_entity_exposure. Returns: dict with entity_id, assistant, should_expose and the raw WS result. Errors: raises ValueError when assistant is not one of conversation, cloud.alexa, cloud.google_assistant.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assistantYesVoice assistant identifier: 'conversation', 'cloud.alexa' or 'cloud.google_assistant'.
entity_idYesFull entity ID to expose or hide, e.g. 'light.kitchen'.
should_exposeYesTrue to expose the entity to the assistant, false to hide it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.25.1
    • addedInput schema / properties / assistant / description
      Added value: +"Voice assistant identifier: 'conversation', 'cloud.alexa' or 'cloud.google_assistant'."
    • addedInput schema / properties / entity_id / description
      Added value: +"Full entity ID to expose or hide, e.g. 'light.kitchen'."
    • addedInput schema / properties / should_expose / description
      Added value: +"True to expose the entity to the assistant, false to hide it."
  2. First observedv0.3.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover safety (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description goes further: it discloses the underlying WS call, the exact return dict keys, and the ValueError condition with the allowed assistant values. That is substantive behavioral context beyond 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.

Conciseness5/5

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

Front-loaded single-sentence purpose followed by tight labeled clauses (Use when / Not for / Returns / Errors). Every sentence carries distinct information with no padding.

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?

For a single-entity mutation tool with an output schema, the description covers the operation, the alternative, the return shape, and the failure mode. Nothing an agent needs to call it correctly is missing.

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 100%, so all three parameters are already documented in the schema. The description adds only the error constraint on assistant values, which is useful but marginal against a fully documented schema; baseline 3 applies.

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 specific verb+resource ('Expose or hide one entity to one voice assistant') with explicit scope of one entity and one assistant, and names the sibling it differs from (entities_bulk_set_entity_exposure). An agent can distinguish it from the bulk variant without opening either schema.

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 'Use when' clause plus a 'Not for' clause that names the alternative tool and the condition (many entities/assistants) that selects it. Nothing is left to inference.

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