Production-ready MCP server for multitenant Nixtla TimeGPT forecasting with fine-tuning and backtesting
Server has 9 tools with mostly complete schemas and descriptions. Naming follows verb_noun convention (get_, set_, finetune_, list_, forecast_, detect_, rolling_, validate_). Descriptions are present (avg ~100 chars) but lack actionable context for LLM selection. Parameter schemas use Zod validation with types and enums where appropriate. Critical gaps: no output schemas documented, no error recovery guidance, missing parameter descriptions for complex nested objects (e.g., 'params' in detect_anomaly is record<unknown>), and no indication of which tools are idempotent or have side effects. Tool composition is reasonable but some tools combine multiple concerns (finetune_model auto-runs backtest; forecast auto-selects model).
Detect anomalies in time series data using TimeGPT
Fine-tune a TimeGPT model on custom data and automatically run backtest comparison
Generate forecasts using baseline or fine-tuned TimeGPT models
Get organization configuration
Get usage and consumption summary for the organization
List all fine-tuned models for the organization
No output schemas documented. Tools return MCPToolResult with generic 'text' or 'resource' fields, but LLMs cannot infer what structured data is returned (e.g., forecast returns what fields? list_finetuned_models returns what object structure?). This forces LLMs to guess downstream field names and breaks tool chaining.
detect_anomaly 'params' parameter is z.record(z.unknown()) with no description of what keys/values are expected. LLMs cannot determine valid parameter names or types. Should enumerate expected keys (e.g., sensitivity, window_size) with types and defaults.
No error recovery guidance. Tools lack descriptions of failure modes and what LLMs should do next. E.g., if finetune_model fails due to invalid dataset, should the LLM call validate_dataset first? No guidance provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Compare baseline and fine-tuned model performance using rolling window backtesting
Set the active fine-tuned model for the organization
Validate dataset format and structure
Tool descriptions lack WHEN-to-use context. 'Generate forecasts using baseline or fine-tuned TimeGPT models' does not explain when to use forecast vs rolling_backtest_compare, or when to pass finetunedModelId vs useBaseline. LLMs cannot disambiguate.
finetune_model combines two operations: fine-tuning AND auto-running backtest. Description does not clarify this dual behavior or whether the backtest is optional. Violates single-responsibility principle; should split or make backtest optional with explicit flag.