Skip to main content
Glama
aderik

ha-automation-mcp

by aderik

create_dashboard

Create a storage-mode Lovelace dashboard in Home Assistant to add custom UI pages without YAML edits; set URL path, title, icon, sidebar visibility, and admin access. Add views and cards afterward.

Instructions

Create a new storage-mode Lovelace dashboard.

The dashboard is immediately visible under Settings → Dashboards and at /lovelace-<url_path>. It starts empty; add views and cards separately.

Args: url_path: URL slug — e.g. 'moestuin' yields /lovelace-moestuin. title: Sidebar title. icon: MDI icon, e.g. 'mdi:sprout'. show_in_sidebar: Whether to show in the left sidebar. require_admin: Admin‑only access.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
iconNo
titleYes
url_pathYes
require_adminNo
show_in_sidebarNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are present, so the description carries the full behavioral burden. It discloses that creation is storage-mode, the dashboard is immediately visible, it starts empty, and the URL pattern. It omits important mutation details such as duplicate url_path handling, required permissions beyond the parameter, and return behavior.

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-loads the purpose, then adds two useful behavioral sentences, then a clean Args block. Every sentence and parameter entry serves a clear purpose with no wasted text.

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

Completeness4/5

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

Given a 5-param creation tool with no annotations and no output schema, the description covers purpose, URL behavior, empty-start state, and all parameters. It could optionally mention duplicate handling or permission requirements, but is largely complete for correct invocation.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It gives meaningful semantics for all five parameters, including concrete examples for url_path ('moestuin' yields /lovelace-moestuin) and icon ('mdi:sprout'), and clarifies title, show_in_sidebar, and require_admin.

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 and resource ('Create a new storage-mode Lovelace dashboard') and adds immediate visibility and empty-start behavior. It distinguishes itself from sibling dashboard tools like update_dashboard_metadata and set_dashboard_config by being the creation operation.

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?

Provides implied usage by noting the dashboard starts empty and that views and cards must be added separately, steering the agent to append/replace view and card tools afterward. However, it does not explicitly state when to use this versus update_dashboard_metadata or set_dashboard_config, nor does it list exclusions.

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