Skip to main content
Glama
getsimba-ai

Simba MCP Server

Official
by getsimba-ai

Link Var Model

link_var_model
Destructive

Attach a completed VAR model to an MMM so its long-run elasticities join with the MMM's short-term revenue for unified marketing mix insights.

Instructions

Link a completed VAR model to an MMM (#569).

After linking, the MMM's get_model_results long_run_rollup section joins the VAR's long-run elasticities with the MMM's short-term revenue. A VAR links to at most one MMM at a time — the error names the current owner if it is already linked elsewhere.

The join is by exact name unless channel_map declares which MMM channels each VAR exogenous series stands for (#682) — required whenever the VAR is fitted on group spends (e.g. four spend groups) while the MMM is tactic-level. Each group's elasticity is allocated across its member channels pro-rata by KPI short-term contribution, so the group's long-run effect is counted exactly once. Validation is strict: keys must be VAR exogenous series, values must be channel names of the (completed) MMM, and no channel may belong to two groups. The map belongs to the link: every link replaces it (omitting channel_map clears any stored map) and unlink clears it.

Args: model_hash: The MMM to attach the long-run view to. var_model_hash: The VAR model (from create_var_model). channel_map: Optional {var_exogenous_series: [mmm_channel, ...]} mapping for group-level VARs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_hashYes
channel_mapNo
var_model_hashYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.5.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "link_var_modelDictOutput",
      +  "type": "object"
      +}
  2. First observedv0.3.2

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already signal destructive and non-idempotent behavior, but the description goes far beyond them: it explains the post-link effect on get_model_results, the at-most-one-MMM constraint, the error behavior naming the current owner, strict validation rules, channel_map replacement semantics, and clearing on unlink. This is rich behavioral disclosure.

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 description is long but structured and front-loaded with the core purpose before diving into details. Every sentence adds operational value, though the depth of detail around channel_map and validation makes it denser than strictly necessary.

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?

For a linking tool with destructive semantics and non-trivial validation, the description covers the full context: prerequisites, result effects, constraints, error behavior, parameter semantics, and state lifecycle. The existing output schema covers return value details, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full responsibility. It clearly defines model_hash as the MMM to attach to, var_model_hash via create_var_model, and channel_map with its type, purpose, validation rules, and lifecycle. The description compensates completely for the sparse schema.

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 first sentence names a specific verb and resource: 'Link a completed VAR model to an MMM'. This clearly distinguishes it from the sibling unlink_var_model and other model-management tools. The subsequent explanation of what linking does to results makes the tool's role unmistakable.

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 gives clear context for when linking is appropriate, including the one-link-per-VAR constraint and the channel_map requirement for group-level VARs. It mentions 'unlink clears it', implicitly pointing to the sibling unlink tool, though it never explicitly instructs the agent to use unlink_var_model for removal.

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