Skip to main content
Glama

ml_forecast

Builds a bagged ridge time-series forecaster from lag and rolling features, evaluates holdout accuracy against baseline models, and forecasts future periods, falling back to a linear forecast when supervised training fails.

Instructions

Fit a seeded machine-learning forecaster (bagged ridge on causal lag and rolling features), evaluate it on a temporal holdout against persistence/mean/linear baselines with RMSE/MAE/MAPE/R², and forecast future periods. Falls back to the deterministic linear forecast when supervised training is not viable. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lagsNo
seedNo
alphaNo
columnYes
windowNo
horizonNo
periodsNo
file_pathYes
sheet_nameYes
n_estimatorsNo
test_fractionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses 'Read-only' (a key behavioral trait), mentions the fallback behavior, and states that evaluation against baselines occurs. It does not cover potential side effects, data format requirements, or performance implications, but the core behavioral traits are addressed. Given the lack of annotations, this is a strong disclosure, though not exhaustive.

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?

Two sentences, front-loaded with the core action, and no extraneous content. The read-only note is at the end but still present. Every sentence earns its place; this is an example of efficient writing.

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

Completeness2/5

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

Given the complexity (11 parameters, ML algorithm, evaluation), the description is too brief. It omits parameter semantics entirely and does not mention prerequisites like data format or time series requirements. The output schema covers return values, but the missing parameter explanations and lack of guidance on data preparation make it incomplete for a tool of this complexity.

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

Parameters1/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, but it fails to explain any of the 11 parameters. The description mentions 'causal lag and rolling features' which hints at lags and window, but does not explicitly map them to parameter names or provide meaning for alpha, test_fraction, n_estimators, or other fields. An agent cannot infer parameter usage from the description, making this a critical gap.

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 states a specific action ('fit... evaluate... forecast') on a time series resource, names the algorithm (bagged ridge on causal lag and rolling features), and differentiates from siblings by mentioning the fallback to linear forecasting. An agent can clearly distinguish this from linear_forecast and other tools.

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?

It provides clear context: this is for machine-learning-based forecasting with evaluation and a fallback to linear when training is not viable. However, it does not explicitly state when to prefer this over linear_forecast or other alternatives, only that it falls back to linear under certain conditions. No explicit exclusions are given, so it earns a 4 for clear context without exclusions.

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