Skip to main content
Glama

riddle_template_create

Stores an existing Riddle as a template of its project (or of the user, for a personal Riddle), so new Riddles can be created from it with riddle_template_use. The template is a copy taken at this moment - the Riddle keeps living its own life and later changes to it do not reach the template. It copies what the Riddle currently has stored, published or not. Returns the created template: {id, title, type, category, isPublic, isQuickCreate, blocksCount, image, icon, createdAt, riddle}. Requires the template-create permission in the Riddle's project. Without full access only for a Riddle whose origin.writableByThisKey is true: riddle://reference/concepts/access.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
UUIDYesThe UUID of the Riddle to store as a template, e.g. "6FA740EW".
titleNoTitle for the template. Omit to keep the Riddle's own title.
iconMediaIdNoSame, for the "icon".
coverMediaIdNoMedia library image to show as the template's "image" from the Riddle's project (see riddle_template_update). Omit for the Riddle's own cover.
isQuickCreateNoWhether the template also shows up in the Creator's "quick create" list, i.e. among the starting points offered when creating a new Riddle. Defaults to false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / coverMediaId / description
      Previous value: -"Media library image to show as the template's \"image\" (see riddle_template_update). Omit for the Riddle's own cover."New value: +"Media library image to show as the template's \"image\" from the Riddle's project (see riddle_template_update). Omit for the Riddle's own cover."
  2. Changed2 schema fields changed
    • addedInput schema / properties / coverMediaId
      Added value: +{
      +  "default": null,
      +  "description": "Media library image to show as the template's \"image\" (see riddle_template_update). Omit for the Riddle's own cover.",
      +  "type": [
      +    "null",
      +    "integer"
      +  ]
      +}
    • addedInput schema / properties / iconMediaId
      Added value: +{
      +  "default": null,
      +  "description": "Same, for the \"icon\".",
      +  "type": [
      +    "null",
      +    "integer"
      +  ]
      +}
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover only the safety profile (readOnly=false, destructive=false, idempotent=false). The description adds substantive behavior: the template is a point-in-time copy, later Riddle edits do not propagate, and content is copied whether published or not. It also discloses the required permission and the access fallback, and enumerates the returned object.

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 and the snapshot semantics, followed by return shape and permission constraints. Dense but every sentence carries information; the access-rule sentence is the only slightly tail-heavy part.

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?

No output schema exists, and the description compensates by enumerating the returned template fields. Combined with the permission and access requirements, an agent has everything needed to call this mutation correctly.

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 each parameter (UUID, title, iconMediaId, coverMediaId, isQuickCreate) is already documented with defaults and fallback semantics. The description adds no parameter-level meaning beyond the schema, so the 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: storing an existing Riddle as a project (or personal) template. It explicitly contrasts with riddle_template_use, the sibling that consumes the template, so an agent can tell the two apart 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 Guidelines4/5

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

Explains the prerequisite permission (template-create) and the access condition (full access, or origin.writableByThisKey true) with a reference link, and points to riddle_template_use as the follow-up. It does not explicitly say when NOT to use it (e.g. vs riddle_template_update), but the context is clear and actionable.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources