Predictalot

io.github.psyb0t由 GitHub 账号 psyb0t 发布v1.2.2更新于 Oct 24, 2026

Self-hosted MCP server for time-series forecasting and tabular ML via foundation models.

已验证STDIO仅桌面数据与分析AI 与机器学习

概览

AI 生成的概览

自托管的预测服务,通过 MCP 端点提供零样本时间序列基础模型与表格机器学习能力。

可以做什么
  • 用五个时间序列基础模型在六种按模态划分的预测类型上做零样本预测,返回分位数或样本路径结果。
  • 按类型组合多个模型做集成预测,并列出可用模型。
  • 释放常驻模型权重与运行时缓存,或安排在并发预测结束后卸载。
  • 按模型 ID 在服务端训练并保存表格学习器,并对最新特征快照做预测(仅 HTTP,不经 MCP)。
适用场景
适合助手需要对数值序列或人工构造的特征做预测、又不想先训练模型的场景,前提是你愿意用 Docker 自行运行该服务。表格训练与预测目前需要直接调用 HTTP 接口,而非 MCP 工具。
运行要求
需要本地 Docker 运行容器镜像,暴露端口(例如 8080)并挂载用于模型存储的卷。服务通过 PREDICTALOT_* 环境变量配置,其中包括认证令牌变量;以 stdio 桥接的 MCP 客户端还需设置 PREDICTALOT_URL 和令牌变量。需要能访问容器端点的网络。
安装前请注意
服务由环境变量提供的 Bearer 令牌保护,应设置强口令而非示例占位值。训练会在服务端持久化模型,卸载调用会释放常驻模型内存,可能影响正在进行的预测。模型权重会下载并存入挂载卷,占用磁盘空间。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Predictalot,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

predictalot

[CI] [version] [license] [Docker Pulls]

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>/.
  • Model lifecycle — POST /v1/models/unload releases all resident foundation-model weights and runtime caches. A forecast body with "unload": true schedules its model for teardown after concurrent forecasts using that model finish.
  • 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

bash
docker run -d --name predictalot \  -v $HOME/predictalot-models:/models \  -e PREDICTALOT_AUTH_TOKENS=changeme \  -p 8080:8080 \  psyb0t/predictalot:latest
# Zero-shot FM forecastcurl -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 featurescurl -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 snapshotcurl -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
# Release all resident foundation-model memory when it is no longer neededcurl -s -X POST http://localhost:8080/v1/models/unload \  -H "Authorization: Bearer changeme" | jq

Documentation

DocWhat it covers
docs/timeseries.mdFoundation 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.mdTabular 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.mdMCP streamable-HTTP server: tool naming, args, current scope (FM only).
docs/configuration.mdEvery PREDICTALOT_* env var.
docs/architecture.mdMulti-venv sidecar pattern for sundial, CPU vs CUDA images, multi-stage build.
docs/accuracy.mdBenchmark sMAPE + latency on academic + real-world datasets. Honest takeaways including which models lose.
docs/errors.mdError 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/ (such as peen), and installs natively in the clients below.

Claude Code

bash
claude plugin marketplace add psyb0t/agentsclaude 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

bash
codex plugin marketplace add psyb0t/agentscodex 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:

bash
openclaw skills install @psyb0t/predictalot

For MCP clients that speak local stdio, the @psyb0t/predictalot plugin bridges to predictalot's /mcp endpoint:

bash
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.

来源:README.md,提交 7acba95

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

4
  1. v1.2.2最新Oct 10, 2026
  2. v1.2.1Sep 25, 2026
  3. v1.2.0Sep 24, 2026
  4. v1.1.9Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分