ART MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_inpA | Create a .inp file from raw time series data. This is the FIRST tool to call when the user provides data from a spreadsheet, CSV, or any source other than an existing .inp file. The .inp produced is a minimal data container (no model structure) ready for boxcox_analysis, guided_identification, and the full guided workflow. Parametersdata : list of numeric observations in chronological order output_path : path where the .inp file will be written (e.g. ~/data/IPC.inp) name : series name (e.g. "IPC", "PCE", "GDP") freq : observation frequency — 1=annual, 4=quarterly, 12=monthly start_year : year of the first observation (e.g. 2003) start_period : period of the first observation, 1-based (month 1-12 for monthly; quarter 1-4 for quarterly; 1 for annual) ReturnsConfirmation string with the path, series name, n, freq, and start date. |
| series_infoA | Load a time series from an .inp file and return basic information. Parametersinp_path : path to the .inp file Returns basic metadata: name, n, frequency, start date, Box-Cox lambda, differencing orders (d, D), ARMA structure. |
| boxcox_analysisA | Analyse Box-Cox transformation for a time series (standalone use). NOTE: in guided analysis use guided_identification instead — it integrates Box-Cox, the identification listing, unit-root tests and seasonality test in the correct order (listing first, tests as support). Computes the mean-std scatter for lambda=0 (log) and lambda=1 (identity), recommends the transformation, and returns the comparison figure. Parametersinp_path : path to the .inp file |
| seasonal_analysisA | HAC F-test for seasonal patterns — support tool, standalone use only. NOTE: in guided analysis use guided_identification instead — seasonal_analysis is a support tool called internally after the identification listing. Tests all harmonic frequencies using a joint F-test with HAC Newey-West standard errors. Returns the seasonality plot and a recommendation for D. Parametersinp_path : path to the .inp file |
| unit_root_analysisA | ADF + KPSS unit root tests for d = 0, 1, ..., max_d — support tool. NOTE: in guided analysis use guided_identification instead — unit_root_analysis is a support tool called internally after the identification listing. Exploratory tool for the starting value of d. NOT a formal hypothesis test — for formal testing on an estimated model use formal_tests (Shin-Fuller 1998). Parametersinp_path : path to the .inp file lam : Box-Cox lambda (0.0 = log, 1.0 = none) max_d : highest differencing order to test (default 2) |
| identification_analysisA | ACF/PACF identification listing + ARMA order suggestions — standalone use. NOTE: in guided analysis use guided_identification instead:
Compares the empirical ACF/PACF of the differenced series with theoretical ACF/PACF of candidate ARIMA models. Returns top-5 suggestions by similarity. Parametersinp_path : path to the .inp file (series is used, model spec ignored) d : regular differencing order (default 2) D : seasonal differencing order (default 0) lam : Box-Cox lambda (0.0=log, 1.0=identity, default 0.0) |
| preliminary_outlier_scanA | Scan the differenced series for extreme observations BEFORE choosing ARMA orders. "Lo más obvio primero": a large outlier in the differenced series distorts ACF/PACF coefficients (subestimated due to inflated variance). Treating the outlier BEFORE identification gives cleaner, more informative ACF/PACF. Returns the standardised ∇ᵈ∇ᴰ series with ±2σ bands and outliers marked, plus a recommendation on whether to add interventions before identifying (p, q). Parametersinp_path : path to the .inp file d : confirmed regular differencing order D : confirmed seasonal differencing order lam : confirmed Box-Cox lambda (0.0=log, 1.0=identity) threshold : |z| threshold for flagging extremes (default 3.5) |
| model_equation_displayA | Display the estimated model as two polynomial-operator equations. Shows the two-equation B-J-T form with estimated parameters and SE aligned below each coefficient (equivalent to the \est{}{} LaTeX macro in the thesis). Equation 1 (level): [transform] yₜ = Dₜ + Nₜ Dₜ shows all deterministic components: interventions, harmonics, mean. Equation 2 (noise): ∇ᵈ∇ₛᴰ φ(B) Nₜ = θ(B) aₜ Polynomial operator form for the ARIMA stochastic model. Parametersinp_path : path to the .inp or .pre file with the estimated model |
| estimate_and_diagnoseA | Fit the model specified in an .inp file and run diagnosis. Estimates the model by maximum likelihood (fue MVENC) and runs the full diagnosis: standardised residuals, ACF/PACF, Ljung-Box Q-test, Jarque-Bera normality test, and residual seasonality check. Parametersinp_path : path to the .inp file with the model specification
output_path : if given, also persist the fitted model as the |
| model_histogramA | Show the residuals histogram with normal overlay for a fitted model. Optional complement to the basic Treadway diagnostic module (estimate_and_diagnose / confirm_and_estimate). The histogram is not part of the basic diagnostic module — request it explicitly when you want to inspect the distributional shape of the residuals. Parametersinp_path : path to the .inp or .pre file with the estimated model |
| overparameterization_analysisA | Check for over-parameterization by inspecting parameter correlation matrix. Computes the correlation matrix of all estimated parameters from the covariance matrix returned by fue (MVENC). Parameter pairs with |corr| > threshold are flagged as potentially redundant. The correlation matrix is shown as a colour heatmap with the ARMA/mu block highlighted. High-correlation pairs are listed with labels and a note on whether the high correlation is structural (expected) or indicates true redundancy. Run this after estimate_and_diagnose if the diagnosis text mentions sobreparametrización, or as a routine check before finalising the model. Parametersinp_path : path to .inp or .pre file with the estimated model threshold : |corr| threshold for flagging (default 0.7) |
| formal_testsA | Run formal hypothesis tests on a fitted model. Tests run (where applicable to the model structure):
Parametersinp_path : path to .inp or .pre file run_meg : whether to run MEG (slow, default True) |
| ar_factorizationA | Factorize the estimated AR operator(s) of a fitted model and identify candidate seasonal AR_f factors. Each regular AR factor P(B) = 1 - c1 B - ... - cp B^p is factored (via
numpy.roots) and characterized in the original INTERPRETATION IS LEFT TO THE ASSISTANT: a complex factor whose period matches a seasonal cycle (per = s/k for an integer harmonic k) and whose damping d is near 1 is a candidate seasonal AR_f operator -- a stochastic-seasonal factor hidden inside an un-factored AR(p) -- to feed the MEG (DCD_f) and the dual Shin-Fuller AR_f test (paper SF_MEG, confirmatory pair). Because fue can estimate the AR operator factored or un-factored, factoring a freely estimated AR(p) exposes such factors. Parametersinp_path : path to .inp or .pre file (fitted model) sper : seasonal period; 0 (default) uses the series frequency |
| meg_reformulateA | Reformulate the model for STOCHASTIC seasonality at frequency Builds the model the MEG recommends, FROM THE LAST .pre, without editing files by
hand. It loads the last fitted model (base_pre_path if given, else inp_path),
activates the seasonal AR_f unit root at with_witness=True (DEFAULT) also adds the free invertible MA_f testigo
(1-2λcos(w)B+λ²B²), so the reformulated model is EXACTLY what the MEG/DCD_f
contrasts — the AR_f unit root AND the MA_f witness together. This is the correct
stochastic model S. After fitting, run with_witness=False gives the AR-only form (no witness): this OVER-DIFFERENCES the seasonal (inflated σ, exploded Q-test) and is only a diagnostic subproduct, NOT S. Use it only to inspect the bare over-differenced residuals. Multiple stochastic frequencies: call iteratively (strongest first), passing the previous output's .pre as base_pre_path, re-running formal_tests after each — the per-frequency MEG on the all-deterministic model has cross-frequency contamination. Parametersinp_path : source .inp/.pre (series data; also the model if base_pre_path="") freq : seasonal frequency to make stochastic (1..s/2) output_path : path to write the reformulated model (.pre/.out alongside) base_pre_path : the last .pre (the deterministic model); if empty, uses inp_path with_witness : add the free MA_f testigo (default True → the correct S model) |
| meg_frequencyA | MEG for ONE given seasonal frequency, evaluated on the CHAINED baseline. Unlike
The witness coef is reported as the INVERTIBLE estimate (the engine flips
|θ₂|>1 → 1/θ₂ inside the likelihood). If STOCHASTIC, adopt the form with
Parametersinp_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 |
| seasonal_param_analysisA | Visualise estimated seasonal harmonic parameters (cos/sin) with ±2 SE bars. For each harmonic k=1..freq//2 present in the model, reports:
Bar chart figure: two panels (cos coefficients | sin coefficients), colour-coded by significance. Parametersinp_path : path to a fitted .inp or .pre file |
| test_seasonal_simplificationA | Joint LR test for eliminating seasonal harmonics: H₀: cos_k = sin_k = 0. Fits a restricted model with the specified harmonics fixed to zero and computes LR = 2·(L_free − L_restricted) ~ χ²(df), where df = number of constrained parameters (2 per regular harmonic, 1 for Nyquist/alter). Typical workflow after seasonal_param_analysis:
Parametersinp_path : path to a fitted .inp or .pre file freq_list : harmonic indices to test (None = test all harmonics jointly) alpha : significance level (default 0.05) |
| intervention_analysisA | Detect extreme residuals and assess their impact on ACF/PACF and tests. Identifies residuals with |z| > threshold and reports:
Parametersinp_path : path to .inp or .pre file threshold : |z| threshold for flagging extremes (default 3.5) |
| test_interventionsA | Test H₀: ω=0 for every non-structural intervention in a fitted model. Runs a t-test on each free omega parameter of pulse, step, ramp, and similar interventions (cosine/sine harmonics and alter are structural and skipped by default). Identifies which interventions are non-significant and can be removed to simplify the model. For interventions with a transfer function (delta ≠ 0), also computes a Wald joint test H₀: g = α·ω = 0. Parametersinp_path : path to a fitted .inp or .pre file alpha : significance level for classification (default 0.05) |
| full_reportA | Generate a complete HTML report for a fitted model and save it to disk. The report is a self-contained HTML file with collapsible sections:
Parametersinp_path : path to .inp or .pre file output_path : path for the HTML output file run_meg : run MEG test (default True, only if D=0 + harmonics) intervention_threshold : |z| threshold for outlier warnings (default 3.5) |
| save_identification_reportA | Generate and save a full HTML identification report to disk. The report contains the ACF/PACF listing for the differenced series (for d=0,1,2 or with seasonal differencing) and the top-5 ARMA order suggestions ranked by pattern similarity. Parametersinp_path : path to the .inp file (series is used, model spec ignored) output_path : path for the HTML output file d : regular differencing order (default 2) D : seasonal differencing order (default 0) lam : Box-Cox lambda (0.0=log, 1.0=identity, default 0.0) |
| guided_identificationA | Sequential identification — ONE decision node per call. DECISION TREE — call in this sequence, one at a time: Call 1 lam=-1 (default) → Box-Cox scatter. Decide λ. WAIT for user. Call 2 lam=X d=-1 (default) → Series(λ) + ACF/PACF at level d=0. ¿Trend? → next call with d=1. ¿No trend? → next call with d=0, D confirmed. Support: unit_root_analysis available if needed. WAIT for user. Call 3 lam=X d= D=-1 → Series(λ) differenced d times + ACF/PACF + HAC seasonality. Seasonal? + B1 (deterministic seasonality: harmonics, D=0): Confirm d and D=0, then: a) confirm_and_estimate(m00: harmonics only, p=0, q=0) b) preliminary_outlier_scan on m00 residuals c) [cycle: add steps → re-estimate → scan] until clean d) Call 4 with pre_path=<mNN.pre> (ARMA on clean residuals) Seasonal? + B2 (stochastic seasonality: seasonal differencing, D=1): → Call 4 with lam, d, D=1 (ARMA+P+Q on ∇∇_s series) ¿No seasonality? → D=0, no harmonics, Call 4 directly. WAIT for user to confirm d and D. Call 4 lam=X d= D= [pre_path=<.pre>] B1 path (D=0, pre_path given): → ACF/PACF of clean model RESIDUALS from pre_path. PACF cuts → AR(p). ACF cuts → MA(q). Also: mean significant? (μ̄/SE > 2) → estimate_mu=True B2 path (D=1, no pre_path): → ACF/PACF of ∇^d ∇_s y(λ). Also check lags s,2s,3s for seasonal P and Q. B1 no-outliers (D=0, no pre_path): → ACF/PACF of ∇^d y(λ) directly. WAIT for user to confirm p, q (and P, Q if D=1). Parametersinp_path : path to series .inp file (all calls) lam : Box-Cox lambda (-1 = not yet decided → Call 1) d : differencing order (-1 = not yet decided → Call 2) D : seasonal differencing (-1 = not yet decided → Call 3) pre_path : path to fitted .pre (Call 4, B1): ARMA identified on its residuals instead of the raw transformed series. |
| confirm_and_estimateA | Build the .inp for the confirmed spec, estimate and show diagnosis immediately. Two modes:
Always returns:
Parametersinp_path : source .inp/.pre (series data and name; spec ignored unless base_pre_path is given) output_path : path to write the new .inp lam : Box-Cox lambda (0.0=log, 1.0=identity) d : regular differencing order D : seasonal differencing order (0=B1 harmonics, 1=B2 multiplicative) p : regular AR order q : regular MA order n_harmonics : harmonic pairs cos/sin (D=0 fresh only; ignored when base_pre_path is given — harmonics come from the .pre) seasonal : on/off switch for the whole deterministic seasonal package (cos/sin pairs + Nyquist alter). None (default) => derive from n_harmonics>0, correct for freq>=4. Pass False for a NON-seasonal series (no seasonal terms at all — avoids the spurious Nyquist of BUG-0005). Pass True for a SEMI-ANNUAL seasonal series (freq=2), whose only seasonal term is the Nyquist alter while n_harmonics (pairs) is 0. P : seasonal AR order (D=1 only) Q : seasonal MA order (D=1 only) base_pre_path : if given, load interventions+harmonics from this .pre and add only the ARMA spec. Typical use: final ARMA step after outlier cycle in B1 flow. estimate_mu : include mean parameter μ in estimation (default False). Set True when μ̄/SE > 2 in the residuals of the clean model. include_histogram : return histogram PNG as third item (default False). Keep False during the outlier cycle to save tokens; set True for the final model only. guion_path : (optional) path to guion.json — records this version guion_name : version name (e.g. "PC3"); auto-assigned if empty guion_decision : brief description of what this model tests or concludes guion_rationale : justification for the choices made guion_problems : problems found in the diagnosis of this model guion_next : description of the next version to try |
| record_versionA | Load, fit and record a model version in guion.json. Loads the model from inp_path, fits it, extracts stats (loglik, AIC, BIC, Q-test, JB-test, extreme residuals) and appends an entry to guion.json. Creates guion.json if it does not exist. Parametersinp_path : .inp file with the estimated model guion_path : path to guion.json (created if absent) name : version name, e.g. "PC3"; auto-assigned ("PC{n}") if empty decision : brief note on what this model tests or concludes rationale : justification for the parameter choices problems_found : problems detected in the diagnosis next_version : description of the next version to try |
| export_guionA | Render guion.json to a self-contained, navigable HTML report. Generates a single HTML file with:
Parametersguion_path : path to guion.json output_html : path to write the .html file |
| compare_versionsA | Compare two estimated models: spec diff, stats table, nested LR test. Loads and fits both .inp files. Returns:
Parametersinp_path_a : .inp file for model A (baseline / more restricted) inp_path_b : .inp file for model B (alternative / richer) lam_a : Box-Cox lambda for model A (0.0 = log) lam_b : Box-Cox lambda for model B (0.0 = log) guion_path : (optional) guion.json — unused currently, reserved |
| suggest_intervention_formA | Add an intervention to the .inp, re-estimate and show updated diagnosis. Adds a pulse, step or ramp intervention at the given date, saves to output_path, re-estimates and returns the updated parameter table and diagnosis. Use this iteratively — one intervention at a time. Parametersinp_path : current .inp/.pre (with any previous interventions) output_path : path to write the updated .inp date : observation date "MM/YYYY" or "QN/YYYY" or "YYYY". Leave empty ("") to auto-select the most extreme residual. form : "pulse", "step", "ramp" or "auto" (heuristic) context_hint : free-text note about the economic event (for logging) include_histogram : return histogram PNG (default False — saves tokens during the outlier cycle; set True for final round) guion_path : (optional) path to guion.json — records this version guion_name : version name (e.g. "PC3"); auto-assigned if empty guion_decision : brief description of what this model tests or concludes guion_rationale : justification for the intervention choice guion_problems : problems found in the diagnosis guion_next : description of the next version to try |
| build_modelA | Box-Jenkins-Treadway pipeline for a single series — autonomous or guided. Runs ONE engine (pipeline.run_full): decides the spec, estimates, adds interventions for detected outliers and re-estimates until the diagnosis is clean or max_rounds. The only difference between modes is WHO supplies each decision:
Always returns parameters + residual diagnosis figure; DCD/MEG at the end. Parametersinp_path : source .inp file — only the series is used output_path : path for the final estimated .inp max_rounds : maximum intervention-addition rounds (default 5) run_meg : run MEG stochastic seasonality test (slow; default False) lam : confirmed Box-Cox λ (0/0.5/1); -1 = let the heuristic decide d, D : confirmed differencing orders; -1 = heuristic p, q : confirmed ARMA orders; -1 = heuristic n_harmonics : confirmed cos/sin pairs (B1); -1 = heuristic decision : confirmed "A"/"B1"/"B2"; "" = heuristic guion_path : (optional) path to guion.json — records the final model guion_name : version name (e.g. "PC1"); auto-assigned if empty guion_decision: brief description of the model or pipeline result guion_rationale: justification for the spec |
| batch_buildA | Autonomous pipeline for multiple series. Builds one model per series. Calls build_model for each inp_path, saves individual .inp files and HTML diagnosis reports in output_dir. Returns a summary table and individual diagnosis figures. Parametersinp_paths : list of source .inp paths output_dir : directory where output .inp files and HTML reports are saved max_rounds : maximum intervention rounds per series (default 5) run_meg : run MEG test (slow; default False) |
| generate_forecastA | Generate L-step-ahead forecasts from a fitted model. Loads the model from inp_path (fitted .pre), computes forecasts, writes a fuf file to output_fuf_path for future updates, and writes the full Treadway/Jenkins HTML forecast report (tables + charts) to output_html. Parametersinp_path : fitted model file (.pre) horizon : number of periods ahead to forecast (e.g. 24) output_fuf_path : path to write the fuf input file (for update_and_forecast) output_html : path to write the fue HTML forecast report (required) |
| update_and_forecastA | Append new observations to a fuf file and update the forecast. Loads the fuf file, appends new_values to the series, re-runs the forecast (fixed parameters), compares actual observations against the previous forecast to report tracking errors, and writes the updated Treadway/Jenkins HTML report to output_html. Parametersfuf_path : existing fuf .inp file (from generate_forecast) new_values : list of new observations in original scale output_html : path to write the fue HTML forecast report (required) output_fuf_path : where to save the updated fuf file (default: overwrites fuf_path) actual_dates : (optional) date labels for new observations ("MM/YYYY") |
| sps_dashboardA | Generate a sequential prediction (SPS) dashboard for all series in a directory. Scans sps_dir for fuf .inp files, generates a fue HTML forecast report for each series in output_dir, and writes an index.html with a summary table linking to the per-series reports. Parameterssps_dir : directory containing fuf .inp files (one per series) output_dir : directory to write per-series HTML reports and index.html |
| preview_dataA | Preview the contents of an Excel or CSV file before loading. Lists available sheets (Excel), column names, number of rows, detected date range and frequency. Use this before load_data to choose the right column and confirm that dates are parsed correctly. Parameterssource_path : path to .xlsx, .xls, or .csv file sheet : sheet name (Excel only; default = first sheet) |
| load_dataA | Load a time series from Excel or CSV and write a fue .inp file. If the file has a date index (DatetimeIndex), freq and start are inferred automatically. If not, you must provide freq, start_year and start_period. Parameterssource_path : path to .xlsx, .xls, .ods or .csv file output_inp : path for the output .inp file (e.g. "cases/IPC_ES/IPC_ES.inp") column : column name to extract (exact match or 0-based integer index) series_name : name for the series in the .inp (default: column name) sheet : sheet name for Excel (default: first sheet) freq : 1=annual, 4=quarterly, 12=monthly (0 = auto-detect from dates) start_year : start year if no date index (0 = auto-detect) start_period : start period within year if no date index (1-based) |
| get_out_reportA | Return the full fue .out ASCII report for an estimated model. Produces the same output as the C 'fue' binary: parameter estimates with standard errors, AR/MA polynomials, sigma, log-likelihood, AIC/BIC, correlation matrix, residual statistics, outlier table, and ACF of residuals. Useful for detailed review of the estimated model beyond what the diagnosis summary shows. Parametersinp_path : path to the .inp or .pre file with the model specification |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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