Skip to main content
Glama
TimestralMCP
by firo

TimestralMCP

A small, generic MCP server for zero-shot time-series forecasting with Timestral (Mistral AI), running locally on CPU.

It is split in two parts so that the model stays agnostic of whatever feeds it:

MCP client (Claude, ...)
   │  passes a numeric series
   ▼
timestral_mcp.py        thin MCP (stdio), starts the service on demand
   │  HTTP, 127.0.0.1 only
   ▼
timestral_service.py    FastAPI + Timestral, knows nothing about your data

Any other MCP (a database, a CRM, a spreadsheet) can provide the history; this server only turns a series into quantile forecasts.

Install

Requires Python 3.10+.

git clone https://github.com/firo/TimestralMCP.git
cd TimestralMCP
./setup.sh

setup.sh creates .venv and installs requirements.txt (the MCP SDK is pinned to <2).

The first forecast downloads the model weights from Hugging Face (about 837 MB for Timestral-209M). Set HF_HUB_OFFLINE=1 afterwards to run fully offline.

Related MCP server: timesfm-mcp

Configure your MCP client

"timestral": {
  "command": "/absolute/path/to/TimestralMCP/.venv/bin/python",
  "args": ["/absolute/path/to/TimestralMCP/timestral_mcp.py"]
}

The MCP starts the local service by itself on first use (log in service.log). To run the service manually:

.venv/bin/uvicorn timestral_service:app --host 127.0.0.1 --port 8765

Tools

  • timestral_forecast(series, horizon, quantile_levels?, model?): one series (list of numbers) or a batch (list of lists), in chronological order and with a constant step. null means missing. Returns the median and the requested quantiles for each step. Default quantiles are 0.1, 0.5 and 0.9; valid levels are 0.01, 0.05, 0.1 ... 0.95, 0.99.

  • timestral_health(): checks the service and starts it if it is down.

Environment variables: TIMESTRAL_MODEL (default mistralai/Timestral-209M), TIMESTRAL_URL (default http://127.0.0.1:8765), TIMESTRAL_START_TIMEOUT (seconds).

Only univariate series are exposed for now. Quantiles of different steps cannot be summed to get the quantiles of a total.

Licenses

The code in this repository is released under Apache 2.0 (see LICENSE).

The Timestral code is Apache 2.0, but the model weights are distributed separately by Mistral AI under their own license (see the model card on Hugging Face). Read it before using the weights, especially for commercial use. This repository does not include or redistribute any weights.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Local MCP server for GPU-backed TimesFM 2.5 forecasting, enabling zero-shot time-series forecasting, covariate forecasting, anomaly detection, and CSV forecasting via MCP tools.
    2
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to perform deterministic time series forecasting through Claude by running reproducible Python statistical and foundation models, providing tools for loading data, cross-validation, forecasting, anomaly detection, and exporting re-runnable manifests without any LLM involvement.
    8
    MIT