Skip to main content
Glama
davidesg

ART MCP Server

by davidesg

meg_frequency

Test one seasonal frequency against a baseline model using chained MEG, returning the DCD_f likelihood ratio to classify the frequency as stochastic or deterministic.

Instructions

MEG for ONE given seasonal frequency, evaluated on the CHAINED baseline.

Unlike formal_tests (which sweeps all frequencies), this runs the MEG / DCD_f contrast for exactly one frequency freq, ON TOP of the supplied baseline model — its AR/AR_s, μ, interventions and the OTHER harmonics are all kept. This is the correct chained MEG: from the baseline (e.g. harmonics

  • seasonal AR(1) + μ) it reformulates only f as stochastic (ifadf[freq]=1: the AR_f unit root 1−2cos(ω)B+B² for an interior f, or 1+B at the Nyquist; removes f's cos/sin harmonics; adds the free invertible MA_f testigo), then fits the free and the constrained (λ₂=−1) models and reports the DCD_f LR:

    LR = 2·[logL(free) − logL(λ₂=−1)] LR > crit ⇒ witness invertible, seasonal unit root genuine ⇒ STOCHASTIC. LR ≤ crit ⇒ witness at −1, cancels the AR_f unit root ⇒ DETERMINISTIC.

The witness coef is reported as the INVERTIBLE estimate (the engine flips |θ₂|>1 → 1/θ₂ inside the likelihood). If STOCHASTIC, adopt the form with meg_reformulate(freq=…, base_pre_path=<this baseline>).

Parameters

inp_path : source .inp/.pre (series data; also the model if base_pre_path="") freq : the single seasonal frequency to test (1..s/2) base_pre_path : the baseline .pre (AR_s+μ+harmonics); if empty, uses inp_path

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
freqYes
inp_pathYes
base_pre_pathNo
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers a detailed behavioral account: what is kept from the baseline, how the AR_f unit root is reformulated, how the LR is computed, the decision rule (LR > crit ⇒ stochastic, LR ≤ crit ⇒ deterministic), and the invertibility flip of the witness coefficient. This goes far beyond a generic 'runs a test' and fully discloses internal behavior.

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 long but dense and technically justified. It front-loads the core purpose, then structures the mechanism, decision rule, and parameters in clear sections. Every sentence adds meaningful information—there is no redundancy or filler, and the Parameters list makes lookup easy.

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?

Despite the tool's high complexity and absence of annotations or output schema, the description is complete: it explains the statistical context, the contrast with alternatives, the interpretation of results, the exact behavior of the engine, and the decision flow. A user can understand what happens before, during, and after invocation without needing external documentation.

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?

The input schema has 0% description coverage and only type/title/required info, but the description's Parameters section fully compensates. It explains `inp_path` (source data plus model fallback), `freq` (1..s/2 range and meaning), and `base_pre_path` (baseline .pre, empty means use inp_path), adding critical semantic meaning not inferable from the 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 description clearly states a specific action: 'MEG for ONE given seasonal frequency, evaluated on the CHAINED baseline.' It distinguishes itself from the sibling `formal_tests` by explicitly noting that this tool tests exactly one frequency instead of sweeping all frequencies, and also references `meg_reformulate` for subsequent adoption, giving a precise scope.

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 explicit differentiation from `formal_tests` ('Unlike formal_tests ... this runs ... for exactly one frequency'), making the appropriate use case clear. It does not explicitly state 'do not use for sweeping all frequencies' beyond the contrast, but the implication is strong. It also explains when `base_pre_path` can be empty, which is a practical usage condition.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidesg/art-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server