Skip to main content
Glama

link_parameters

Links a source parameter to a destination via a relative HScript expression, so the connection survives node moves and prevents cycles. Refuses to overwrite keyframes unless replace_existing is true.

Instructions

Create a channel reference from one parameter to another.

The destination gets an HScript expression that reads the source as its own type: chs() for a String parameter, ch() for numbers, toggles and menus. The path is relative to the destination node (chs("../CTRL/mat")), so the link survives moving the pair, collapsing into a subnet or instancing an HDA. The reply carries the expression, the function used and the destination's evaluated value.

Args: source_path: Source node path. source_parm: Source parameter name. dest_path: Destination node path. dest_parm: Destination parameter name. replace_existing: Overwrite a destination that already has keyframes or an expression. Refused otherwise, so animation is never lost by accident. A link whose source already reads the destination through ch() is refused as a cycle in every case.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dest_parmYes
dest_pathYes
source_parmYes
source_pathYes
replace_existingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.24.1
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed1 schema field changedv2.19.0
    • addedInput schema / properties / replace_existing
      Added value: +{
      +  "default": false,
      +  "title": "Replace Existing",
      +  "type": "boolean"
      +}
  3. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses that a destination with keyframes/expression is refused unless replace_existing is set (protecting animation), that self-referential cycles are always refused, and what the reply contains (expression, function used, evaluated value). These are exactly the behaviors an agent needs before invoking.

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-loads the core purpose, then the mechanism, then the survival benefit, then Args. Every part is relevant, though the middle prose paragraph is slightly verbose for the amount of new information it adds.

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 five-parameter mutation tool with no annotations and no output schema, the description covers the key behaviors and even summarizes the return value. It stops short of full completeness only in not tying the tool to specific alternative tools or prerequisites.

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 description coverage is 0%, so the description must compensate, and the Args block documents all five parameters. replace_existing gets rich semantics (it overwrites keyframes/expressions, otherwise refused), though source_path/source_parm/dest_path/dest_parm are given only terse one-line glosses.

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 ('Create a channel reference from one parameter to another') and immediately clarifies the mechanism (HScript expression via chs()/ch()). This distinguishes it from nearby siblings like set_expression, get_parm_references and export_chop_to_parm, which the agent could otherwise confuse it with.

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?

The description explains the mechanism and its benefits (link survives moving/collapsing/instancing) but never explicitly says when to prefer this over alternatives such as set_expression or export_chop_to_parm, nor states prerequisites like both nodes needing to exist. Usage is implied rather than prescribed.

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