Skip to main content
Glama

Attach Reference

attach_reference
Idempotent

Add an authorized saved asset reference to the exact scene without generating media or replacing other references.

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": {
      "project_id": "<project_id>",
      "scene_id": "<scene_id>",
      "expected_revision": "<expected_revision>",
      "asset_id": "<asset_id>",
      "asset_revision": "<asset_revision>",
      "role": "<role>",
      "ordinal": "<ordinal>",
      "request_key": "<request_key>"
    },
    "name": "attach_reference"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleYes
clip_idNoExact native clip within the scene; required by core when the scene is ambiguous. Never select the first clip implicitly.
ordinalYes
asset_idYesOpaque authorized product identifier; never proof of access.
scene_idYesOpaque authorized product identifier; never proof of access.
project_idYesOpaque authorized product identifier; never proof of access.
request_keyYesStable caller request key; reuse unchanged after a lost response.
asset_revisionYesCurrent saved resource revision or source signature returned by Genflick.
expected_revisionYesCurrent saved resource revision or source signature returned by Genflick.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already declare the write/idempotent/non-destructive profile, and the description adds genuinely new behavioral framing: the asset must be authorized and already saved, and the operation is purely additive rather than substituting existing references. It does not mention revision-conflict behavior, but that is partly covered by the expected_revision field in the schema.

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?

A single tight sentence with the target and the two exclusion constraints front-loaded; there is no filler text. Every clause carries scope information the schema does not express.

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

Completeness3/5

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

The output schema and rich field descriptions mean the description need not explain return values or field syntax, and it correctly captures the additive, non-generating nature of the call. Still, for a nine-parameter mutation with an optimistic-concurrency token, it says nothing about failure or revision-conflict behavior, which an agent would want before invoking.

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 78%, so most fields (project_id, scene_id, asset_id, asset_revision, expected_revision, request_key, clip_id) already carry their own descriptions. The description adds no parameter-level meaning for role, ordinal, or clip_id, leaving those to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (add an attached reference), the resource type (an authorized saved asset), and the target scope (the exact scene). It distinguishes the operation from generation and replacement, though it never distinguishes itself from the close sibling import_reference.

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?

It implies the usage context by excluding 'generating media' and 'replacing other references,' which tells the agent what situations this tool does not cover. However, it never names an alternative tool or states a positive when-to-use condition, so the agent must infer routing from the exclusions alone.

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