predictalot
MCP server for predictalot, providing streamable HTTP tools for zero-shot time-series forecasting with multiple foundation models and per-type ensembles. Tabular ML endpoints are currently HTTP-only.
README
predictalot
One HTTP service, two model families, zero ceremony.
- Foundation time-series — 5 zero-shot forecasters (chronos-2, timesfm-2.5, moirai-2, toto-1, sundial-base-128m). Hand them a context window, get quantile or sample-path forecasts. No training step. Six modality-specific endpoints under
/v1/timeseries/<type>/. - Tabular ML — 9 supervised learners (lightgbm, xgboost, hist-gbt, random-forest, logistic, mlp, svm-rbf, knn, naive-bayes) + 3 meta-learners (calibrated, stacking, diversified). Train on YOUR engineered features, persist server-side by
modelId, forecast on the latest snapshot. Under/v1/tabular/. - MCP — streamable-HTTP tools at
/mcp. One named tool per (FM type, model) cell plus per-type ensemble + listing. Tabular endpoints are HTTP-only for now.
Quick start
docker run -d --name predictalot \
-v $HOME/predictalot-models:/models \
-e PREDICTALOT_AUTH_TOKENS=changeme \
-p 8080:8080 \
psyb0t/predictalot:latest
# Zero-shot FM forecast
curl -s http://localhost:8080/v1/timeseries/univariate/forecast \
-H "Authorization: Bearer changeme" -H "Content-Type: application/json" \
-d '{"model":"chronos-2","context":[[10,11,12,13,14,15,16,17,18,19,20]],"config":{"horizon":5}}' | jq
# Train + persist a tabular model on your own features
curl -s http://localhost:8080/v1/tabular/train \
-H "Authorization: Bearer changeme" -H "Content-Type: application/json" \
-d '{"modelId":"my-model","backend":"lightgbm","target":[[100,101,99,...]],
"features":[{"rsi":[55,58,...],"macd":[0.3,0.4,...]}],
"config":{"mode":"direction","horizon":3,"nEstimators":400}}' | jq
# Then forecast on the latest snapshot
curl -s http://localhost:8080/v1/tabular/forecast \
-H "Authorization: Bearer changeme" -H "Content-Type: application/json" \
-d '{"modelId":"my-model","features":[{"rsi":[58],"macd":[0.4]}]}' | jq
Documentation
| Doc | What it covers |
|---|---|
| docs/timeseries.md | Foundation time-series API. All 5 models (capabilities + per-model quirks + what each is recommended for), all 6 forecast types, per-type ensemble with weights + memberOverrides, extra per-call hatch, /models listings. |
| docs/tabular.md | Tabular ML API. All 9 backends (what each is recommended for), 3 modes (direction / value / quantile), tier-1/2/3 config knobs, the 3 meta-learners (calibrated / stacking / diversified), storage layout. |
| docs/mcp.md | MCP streamable-HTTP server: tool naming, args, current scope (FM only). |
| docs/configuration.md | Every PREDICTALOT_* env var. |
| docs/architecture.md | Multi-venv sidecar pattern for sundial, CPU vs CUDA images, multi-stage build. |
| docs/accuracy.md | Benchmark sMAPE + latency on academic + real-world datasets. Honest takeaways including which models lose. |
| docs/errors.md | Error contract: 400 / 401 / 404 / 413 / 422 / 503 shapes. |
CHANGELOG.md tracks per-version changes.
Agent integrations
The skill works in any agent that reads .agents/skills/, and
installs natively in the clients below.
Claude Code
claude plugin marketplace add psyb0t/agents
claude plugin install predictalot@psyb0t
Claude Code prompts for the predictalot URL and, if auth is enabled, the token — the token is stored in your OS keychain.
Codex
codex plugin marketplace add psyb0t/agents
codex plugin add predictalot@psyb0t
Installed via the marketplace, the skill invokes as $predictalot:predictalot. Codex also picks
the skill up automatically, with no install, in any repo containing .agents/skills/ — there it
invokes as plain $predictalot.
OpenClaw
The skill is published to ClawHub on every release:
openclaw skills install @psyb0t/predictalot
For MCP clients that speak local stdio, the @psyb0t/predictalot
plugin bridges to predictalot's /mcp endpoint:
openclaw plugins install clawhub:@psyb0t/predictalot
Then set PREDICTALOT_URL (and PREDICTALOT_AUTH_TOKENS if the server requires one).
License
Code: WTFPL (see LICENSE). The MCP plugin under .agents/plugins/predictalot/ is MIT (its own LICENSE).
Foundation models retain their upstream licenses — chronos-2 / timesfm-2.5 / toto-1 / sundial-base-128m: Apache 2.0; moirai-2: CC-BY-NC-4.0 (non-commercial). Tabular backends use their upstream licenses — lightgbm / xgboost / scikit-learn: permissive. Review each before commercial use.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.