Skip to main content
Glama

Create card from template

card_builder_make_template_card

Create a saved Card Builder card from a built-in template in one call, resolving the template and assigning a new card ID. Use it to skip separate preview and create steps.

Instructions

Resolve a built-in template and save it as a new Card Builder card in one call.

Resolves template the same way as card_builder_get_card_template, then passes the config straight to card_builder_create_card — which assigns a new id server-side, so repeating this call creates a second, distinct card.

Use when: turning a built-in template into a saved card without the separate preview/create steps. Not for: previewing the config first without saving — use card_builder_get_card_template; a fully custom recipe — use card_builder_build_from_recipe and card_builder_create_card directly. Returns: the created card dict, including its new id. Use that id with card_builder_renderer_card_config(card_id, slot_entities= {<slot>: ...}) to place the card on a dashboard. Errors: {"error": "unknown_template", "template": ..., "known": [...]} when template isn't a known template.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name for the new card, e.g. 'Battery Salon'.
slotNoOverride the template's default entity-slot name, e.g. 'main' instead of 'entity'. Omit to use the template's default.
tagsNoReplacement tag list. Omit to default to ['nexus-template', template].
templateYesTemplate name, e.g. 'sensor_hero', from card_builder_list_card_templates.
categoriesNoReplacement category list. Omit to default to the template's first domain, or 'tile' if it has none.
descriptionNoCard description. Empty string uses the template's own description instead.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.25.1
    • addedInput schema / properties / categories / description
      Added value: +"Replacement category list. Omit to default to the template's first domain, or 'tile' if it has none."
    • addedInput schema / properties / description / description
      Added value: +"Card description. Empty string uses the template's own description instead."
    • addedInput schema / properties / name / description
      Added value: +"Display name for the new card, e.g. 'Battery Salon'."
    • addedInput schema / properties / slot / description
      Added value: +"Override the template's default entity-slot name, e.g. 'main' instead of 'entity'. Omit to use the template's default."
    • addedInput schema / properties / tags / description
      Added value: +"Replacement tag list. Omit to default to ['nexus-template', template]."
    • addedInput schema / properties / template / description
      Added value: +"Template name, e.g. 'sensor_hero', from card_builder_list_card_templates."
  2. Addedv0.18.1

TDQS

A4.9/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), yet the description still adds real value: it states the new id is assigned server-side and that repeating the call creates a second distinct card, which concretely operationalizes the non-idempotent hint. It also documents the error shape ({"error": "unknown_template", ...}), which no annotation conveys.

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 with the core action, then cleanly sectioned into Use when / Not for / Returns / Errors. Every sentence carries distinct information; there is no filler or restatement of the schema.

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 mutating, non-idempotent tool with a rich 6-parameter schema and an output schema, the definition covers the action, the side effect, the routing alternatives, the error contract, and the downstream chaining step. 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.

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 meaning beyond the schema by stating that `template` resolves identically to card_builder_get_card_template, and by tying the returned `id` to card_builder_renderer_card_config usage. It does not elaborate on slot/tags/categories defaults, which the schema already handles.

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+resource ('Resolve a built-in template and save it as a new Card Builder card in one call') and explicitly frames itself as a composition of two siblings. An agent can distinguish it from card_builder_get_card_template, card_builder_create_card, and card_builder_build_from_recipe without opening any 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' and 'Not for' sections name the alternatives directly: preview-only goes to card_builder_get_card_template, custom recipes go to card_builder_build_from_recipe + card_builder_create_card. The selection condition is fully spelled out, leaving nothing 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