Skip to main content
Glama

add_variables

Add stocks, auxiliaries, flows, connectors, and modules to an existing model in a single atomic call. If any item fails, the model remains unchanged.

Instructions

Add multiple stocks, auxiliaries, flows, connectors, and/or modules to an existing model in one call. All-or-nothing — on any item error the model is left unchanged and the error names the failing item (stage + index).

Input Schema

NameRequiredDescriptionDefault
auxsNoAuxiliary variables to add (applied after stocks)
flowsNoFlows to add (applied after stocks and auxs)
stocksNoStocks to add (applied first)
modulesNoModules to create (applied last)
model_idNoSession-scoped model ID. Optional; defaults to the current model for this session.
validateNoInclude validation results in the response
connectorsNoExplicit connectors to add (applied after variables)
workspace_idNoOpaque application workspace handle. Required by MCP 2026-07-28 clients; supported legacy stdio clients may omit it to use the process-local compatibility workspace.
sync_connectorsNoRun sync_connectors_from_equations after applying items

Output Schema

NameRequiredDescriptionDefault
addedYes
modelYes
model_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.14.0
    • addedInput schema / properties / workspace_id
      Added value: +{
      +  "description": "Opaque application workspace handle. Required by MCP 2026-07-28 clients; supported legacy stdio clients may omit it to use the process-local compatibility workspace.",
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "properties": {
      +    "added": {
      +      "type": "object"
      +    },
      +    "model": {
      +      "type": "object"
      +    },
      +    "model_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "model_id",
      +    "added",
      +    "model"
      +  ],
      +  "type": "object"
      +}
  2. Addedv0.9.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate this is not read-only and not destructive; the description adds valuable atomicity behavior: on any item error the model is left unchanged and the error names the failing item (stage + index). This goes beyond the structured annotation hints.

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?

The description is two sentences and front-loaded with the action and scope. The second sentence adds the critical all-or-nothing behavior without unnecessary detail.

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?

Given the tool's complexity and the rich input/output schemas, the description is sufficient: it states target, item types, batch nature, and error behavior. It does not need to explain return values because an output schema exists, though it could have explicitly mentioned using single-item tools for one-off additions.

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?

The input schema has 100% description coverage for all 9 parameters, including per-item arrays and their nested fields. The tool description does not add extra parameter semantics beyond enumerating item types, so the baseline of 3 is appropriate.

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 clearly states the tool adds multiple stocks, auxiliaries, flows, connectors, and/or modules to an existing model in one call. This specific verb+resource+scope distinguishes it from single-item siblings like add_stock, add_flow, add_aux, and add_connector.

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 implies batch use and atomicity ('in one call', 'all-or-nothing'), but it does not explicitly say when to prefer this over the single-add sibling tools or mention any exclusions. Usage guidance is therefore implied rather than stated.

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