Skip to main content
Glama

lock_design

Destructive

Prevent a 3D design from being saved to the Kiln account by locking it locally; unlock it to allow cloud saves and pulls again.

Instructions

Keep a design on this computer only: never saved to the person's Kiln account.

        A locked design is never saved to the Kiln account, by any door:
        a cloud push, an automatic save after each version, a push of one
        of its signed releases, or a pull request.  Each is refused and
        says the design is locked.  Branching, merging and the history
        views keep working; when Kiln's servers run one of those, the
        design passes through them for that call only and is not kept
        there.  Locking removes nothing already in the account.  Free on
        every plan.

        Args:
            design_id: The design to lock or unlock.
            locked: ``True`` (the default) to lock it, ``False`` to unlock it.

        Returns:
            ``locked`` (the state it is now in) and ``said``: a sentence
            to show the person, saying what the lock does and does not do.
        

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "design_id": "<design_id>"
    },
    "name": "lock_design"
  }
}

Input Schema

NameRequiredDescriptionDefault
lockedNo``True`` (the default) to lock it, ``False`` to unlock it. Default: true.
design_idYesThe design to lock or unlock.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.5.1
    • addedInput schema / properties / design_id / description
      Added value: +"The design to lock or unlock."
    • changedInput schema / properties / locked / description
      Previous value: -"Default: true."New value: +"``True`` (the default) to lock it, ``False`` to unlock it. Default: true."
  2. Addedv1.5.0

TDQS

A4/5.0
Behavior3/5

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

With annotations declaring destructiveHint=true, the description helpfully clarifies scope: locking removes nothing already in the account, and only blocks future cloud writes (pushes, auto-saves, release pushes, pull requests), while branching/merging/history still work. That is valuable context, but the description does not address permissions, whether a lock can be removed by others, or any error/refusal format beyond 'it says the design is locked', so it stops short of full behavioral disclosure. Note the destructiveHint=true is softened rather than contradicted by 'Locking removes nothing already in the account'.

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?

The structure is good: headline constraint first, then behavior, then Args/Returns. There is some redundancy between the opening sentence and the following sentence ('never saved to the Kiln account' repeated), and 'Free on every plan' is marginally relevant, but overall it is tight for the amount of behavior it must convey.

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?

There is no output schema, and the description compensates by documenting the return value shape (locked state plus a human-readable 'said' sentence). Combined with the enumeration of blocked operations and preserved operations, an agent has everything needed to call and interpret this tool.

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% and the Args block restates exactly what the schema already says for design_id and for locked's default. No additional meaning (e.g., whether design ids must be owned by the caller, or what unlocking does to pending pushes) is added, so the baseline of 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?

The description opens with a specific verb and resource plus scope: "Keep a design on this computer only: never saved to the person's Kiln account." That distinguishes it from siblings like cache_design, keep_design, cloud_push_branch, or cloud_sync_now without needing schema inspection.

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?

The description clearly establishes the situation in which this tool is appropriate (keeping a design local) and even covers the inverse operation via locked=False, so an agent knows both directions. It does not explicitly name an alternative sibling or state when NOT to use it, which keeps it below a 5.

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