Skip to main content
Glama
sktime

sktime-mcp

Official
by sktime

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SKTIME_MCP_LOG_PATHNoOptional file path to output logs to in addition to stderr.
SKTIME_MCP_LOG_LEVELNoServer logging verbosity level (DEBUG, INFO, WARNING, ERROR). Default: WARNING.
SKTIME_MCP_AUTO_FORMATNoEnables or disables automatic time-series formatting during data loading. Default: true.
SKTIME_MCP_JOB_MAX_AGE_HOURSNoMaximum hours before completed background jobs are automatically pruned. Default: 24.
SKTIME_MCP_MAX_RESPONSE_TOKENSNoMaximum tokens allowed per tool response. Default: 0 (unlimited).
SKTIME_MCP_JOB_CLEANUP_INTERVALNoInterval in seconds for periodic job cleanup checks. Default: 3600.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
query_registryA

Discover sktime estimators, metrics, or capability tags. Common tags you can filter estimators by: 'capability:pred_int' (bool) - prediction intervals, 'capability:multivariate' (bool) - multivariate support, 'handles-missing-data' (bool) - NaN handling, 'scitype:y' (str) - target type ('univariate'/'multivariate'/'both'), 'requires-fh-in-fit' (bool) - needs forecast horizon at fit time. Set task='tag' (or 'tags') to query the full list of capability tags.

describe_componentA

Get detailed information about ANY class or component in the sktime ecosystem (estimators, splitters, metrics, transformers)

instantiate_estimatorA

Create an estimator or pipeline instance using a sktime craft specification. The spec is a string that evaluates to an estimator, e.g., 'ARIMA(order=(1, 1, 1))' or 'Detrender() * ARIMA()'.

list_handlesA

List all active estimator handles in memory

release_handleA

Release an estimator handle and free it from memory

fitA

Fit an estimator on data. Provide explicit X_handle and/y_handle (or datasets) depending on the estimator's scitype.

predictB

Generate predictions from a fitted estimator. Supports different modes like predict, predict_interval, predict_quantiles.

updateC

Update a fitted estimator with new data.

get_fitted_paramsA

Get fitted parameters from an estimator

call_methodA

Dynamically call any native method on an instantiated sktime component (e.g. 'split', 'get_alignment', 'call'). Use this tool to interact with non-standard scitypes like Splitters, Metrics, or Aligners that do not support the generic 'fit' or 'predict' endpoints. Pass 'kwargs' as a dictionary of arguments.

evaluate_estimatorC

Evaluate an estimator using cross-validation on a dataset

list_available_dataA

List all data available for use — system demo datasets and active user-loaded data handles — in a single unified response. Use is_demo=true for demos only, is_demo=false for handles only, or omit is_demo to get both.

load_data_sourceA

Load data from various sources into a data handle for forecasting. Can run synchronously (blocking) or asynchronously in the background. Supported source types: 'pandas' - from a dict or inline data (keys: data, time_column, target_column). 'file' - from CSV, Excel (.xlsx), or Parquet (keys: path, time_column, target_column). 'sql' - from a SQL database (keys: connection_string, query, time_column, target_column). 'url' - from a web URL pointing to CSV/Excel/Parquet (keys: url, time_column, target_column). GUIDELINES: 1. NEVER assume a column is a time index unless the user says so. 2. ALWAYS specify 'target_column' if the user mentions a specific variable. 3. The first column is used as target by default — if that's a date column, specify target_column explicitly. 4. For non-standard date formats, omit 'time_column' to use an integer index.

release_data_handleB

Release a data handle and free memory

inspect_dataA

Inspect a loaded data handle and return rich metadata for understanding the series before modelling. Returns mtype, scitype, shape, column names, dtypes, index level names, inferred frequency, cutoff (last training timestamp), total missing-value count, a 5-row head preview, and per-column summary statistics. Works on handles from load_data_source, split_data, or transform_data. Does not modify the data.

split_dataA

Split a time series data handle into temporal train and test sets, registering both halves as new data handles. Provide exactly one of test_size (fraction in (0, 1)) or fh (forecast horizon). fh may be an integer (hold out that many final steps) or a list of relative horizon indices (hold out max(fh) final steps). Returns train_handle, test_handle, cutoff timestamp, train_size, and n_test.

transform_dataA

Transform a loaded data handle and return a new handle. action='format' (default): auto-fix common time series issues — infer/set frequency, remove duplicate timestamps, fill index gaps, and forward/backward-fill missing values; returns changes_applied. action='convert': convert y to a different sktime mtype via convert_to() (requires to_mtype, e.g. 'pd.DataFrame', 'pd.Series', 'np.ndarray'). Replaces the legacy format_time_series tool.

save_dataA

Persist the target series (y) and any exogenous features (X) behind a data handle to a local file. Combines y and X into one table. Creates parent directories as needed. Supported formats: csv (default, writes index as first column), parquet, json (records orient, ISO dates).

plot_seriesB

Plot one or more time series natively. Can save the plot to a specified path as a PNG file or return it as a base64 string.

export_codeC

Export an estimator or pipeline as executable Python code

save_modelA

Save an estimator/pipeline handle using sktime MLflow integration

load_modelB

Load a saved sktime model from a local path and register it for use

check_job_statusB

Check the status and progress of a background job

list_jobsA

List all background jobs with optional status filter

cancel_jobA

Cancel a running or pending background job. Set delete=true to also remove the job record entirely (useful for cleaning up completed/failed jobs).

run_commandA

Run an arbitrary CLI/bash command inside the sktime container. Use this to install missing python packages (e.g., 'pip install mlflow') or inspect the file system.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/sktime/sktime-mcp'

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