sktime-mcp
OfficialThe sktime-mcp server is a semantic engine that exposes sktime's time-series machine learning library to LLMs via the Model Context Protocol (MCP), enabling discovery, composition, and execution of real sktime workflows.
Discover & Explore
Query the registry for available estimators, metrics, and datasets by task type or capability tags
Get detailed descriptions of any sktime class (estimators, splitters, metrics, transformers)
Manage Data
Load time series from pandas dicts, CSV/Excel/Parquet files, SQL databases, or URLs
Inspect, auto-format, convert between mtypes, split into train/test sets, and save data
Release data handles to free memory
Build & Run Models
Instantiate any sktime estimator or pipeline from a spec string (e.g.,
ARIMA(order=(1,1,1))orDetrender() * ARIMA())Fit, predict (point, intervals, quantiles, probabilities), update, and retrieve fitted parameters
Call any native method on a sktime component (splitters, metrics, aligners, etc.)
Evaluate & Export
Cross-validate estimators on datasets
Export fitted estimators as executable Python code for reproducibility
Plot one or more time series, saving to file or returning as base64
Model Persistence
Save and load fitted models using sktime's MLflow integration
Session & Job Management
List, inspect, and release active data/estimator handles in memory
Run tasks asynchronously; monitor, check status, or cancel background jobs
Run arbitrary CLI/bash commands inside the server container (e.g., install packages)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sktime-mcpfind a forecasting estimator for monthly sales data"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
sktime-mcp
Read the Documentation | PyPI Package
MCP (Model Context Protocol) layer for sktime - Registry-Driven for LLMs
A semantic engine that exposes sktime's native registry and semantics to Large Language Models, enabling them to:
🔍 Discover valid estimators
🧠 Reason about estimator capabilities
🔗 Compose compatible estimators
⚡ Execute real sktime workflows on real data
🎯 Design Philosophy
This MCP is not just documentation or static code analysis. It is a semantic engine for programmatic model usage.
Key Principles
sktime as Source of Truth - No AST parsing, no repo indexing, no heuristics. All structure comes from
all_estimators, estimator tags, and sktime's API contracts.Registry-First - Instead of
File → Class → Infer Relationships, we doRegistry → Semantics → Safe Execution.Minimal MCP Surface - Exposes only what an LLM needs: Discovery, Description, Instantiation, Execution, and model persistence.
Related MCP server: Ollama MCP Server
🛠️ Installation
Zero-install via uvx (recommended)
If you have uv installed, no separate installation step is needed. Just update your MCP client config (see Connecting from an LLM Client below) and uvx will handle the rest automatically.
# Verify uv is available
uvx sktime-mcp --helppip
pip install sktime-mcp
# With optional extras (SQL, forecasting models, file formats)
pip install "sktime-mcp[all]"Development installation
git clone https://github.com/sktime/sktime-mcp
cd sktime-mcp
python3 -m pip install -e ".[dev]"🐳 Docker
Run without installing anything locally (only Docker required):
# Build the image
docker build -t sktime-mcp .
# Run the MCP server (stdio transport)
docker run -i sktime-mcpOr use Docker Compose:
docker compose build
docker compose run sktime-mcpClaude Desktop — use Docker as the MCP server command:
{
"mcpServers": {
"sktime": {
"command": "docker",
"args": ["run", "-i", "--rm", "sktime-mcp"]
}
}
}Environment variables can be passed at runtime:
docker run -i -e SKTIME_MCP_LOG_LEVEL=DEBUG sktime-mcpFor a more detailed first-time setup flow, including MCP server verification and troubleshooting, see Beginner Setup.
🧭 Beginner Setup (First‑Time Users)
If you are new to sktime‑mcp or to MCP‑based workflows, this section provides a minimal starting point to help you verify that your setup is working correctly.
What is MCP?
The Model Context Protocol (MCP) allows Large Language Models (LLMs) to discover, reason about, and execute sktime workflows programmatically. This project exposes sktime’s estimator registry and semantics in a structured way so that LLMs can safely compose and run real time‑series pipelines.
Prerequisites
Python 3.10 or newer
A working Python virtual environment (recommended)
pipinstalled
macOS / Unix-like first-time setup
For macOS or Unix-like shells, create an isolated virtual environment before installing the package:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install sktime-mcpFor development (if you want to modify the source):
python -m pip install -e ".[dev]"Verify that the MCP server starts:
sktime-mcpIf the sktime-mcp console command is not found (e.g. the script was not placed on your PATH), use the module fallback instead — this is also the recommended form when an MCP client needs to target a specific Python environment:
python -m sktime_mcp.serverCommon first-time issues:
Symptom | Likely cause | Fix |
| Scripts directory not on | Run |
| Package not installed in the active environment | Confirm |
| System | Use |
Wrong Python version selected | Multiple Python installations | Invoke |
Minimal Setup Check
After completing the steps above, confirm the server starts with sktime-mcp. See the macOS / Unix-like first-time setup section for the fallback command and common error solutions.
Note: On Windows, the
sktime-mcpcommand may be installed to a directory not on yourPATH(e.g.,%APPDATA%\Python\Python3xx\Scripts). Either add that directory to yourPATHor usepython -m sktime_mcp.serverinstead.
🚀 Quick Start
Running the MCP Server
Standard Stdio Mode (for MCP Clients)
sktime-mcpHTTP/SSE Mode via FastAPI (for Web Browsers or ChatGPT)
To expose the MCP server as a REST API over SSE (Server-Sent Events) for direct consumption:
PYTHONPATH=src .venv/bin/uvicorn sktime_mcp.app:app --host 127.0.0.1 --port 8001This exposes standard SSE on /sse and message passing on /messages/.
Note for ChatGPT Web Users: ChatGPT runs in the cloud and cannot connect to
http://127.0.0.1(you will get an "Unsafe URL" error). You must expose your local server to the internet using a secure tunnel like ngrok:ngrok http 8001Then use the provided
https://<your-ngrok-id>.ngrok-free.app/sseURL in ChatGPT.
Configuration (Environment Variables)
You can configure the server's behavior at runtime using environment variables:
SKTIME_MCP_MAX_RESPONSE_TOKENS: Maximum tokens allowed per tool response (e.g.,10000). If a response exceeds this limit, it is truncated and appended with a notice. Set to0(default) for unlimited.SKTIME_MCP_LOG_LEVEL: Server logging verbosity level (DEBUG,INFO,WARNING,ERROR). Defaults toWARNING.SKTIME_MCP_AUTO_FORMAT: Enables or disables automatic time-series formatting during data loading.SKTIME_MCP_JOB_MAX_AGE_HOURS: Maximum hours before completed background jobs are automatically pruned. Defaults to24.
Connecting from an LLM Client
The server uses stdio transport by default, compatible with Claude Desktop, Claude Code, and other MCP clients.
Claude Desktop — add to your config file:
Platform | Config path |
macOS |
|
Linux |
|
Windows |
|
With uvx (recommended — no prior install needed):
{
"mcpServers": {
"sktime": {
"command": "uvx",
"args": ["sktime-mcp"]
}
}
}With optional extras:
{
"mcpServers": {
"sktime": {
"command": "uvx",
"args": ["sktime-mcp[forecasting,sql]"]
}
}
}With pip-installed package:
{
"mcpServers": {
"sktime": {
"command": "sktime-mcp"
}
}
}⚙️ Configuration
The server can be configured via environment variables:
Environment Variable | Description | Default |
| Logging verbosity (e.g. |
|
| Optional file path to output logs to in addition to stderr | (None) |
| Automatically format time series data on load ( |
|
| Maximum age in hours before background jobs are cleared |
|
| Interval in seconds for periodic job cleanup checks |
|
📚 Available Tools
The full tool reference is in the project documentation: https://sktime.github.io/sktime-mcp/
Need | Tool options | Rough explanation |
Discover what sktime can do |
| Find demo data, estimators, tags, and component details. |
Bring data into the session |
| Load files, inline data, SQL, or URLs into handles; inspect, clean, split, and persist them. |
Build and run models |
| Create sktime estimators or pipelines, fit them, forecast, update, or call native methods. |
Evaluate and reproduce |
| Cross-validate, generate Python code, and persist fitted models. |
Manage runtime state |
| See what is in memory, clean it up, and track async work. |
The practical mental model is simple: prompts create tool calls, tool calls create handles, and handles let later prompts continue the workflow.
🔄 Example LLM Flows
See the User Guide for end-to-end workflow examples, including:
Discovering sktime coverage
Retail forecasting and saving results
Cleaning messy business data
Time-series classification
📁 Project Structure
sktime-mcp/
├── src/sktime_mcp/
│ ├── server.py # MCP server entry point
│ ├── registry/ # Registry interface & tag resolver
│ ├── composition/ # Pipeline composition validator
│ ├── runtime/ # Execution engine, handle & job management
│ ├── data/ # Data adapters (file, pandas, SQL, URL)
│ └── tools/ # MCP tool implementations
├── docs/ # Sphinx documentation source
├── examples/ # Usage examples
├── tests/ # Test suite
├── Dockerfile # Multi-stage container build
├── docker-compose.yml # Compose service definition
└── .dockerignore # Docker build context filter🧪 Running Tests
pytest tests/Local Quality Checks
Run standardized local checks before raising a PR:
make checkAuto-fix formatting and fixable lint issues:
make format-fixIf make is unavailable (common on Windows), run the equivalent commands:
ruff format --check .
ruff check .
pytestPre-Commit Hooks (Recommended)
To ensure your code meets quality standards before pushing, install the pre-commit hooks:
make install-hooksThis will automatically run Ruff and Pytest on your code every time you make a commit.
Available Tools
26 toolscall_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.
| Name | Required | Description | Default |
|---|---|---|---|
| kwargs | No | Dictionary of keyword arguments to pass to the method. Pass '_dataset' or '_data_handle' as suffixes in keys to inject memory data (e.g., {'y_dataset': 'airline'}). | |
| handle_id | Yes | Memory handle ID of the instantiated component | |
| method_name | Yes | Name of the method to call (e.g. 'split') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions dynamic calling and kwargs with special suffixes, but does not disclose potential error behavior, side effects, or security implications. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at two sentences, front-loaded with action and examples. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a dynamic method call tool and no output schema, the description omits return value and error handling. It covers purpose and basic usage but not operational details that could aid agent execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds general context but does not significantly enhance parameter understanding beyond the schema's own descriptions. No new semantics for individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'call', resource 'native method on instantiated sktime component', and distinguishes from siblings by specifying it's for non-standard scitypes not covered by 'fit' or 'predict'. Examples enhance clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool (for non-standard scitypes lacking generic endpoints), though it does not explicitly mention when not to use it. The context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| delete | No | Also remove the job record after cancelling (default: false) | |
| job_id | Yes | Job ID to cancel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions cancelling and optional deletion but lacks details on side effects, permissions, success/failure conditions, or whether cancellation is synchronous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary action, no wasted words. Efficiently communicates purpose and key parameter option.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple cancel operation but lacks explanation of return values, error handling, or state restrictions beyond 'running or pending'. Missing details on what occurs after cancellation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value for the 'delete' parameter by explaining its utility (cleaning up completed/failed jobs). For 'job_id', no additional semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: cancel a running or pending job. It is specific and distinguishes from sibling tools like check_job_status and list_jobs which are read-only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for running or pending jobs but does not explicitly state when to use this tool versus alternatives, nor does it provide when-not-to scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_job_statusB
Check the status and progress of a background job
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It mentions 'status and progress' but does not detail what is returned (e.g., status code, progress bar), whether it is idempotent, or what happens if the job_id is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence with no wasted words. Short and to the point, though it could benefit from some structure (e.g., bullet points for return values).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description should explain return values and possible statuses. It does not. Also missing error handling context. Incomplete for a 1-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, and the description of job_id is minimal. The tool description adds no extra semantic value beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the status and progress of a background job, specifying the verb 'check' and resource 'status and progress of a background job'. It distinguishes from sibling tools like cancel_job (cancel) and list_jobs (list all jobs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as list_jobs or when to avoid it. No mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_componentA
Get detailed information about ANY class or component in the sktime ecosystem (estimators, splitters, metrics, transformers)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the component class (e.g., 'ARIMA', 'SlidingWindowSplitter', 'MeanAbsolutePercentageError') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description uses 'Get' implying a read-only, non-destructive operation. No annotations provided, so description carries burden. It is adequate for a simple info tool, though could explicitly state that it does not modify state or require special permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Front-loaded with action and scope. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool without output schema, the description is minimally adequate but omits what 'detailed information' includes (e.g., parameters, docstring, methods). Could improve by hinting at output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter meaning is fully defined by schema. Description does not add any additional semantic information beyond the schema's description of 'name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves detailed information about any class or component in the sktime ecosystem, listing specific examples (estimators, splitters, etc.). Distinguishes from sibling tools like fit or predict which perform actions rather than retrieve info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage from description: use when needing details about sktime components. No explicit guidance on when not to use or alternatives. Could mention that query_registry or list_handles might be relevant for discovery, but not required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_estimatorC
Evaluate an estimator using cross-validation on a dataset
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | Yes | Dataset name: airline, sunspots, lynx, etc. | |
| cv_folds | No | Number of cross-validation folds (default: 3) | |
| estimator_handle | Yes | Handle from instantiate_estimator |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions cross-validation but does not disclose whether the estimator is modified, what the return value is, or any side effects like resource usage. The description is too brief for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. It is concise but could be more informative while maintaining brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool performs cross-validation evaluation with three parameters and no output schema or annotations, the description lacks critical context: what the evaluation returns (e.g., scores, plots), how cross-validation is configured (e.g., stratified), and prerequisites (e.g., dataset must be loaded). It is insufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already described in the schema. The description adds no extra meaning beyond the schema, such as how 'dataset' values relate to available data or how 'cv_folds' affects evaluation. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'evaluate' with the resource 'estimator' and method 'cross-validation on a dataset', which distinguishes it from sibling tools like 'fit' and 'predict'. It is specific but could be more explicit about what evaluation metrics are used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., 'fit', 'predict'), nor does it mention prerequisites like needing an estimator handle from 'instantiate_estimator'. Agents are left to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_codeC
Export an estimator or pipeline as executable Python code
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Handle ID of the estimator/pipeline to export | |
| dataset | No | Optional dataset name for the fit example (e.g. 'airline', 'sunspots'). Defaults to 'airline' if omitted. | |
| var_name | No | Variable name to use in generated code (default: 'model') | model |
| include_fit_example | No | Whether to include a fit/predict example (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose whether the operation is read-only, modifies state, has side effects, or requires specific permissions. The minimal description leaves important behavioral unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose. No redundant words or content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description should clarify what the tool returns (e.g., code as text or a file). It does not mention output format or behavior, leaving the agent without crucial information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 4 parameters. The description adds no extra parameter context beyond what the schema already provides. Baseline score 3 is appropriate as the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Export' and the resource 'estimator or pipeline', and the output type 'executable Python code'. It is distinct from sibling tools, though it could be more specific about the export format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as save_model or describe_component. No context about prerequisites or use cases is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fitA
Fit an estimator on data. Provide explicit X_handle and/y_handle (or datasets) depending on the estimator's scitype.
| Name | Required | Description | Default |
|---|---|---|---|
| fh | No | Optional: Forecast horizon (e.g. 12 or [1,2,3]) to pass to fit | |
| X_handle | No | Optional: Handle from load_data_source for X data (features, panel, etc.) | |
| y_handle | No | Optional: Handle from load_data_source for y data (target, labels, etc.) | |
| X_dataset | No | Optional: Demo dataset name for X data | |
| run_async | No | If True, runs the fit asynchronously in the background and returns a job_id. | |
| y_dataset | No | Optional: Demo dataset name for y data | |
| estimator_handle | Yes | Handle from instantiate_estimator |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses the need for appropriate data handles or datasets depending on estimator type, and mentions run_async. However, it does not detail mutation behavior, prerequisites, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with main action, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no return value description, the description is too minimal. Lacks details on async behavior, return format, and scitype-specific examples.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds value by tying the choice of X_handle/y_handle vs datasets to the estimator's scitype and referencing handles from load_data_source and instantiate_estimator.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (fit an estimator) and the resource (estimator on data). It distinguishes from sibling tools like predict or evaluate_estimator by specifying the need to provide handles or datasets depending on scitype.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use X_handle/y_handle vs datasets based on estimator scitype, but does not explicitly exclude alternatives or mention when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fitted_paramsA
Get fitted parameters from an estimator
| Name | Required | Description | Default |
|---|---|---|---|
| estimator_handle | Yes | Handle of a fitted estimator |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only states it 'gets' parameters, offering no details on behavior like error conditions for unfitted estimators or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no unnecessary words; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description is adequate but lacks explanation of return format or what 'fitted parameters' entails, which could be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes the parameter 'estimator_handle'. The description adds no additional meaning beyond what the schema provides, meeting baseline but not exceeding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'fitted parameters from an estimator', which is specific and distinct from sibling tools like 'fit', 'predict', or 'instantiate_estimator'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used after fitting an estimator, but provides no explicit guidance on when to use versus alternatives or prerequisites like the estimator needing to be fitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| data_handle | Yes | Data handle ID to inspect (from load_data_source, split_data, or transform_data). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explicitly states the tool does not modify data, and lists all returned metadata (mtype, scitype, shape, etc.), making behavior transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: starts with purpose, lists comprehensive return values, then specifies compatible handles. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with one parameter and no output schema, the description is thorough, detailing all return fields. It is complete enough for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter. Description adds context about valid handles (from load_data_source, split_data, or transform_data), but the schema already describes the parameter adequately, so minimal additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it inspects a data handle and returns rich metadata. Verb 'inspect' and resource 'data handle' are specific. Distinguishes from siblings that produce handles, like load_data_source, split_data, transform_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it works on handles from load_data_source, split_data, or transform_data, providing clear context for when to use it. Also notes it does not modify data, implying it is for inspection only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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()'.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | Craft specification string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully disclose behavior. It fails to mention side effects, safety (read-only vs destructive), or return value. The operation appears to create an instance without persistent storage, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The description is front-loaded with the purpose and provides an example, making it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the core functionality. However, it lacks details on validation, error handling, and the nature of the returned instance (e.g., in-memory handle). Minor gaps reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter at 100%, providing a baseline of 3. The description adds value by explaining the spec string evaluates to an estimator and giving examples, which aids understanding beyond the bare schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an estimator or pipeline instance from a sktime craft specification, with concrete examples. It is distinct from siblings like 'load_model' or 'fit'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'load_model' or 'describe_component'. The description implies usage with a spec string but does not clarify exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| is_demo | No | Optional filter: true = only system demos, false = only active data handles, omit = both. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It is straightforward (listing data) and implies read-only behavior, but does not explicitly mention safety, permissions, or potential side effects. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences: the first defines purpose and scope, the second gives parameter usage. No unnecessary words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (1 optional parameter, no output schema), the description is mostly complete for basic use. However, it does not describe the return format or any error conditions, which could hinder an agent's understanding of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the description repeats the same information about the is_demo parameter. It adds no new meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available data, including both system demo datasets and active user-loaded data handles, in a single unified response. This distinguishes it from sibling tools like list_handles, which likely only returns handles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on using the is_demo parameter with three clear cases: true for demos, false for handles, omit for both. However, it does not contrast with sibling tools like list_handles to help decide which tool to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_handlesA
List all active estimator handles in memory
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source of behavioral info. It states the action is listing in memory, which implies a read-only operation. However, it does not disclose potential side effects, required permissions, or whether handles are globally scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded. Every word is necessary; no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete given the tool's simplicity (no parameters, no output schema). It adequately describes the purpose, though it could hint at the return type or scope of 'active estimator handles'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100% (empty). Per guidelines, baseline is 4 for 0 parameters. The description adds no parameter info, but none is needed since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all active estimator handles in memory', which matches the tool name and distinguishes it from other list tools (e.g., list_available_data, list_jobs). The verb 'list' and resource 'active estimator handles' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like list_available_data or list_jobs. There is no mention of typical use cases or exclusions, leaving the agent to infer based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_jobsA
List all background jobs with optional status filter
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of jobs to return (default: 20) | |
| status | No | Filter by status: pending, running, completed, failed, cancelled |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose default behavior beyond the limit parameter, nor does it mention if the list is complete, ordered, or has side effects. For a simple read tool, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose and is free of unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 optional params, no output schema), the description covers the main functionality. It lacks mention of return format or pagination but is sufficient for a basic list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters documented. The description adds no new meaning beyond the schema; the optional filter is already implied. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with the resource 'background jobs' and mentions an optional status filter, clearly distinguishing it from sibling tools like cancel_job or check_job_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies use for listing jobs with optional filtering, it provides no explicit guidance on when to prefer this tool over siblings like check_job_status or what conditions warrant use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Data source configuration. Must include 'type' (pandas, sql, file, url). | |
| run_async | No | If True, loads data in the background (non-blocking) and returns a job_id. If False (default), blocks and returns the data_handle directly. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains synchronous and asynchronous execution and required keys for each source type. However, it lacks details on error handling, data size limits, or what happens if a source is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points for source types and numbered guidelines. It is front-loaded with the core purpose. While somewhat lengthy, every sentence contributes valuable context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return values (data_handle or job_id) and covers main use cases. It addresses sync/async and source-specific details, making it fairly complete for a data loading tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds substantial meaning beyond the schema. It details the required keys for each config type (pandas, file, sql, url), which the schema only mentions as a generic object. This is critical for correct parameter construction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool loads data from various sources into a data handle for forecasting. It lists specific source types (pandas, file, sql, url) with details, distinguishing it from sibling tools like save_data or fit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit GUIDELINES on when to specify target_column, time_column, and how to handle date columns. It also explains synchronous vs async modes. However, it does not mention when not to use this tool or suggest alternatives like list_handles for already loaded data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_modelB
Load a saved sktime model from a local path and register it for use
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to the saved model directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behaviors like error handling, overwriting behavior, or required permissions. It only states 'load and register' without details on side effects or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 12 words, front-loaded with the core action. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, the description does not mention return values, error cases, or the scope of 'registration'. Incomplete for an agent needing to understand the tool's full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds context that the path refers to a saved sktime model directory. This adds value beyond the schema but is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('load') and the resource ('saved sktime model'), and includes the outcome ('register it for use'). It distinguishes from siblings like 'save_model' and 'instantiate_estimator'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'instantiate_estimator' or other model-related tools. Missing explicit context for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpi | No | Resolution in dots per inch (default: 150). | |
| path | No | Optional local file path to save the plot (e.g., '/tmp/plot.png'). If omitted, returns base64. | |
| title | No | Optional title for the plot. | |
| labels | No | Optional list of labels corresponding to each data handle. | |
| figsize | No | Figure size as [width, height] in inches (default: [12, 6]). | |
| markers | No | Marker style(s) for data points (e.g., 'o', ['.', 'x']). | |
| x_label | No | Custom x-axis label. | |
| y_label | No | Custom y-axis label. | |
| data_handles | Yes | List of data handle IDs to plot (e.g., train, test, forecasts). | |
| image_format | No | Image output format: 'png' (default), 'svg', or 'webp'. | png |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacking annotations, the description only mentions saving to PNG or returning base64. It does not disclose whether it modifies data, required permissions, performance impact, or error behavior. Critical behavioral traits are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the core purpose ('Plot one or more time series natively') and efficiently cover output options. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 10 parameters and no output schema, the description omits important context like return structure (base64 string details), error handling, or constraints on data formats. Incomplete for a tool with many options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all parameters described. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('plot') and resource ('time series'), and distinguishes from sibling tools like 'inspect_data' or 'evaluate_estimator' which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any context on prerequisites or exclusions. The description solely states what it does without aiding decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predictB
Generate predictions from a fitted estimator. Supports different modes like predict, predict_interval, predict_quantiles.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Prediction mode | predict |
| alpha | No | Alpha values for quantiles (float or list of floats) | |
| horizon | No | Forecast horizon (default: 12) | |
| X_handle | No | Optional: Handle from load_data_source for X data | |
| coverage | No | Coverage level for intervals (float or list of floats) | |
| y_handle | No | Optional: Handle from load_data_source for y data (needed for annotators) | |
| X_dataset | No | Optional: Demo dataset name for X data | |
| y_dataset | No | Optional: Demo dataset name for y data | |
| estimator_handle | Yes | Handle of a fitted estimator |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description implies a read-only operation (generating predictions) but does not explicitly state safety or side effects. It does not disclose error conditions, data requirements, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences that convey the core purpose and list modes. There is no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description lacks essential context: return value format, prerequisite that estimator must be fitted, handling of missing data, and mode selection guidance. It is inadequate for an agent to use reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds only a mention of modes, which is redundant with the enum. No additional semantic explanation is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'generate predictions' and the resource 'fitted estimator', distinguishing it from siblings like 'fit' (which trains) and 'evaluate_estimator' (which evaluates). It lists supported modes, adding specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'evaluate_estimator' or 'get_fitted_params'. The description does not indicate prerequisites (e.g., estimator must be fitted) or when not to use each mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by capability tags, e.g. {'capability:pred_int': true}. Ignored if task='tag'. | |
| task | No | Filter by scitype: forecaster, classifier, regressor, transformer, clusterer, detector, splitter, metric, param_est, aligner, network. Set to 'tag' or 'tags' to retrieve capability tags. | |
| limit | No | Maximum results (default: 50). Ignored if task='tag'. | |
| query | No | Search by name or description (substring, case-insensitive). Can be combined with task and tags filters. | |
| offset | No | Skip this many results for pagination (default: 0). Ignored if task='tag'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries behavioral disclosure. It describes query behavior and parameter interactions (e.g., 'Ignored if task='tag''), but does not explicitly state read-only nature or any side effects. Basic disclosure is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences, front-loaded with the main action. The second sentence is slightly lengthy but still concise. Every part adds meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description covers the main behaviors and special cases (task='tag', ignored params). It could mention output format or pagination details, but is sufficiently complete for a query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds value by explaining common tags and the special behavior of task='tag'. It gives examples for the tags parameter, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool 'Discovers sktime estimators, metrics, or capability tags'. It uses a specific verb and resource, and distinguishes from siblings like describe_component or evaluate_estimator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains when to use (to discover estimators/metrics/tags) and mentions the special task='tag' to get full tag list. However, it does not explicitly say when not to use or mention alternatives like describe_component for details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
release_data_handleB
Release a data handle and free memory
| Name | Required | Description | Default |
|---|---|---|---|
| data_handle | Yes | Data handle to release |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It mentions freeing memory, implying destruction, but does not detail consequences (e.g., handle becomes invalid, irreversible). Some transparency but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and resource. Adequately concise, though could be expanded without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, description covers the basic purpose. However, lacks side effects and post-conditions, which are needed for an agent to understand full impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description in the schema is identical to what the tool description implies. No additional meaning is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (release) and resource (data handle). However, it does not differentiate from the sibling tool 'release_handle', which may cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives like 'release_handle'. The description is purely definitional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
release_handleA
Release an estimator handle and free it from memory
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Handle ID to release |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool frees memory, indicating a destructive action. No annotations provided, so description carries the burden; it adequately alerts the agent to resource deallocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is concise, front-loaded, and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple release operation but does not mention return values, errors, or post-conditions. Could be more complete given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides full description of the 'handle' parameter. The tool description adds no additional meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Release an estimator handle' and specifies the resource type, distinguishing it from sibling tools like 'release_data_handle'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage (free memory after using an estimator handle) but no explicit guidance on when to use vs alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | The bash command to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of disclosing behavioral traits. It correctly implies that commands are arbitrary and can be destructive (e.g., 'rm'), but does not warn about potential side effects or permissions. The mention of 'inside the sktime container' provides some isolation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The purpose is front-loaded, and the example immediately clarifies the intended use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers purpose and typical usage. It could mention that output is printed to stdout/stderr, but this is not critical for a run-command tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the only parameter 'command', so the description adds limited value beyond the schema. The example 'pip install mlflow' provides a concrete usage hint, but the schema already defines the parameter as a bash command string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool runs arbitrary CLI/bash commands inside the sktime container, which distinguishes it from sibling tools like call_method that execute Python methods. The verb 'run' and the resource 'CLI/bash command' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'install missing python packages' and 'inspect the file system', with a concrete example ('pip install mlflow'). It does not explicitly state when not to use it, but the context implies it is meant for setup and debugging tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Destination file path. Format is controlled by the format argument, not the file extension. | |
| format | No | Output format: csv (default), parquet, or json. | csv |
| data_handle | Yes | Data handle ID to export (from load_data_source, split_data, or transform_data). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behaviors: combining y and X into one table, creating parent directories, format details (csv index column, JSON records orient with ISO dates). Missing edge cases like overwrite behavior, but overall informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no fluff. Front-loaded with the primary action, then details. Efficient use of space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately covers what happens (persist to file). It mentions combining y and X, which is crucial context. Could add error handling or file existence behavior, but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds meaning: explains path is destination not controlling format, format controls extension, data_handle must be from specific tools. That adds value beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool persists target series (y) and exogenous features (X) to a local file, distinguishing it from siblings like save_model or load_data_source. The verb 'persist' is specific and the resource (data behind a handle) is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions typical context (after load_data_source, split_data, or transform_data) and lists supported formats. It lacks explicit when-not-to-use or alternatives, but the context is clear enough for typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_modelA
Save an estimator/pipeline handle using sktime MLflow integration
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Local directory or URI where the model will be saved | |
| mlflow_params | No | Optional extra parameters for sktime.utils.mlflow_sktime.save_model | |
| estimator_handle | Yes | Handle ID of the estimator to save |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'using sktime MLflow integration', adding some context about the saving mechanism, but does not disclose potential side effects (e.g., overwriting, permissions, return behavior) or the impact on the estimator handle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant text. While efficient, it could be slightly more detailed without sacrificing conciseness, such as hinting at return values or typical invocation context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters (one nested object) and no output schema. The description is insufficient: it does not explain what the tool returns, what 'sktime MLflow integration' entails, or prerequisites like whether the estimator must be fitted first. Given the lack of annotations, more context is needed for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add meaningful new information beyond the schema descriptions; 'using sktime MLflow integration' loosely matches the mlflow_params parameter description but does not clarify usage or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves an estimator/pipeline handle using sktime MLflow integration. The verb 'save' and resource 'estimator/pipeline handle' are specific, distinguishing it from siblings like 'load_model' or 'update'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for saving model handles, but provides no explicit guidance on when to use this tool over alternatives, nor any exclusion criteria or prerequisites. The sibling tools include 'save_data' and 'load_model', but no comparative context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fh | No | Forecast horizon for the test window. Integer: hold out that many final time steps. List of ints: hold out max(fh) final steps (e.g. fh=[1,5,10] reserves 10 steps). Mutually exclusive with test_size. | |
| test_size | No | Fraction of observations to hold out for the test set, exclusive range (0.0, 1.0). Mutually exclusive with fh. | |
| data_handle | Yes | Data handle ID to split (from load_data_source or transform_data). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that new data handles are registered and returns are listed, but does not specify whether the original handle remains intact, safety profile (destructive or read-only), or error handling for invalid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise three-sentence paragraph with the core action front-loaded. Every sentence adds meaningful information without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description lists all return values (train_handle, test_handle, cutoff, train_size, n_test). It covers parameter constraints comprehensively but could mention error handling for invalid combinations or non-time-series data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds value by explaining fh can be an integer or list of ints with an example (e.g., fh=[1,5,10] reserves 10 steps), and clarifies mutual exclusivity, exceeding what the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool splits a time series data handle into temporal train and test sets, registering new handles, which is a specific verb and resource. The purpose is unambiguous and distinct from sibling tools like 'transform_data' or 'fit'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to provide exactly one of test_size or fh, and explains how fh works (integer or list of ints). This provides clear usage guidance, though it lacks comparison with alternative tools or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Transformation to apply: 'format' (default) or 'convert'. | format |
| to_mtype | No | (convert only, required) Target sktime mtype string, e.g. 'pd.DataFrame', 'pd.Series', 'np.ndarray'. | |
| data_handle | Yes | Data handle ID to transform. | |
| fill_missing | No | (format only) Forward/backward fill missing values (default: true). | |
| auto_infer_freq | No | (format only) Infer and set DatetimeIndex frequency (default: true). | |
| remove_duplicates | No | (format only) Drop duplicate timestamps, keeping first (default: true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It discloses that format returns a new handle with changes_applied, and convert requires to_mtype and uses convert_to(). It does not mention side effects on original handle, permissions, or error handling, but the core behavior is well-explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then details actions and deprecation. No redundant information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should clarify return values. For format, it mentions 'returns changes_applied', but for convert, it only says 'return a new handle' implicitly. Missing explicit return structure for convert. Also, no mention of how errors are handled or prerequisites. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are documented. The description adds context by explaining the two actions and their default behaviors (e.g., fill_missing defaults to true). It also clarifies that to_mtype is required only for convert, which goes beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it transforms a data handle into a new handle, with two distinct actions: 'format' for auto-fixing time series issues and 'convert' for changing mtype. It also notes it replaces the legacy format_time_series tool, distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides clear guidance on when to use each action: format for fixing time series issues, convert for changing mtype. It does not explicitly state when not to use or list alternatives, but the actions are well-defined and the context of sibling tools makes it clear that this is the primary data transformation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateC
Update a fitted estimator with new data.
| Name | Required | Description | Default |
|---|---|---|---|
| X_handle | No | Optional: Handle for X data | |
| y_handle | No | Optional: Handle for y data | |
| X_dataset | No | Optional: Demo dataset for X data | |
| y_dataset | No | Optional: Demo dataset for y data | |
| estimator_handle | Yes | Handle of a fitted estimator |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only says 'update' but does not state side effects (e.g., whether the estimator is modified in-place), performance implications, or required prior state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, one sentence with no filler. However, it could benefit from slightly more detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description is too minimal. It doesn't explain the update process, data usage, or return values, leaving significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds no further meaning beyond 'with new data', which is generic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a fitted estimator with new data. The verb 'update' and resource 'fitted estimator' are specific, and it differentiates from sibling tools like 'fit' which would be for initial fitting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'fit', 'transform_data', or 'predict'. Lacks conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
26 tool updates
v0.1.1- First observed
call_method - First observed
cancel_job - First observed
check_job_status - First observed
describe_component - First observed
evaluate_estimator - First observed
export_code - First observed
fit - First observed
get_fitted_params - First observed
inspect_data - First observed
instantiate_estimator - First observed
list_available_data - First observed
list_handles - First observed
list_jobs - First observed
load_data_source - First observed
load_model - First observed
plot_series - First observed
predict - First observed
query_registry - First observed
release_data_handle - First observed
release_handle - First observed
run_command - First observed
save_data - First observed
save_model - First observed
split_data - First observed
transform_data - First observed
update
TDQS
Scored across 26 tools
Several tools have overlapping purposes, such as 'list_available_data' and 'list_handles' (different but similar names), 'release_data_handle' and 'release_handle', and 'describe_component' and 'query_registry'. The generic 'call_method' tool also overlaps with standard fitting/prediction tools, though it is intended for non-standard cases. Overall, an agent might occasionally confuse tools despite descriptive names.
Most tool names follow a consistent 'verb_noun' pattern in snake_case (e.g., 'load_data_source', 'inspect_data', 'split_data'). However, a few short verbs like 'fit', 'predict', and 'update' break this pattern, and there is slight inconsistency with longer names like 'release_data_handle' vs 'release_handle'. Overall, the naming is mostly predictable.
With 26 tools, the server is on the higher end of appropriate size. It covers many aspects of time series forecasting (data handling, modeling, evaluation, plotting, job management), but some tools like 'run_command' and 'call_method' are generic escapes. The count feels slightly heavy but not excessive for the domain.
The tool surface covers the core workflow for time series forecasting: data loading, inspection, splitting, transformation, model instantiation, fitting, prediction, updating, evaluation, and saving/loading. Additionally, it supports plotting, code export, registry queries, and async job management. Minor gaps include a lack of explicit deletion for persistent models/data and hyperparameter tuning, but these are not critical.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceA production-ready MCP server built with FastAPI, providing an enhanced tool registry for creating, managing, and documenting AI tools for Large Language Models (LLMs).34-
- FlicenseNot gradedqualityDmaintenanceA server that enables seamless integration between local Ollama LLM instances and MCP-compatible applications, providing advanced task decomposition, evaluation, and workflow management capabilities.6-
- AlicenseAqualityAmaintenanceA universal MCP server that enables any LLM or AI agent to access expert skills from your local filesystem.359838MIT
- AlicenseAqualityBmaintenanceAn MCP server that exposes deterministic workflows as tools, allowing small models to reliably orchestrate APIs and other MCP servers with minimal parameters.2122MIT
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/sktime/sktime-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server