Skip to main content
Glama

Group assets

group_assets
Destructive

Merge assets into a group. A group is a container asset that holds other assets as variants — different formats or crops of the same thing, or a set of colour swatches, which Playbook shows as a palette. The group has no file of its own and takes its preview from its first displayable child. Pass the asset the others should join as parent_asset_token; if it is already a group they are added to it, otherwise a new group is created around it. Children move to the parent's board. Requires a token with the write scope. Two rejections to plan around: every child must be ungrouped or already in this same group — one that belongs to a different group fails the whole call, so ungroup it first — and parent_asset_token must not itself be sitting inside a group. To add to an existing group, pass the GROUP's own token, not the token of one of its members.

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": {
      "parent_asset_token": "<parent_asset_token>",
      "child_asset_tokens": "<child_asset_tokens>"
    },
    "name": "group_assets"
  }
}

Input Schema

NameRequiredDescriptionDefault
organizationNoWorkspace slug, as returned by list_organizations. Omit it when the account has a single workspace — it is then resolved from your token. Pass it only when the account has several, or when you mean a workspace other than the obvious one.
child_asset_tokensYesTokens of the assets to move into the group
parent_asset_tokenYesThe asset the others join. May itself be an existing group, but must NOT be an asset that sits inside one — that is rejected with 422.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "parent_asset_token",
      -  "child_asset_tokens",
      -  "context"
      -]New value: +[
      +  "parent_asset_token",
      +  "child_asset_tokens"
      +]
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the bar is lower, but the description still adds substantive context: children are relocated to the parent's board (a side effect not visible in the schema), the call requires a write-scoped token, and two specific failure modes (child already in a different group; parent itself inside a group, returning 422) are disclosed. It stops short of describing what the response contains or whether existing share links on moved children survive, which keeps it from a 5.

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 definition of a group, followed by the parent-selection rule, the token/scope requirement, and the rejection cases in descending priority. Dense but each sentence carries a rule; the Playbook palette aside is the only mildly expendable clause.

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?

For a destructive mutation tool with no output schema and three fully documented parameters, the description covers permissions, side effects, and the two ways the call fails. The remaining gap is post-call behaviour — what token or group representation comes back and whether the moved children's other properties are preserved — which is minor given no output schema is claimed.

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 would be 3, but the description adds real semantics the schema does not: parent_asset_token is the asset the others join and may become a group, and critically the caller must pass the group's own token rather than a member's token when targeting an existing group. The board-move implication of child_asset_tokens is also stated in prose. The organization parameter is left entirely to its schema description.

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 ('Merge assets into a group') and immediately defines what a group is as an asset type, including that it has no file of its own and derives its preview from the first displayable child. This is enough to distinguish it from ungroup_assets, list_group_children, and move_assets 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?

Explicitly covers the branching behaviour of the call: if the parent is already a group, children are added to it; otherwise a new group is created around it. It also names the exact precondition for adding to an existing group ('pass the GROUP's own token, not the token of one of its members') and the two rejection cases to plan around, with the fix for each (ungroup first).

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