Skip to main content

Time Series Insight Tools (39 tools)

These are the 39 tools the Time Series Insight server exposes over MCP (as of 2026.10 — up from 33 in 2026.09, with six AI discovery and production analytics tools added). In chat they're prefixed with insight_ and called like insight_analyze_asset.

Not all 39 are enabled

34 are on at first (2026.10 re-release (2026-10-20), MCP Gateway policy). Four come in disabled — forecast_order_completion · autonomy_status · get_oee_losses · get_spc_chart — and the write tool trigger_feature_pipeline cannot be enabled. The place to turn them on and off is AI Admin Console › MCP Gateway › Tools → MCP Gateway

  • Even with this many on, the model does not receive them all for every question — the gateway's tool search picks up to 20 that fit the question and loads them → MCP Tool Map
  • New tools added to Time Series Insight come in disabled. Values an administrator has changed once are not overwritten.
  • Up to re-release 8 the copilot held the on/off values and only a few such as get_attention_ranking were on. Those values are not carried over.

Choosing by what you want to ask​

What you want to askTool
Is this equipment OK right nowanalyze_asset · get_asset_health
Why is it abnormalexplain_asset_anomaly · analyze_alarm_correlation
Has this happened beforefind_similar_anomalies · search_pattern
Is a failure brewingcheck_failure_precursor · forecast_*
Do other equipment show the same thingfind_fleet_outlier · find_similar_assets
What does this tag measureget_asset_profile · get_asset_tag_relations
Where should I start looking todayget_attention_ranking · list_findings
Will this order finish on time · Why is OEE lowforecast_order_completion · get_oee_losses · get_spc_chart
What has the AI changed latelyautonomy_status · list_findings

Anomaly Detection · Forecasting — paired by target​

detect_* asks is it abnormal right now, forecast_* asks what will happen next. There are six targets, each with its own pair.

TargetAnomaly DetectionForecastWhat it looks at
Equipment sensorsdetect_asset_anomalyforecast_assetActual measurements like temperature, pressure, vibration
System resourcesdetect_system_anomalyforecast_systemCPU · memory · disk
OEEdetect_oee_anomalyforecast_oeeAvailability · performance · quality
RAM (reliability)detect_ram_anomalyforecast_ramMTBF · MTTR · failure rate
EMS (energy)detect_ems_anomalyforecast_emsPower consumption · carbon emissions
Production (work orders)detect_order_anomalyforecast_orderOrder-based OEE/RAM/EMS
You don't have to supply the target column (target_columns)

If you don't specify a target tag, detect_asset_anomaly · forecast_asset find the tags attached to the equipment on their own and run against those. Only specify one if you want a particular tag.

The underlying models are IBM Granite TSPulse for anomaly detection and Granite-TTM R3 for forecasting → AI Models

Sensor anomaly scores are «calibrated scores» — default threshold 5.0

The score from detect_asset_anomaly is not normalized to 0–1 per call; it's measured against the segment immediately preceding the analysis window as "how many times the usual fluctuation did this deviate by" (robust z-score). If threshold is omitted it defaults to 5.0. 🔴 Setting 0 doesn't make it "automatic" — it counts anything even slightly above the baseline median as abnormal.

Domain-side scores like OEE · RAM · EMS detect_* are still normalized to 0–1 per call — the threshold of the two use different scales.

Forecast tool failures are split by status code
WhatResponse
Insufficient dataFalls back to simple extrapolation instead of TTM, returns 200 · model_used: "NAIVE" — columns that couldn't be forecast go into dropped_columns, and if none succeed, 422
No target · bad input404 · 422
Can't reach inference server503 + Retry-After
Can't reach metadata store (PostgreSQL)503 · upstream: "postgres_unavailable"
Anything else (config error, weight load failure, code defect)500 — not masked by simple extrapolation

If you requested a confidence interval and it didn't come back, the response's bounds_reason explains why → Time Series Insight


Comparing against the past — "Has this happened before"​

These four are at the core of Time Series Insight. They don't look at values — they compare the shape of the waveform.

ToolWhat it does
find_similar_anomaliesFinds past anomalies resembling the current waveform (TSPulse embedding nearest neighbor)
search_patternUses the waveform up to a specified time as a window and finds past segments with the same shape
check_failure_precursorCompares the current waveform against a collection of waveforms just before ERROR alarms to produce a risk score
find_fleet_outlierCompares equipment of the same kind using the same channels to find the one standing out alone
How this differs from "threshold exceeded"

A threshold only checks "did it cross the line." These four look at the shape before the line is crossed — if the fluctuation that always preceded a failure shows up again, it's flagged even if the value itself is still within normal range.


Looking at one piece of equipment comprehensively​

ToolWhat it does
analyze_assetSees everything at once — health score · sensors · status · alarms · OEE/RAM/EMS · root-cause hints
get_asset_health0–100 health index combining sensors + OEE + RAM + EMS + alarms
explain_asset_anomalyEstimates root cause by tying together anomaly-flagged tags, alarms, and status changes
get_asset_contextA daily comprehensive analysis summary for that equipment (formatted for an LLM to read)
find_similar_assetsFinds similar equipment by embedding cosine similarity
list_asset_tagsList of tags attached to the equipment

When you're not sure where to start, start with analyze_asset alone. Use the rest to narrow down from its results.

How to read the health index — what changed in 2026.10 Re-release 3​

The score from get_asset_health is «100 − deductions». In this release, the rules for deductions and pending judgments changed.

  • Downtime deductions only count «unplanned» downtime. SETUP, planned stops, planned stops/holidays from the calendar, and time outside shifts are not deducted. The response's idle.basis states how it was counted.

    idle.basisMeaning
    unplannedCounted as unplanned downtime
    all_plannedAll downtime was planned — no deduction
    heldStatus was observed too recently to judge — withheld, no deduction
    plan_partialCouldn't read the calendar, or this equipment's shift window isn't in the calendar — doesn't assume 24-hour operation, only subtracts planned stops it could read
    plan_unknownNo status source — fell back to the old method (operating ratio)
    no_dataNo data — no deduction
  • Areas with short history are «withheld», not scored 0. Sensor areas without a calibrated tag yet, and OEE · RAM · EMS areas with short history, are excluded from the score and recorded in held_domains with a reason (insufficient_data). If a grade was produced from the remaining areas, it's grade_provisional: true, and the chat answer includes "Held domains … not judged", "Grade is PROVISIONAL" — read it as a provisional grade.

  • String tags (labels like cause codes · stop reasons) are classified as categorical and excluded from anomaly scoring · forecasting · statistics. The reason for exclusion is recorded in the response — it's not "no value came in." get_asset_profile also shows them as "category (string code — not a numeric analysis target)."

  • Segments in the feature store with fewer than 30 points are not scored for anomalies and are marked insufficient_data (first segment of a new tag · collection gap). Not a score of 0 (normal).


What tags measure — profiling​

ToolWhat it does
get_asset_profileWhat each tag measures · its normal range · confidence level
get_asset_tag_relationsTag pairs that move together within the equipment, plus lead–lag (causal candidates)
When tag names look like gibberish

Field tag names are often as hard to read as TIC_1023_PV. Because get_asset_profile decodes them into "what value this measures," the AI is less likely to pick the wrong tag when answering.


Viewing alarms statistically​

ToolWhat it does
get_alarm_statsFrequency · priority distribution · top alarm settings · top tags
analyze_alarm_durationDuration analysis — degradation detection, trend in MTTA (mean time to acknowledge)
analyze_alarm_correlationCorrelation between alarms and sensor tags
detect_alarm_anomalyAnomalies in alarm occurrence patterns by time of day
forecast_alarmForecasts future patterns from alarm frequency trends

AI Discoveries and Watchlist — added in 2026.10​

Tools that read what the AI has found on its own. They don't compute anything new — they return discoveries, rankings, and states that Time Series Insight has already pre-built. Same material as the admin console's Time Series Insight → AI Autonomy screen → AI Admin Console

ToolWhat it doesDefault
get_attention_rankingPer-site "Equipment to check first today" ranking — an attention score (0–100) with three reasons, computed from open discoveries, health score, and 24-hour trend, plus rank change vs. yesterdayOn
list_findingsList of discoveries the AI has found — equipment anomalies · order targets missed · data interruptions · data quality · cascading stops · failure risk · AI autonomy changes, etc. Severity · urgency · evidence · status (open · acked · closed)On
autonomy_statusCurrent state of AI self-improvement (normal baselines, anomaly scorers) — mode · version in use · shadow · candidate · pausedOff
Unvalidated judgments are not put into chat

list_findings does not return «shadow» discoveries that haven't been approved by a human. Only discoveries that have been notified to the field go to questions — if they were merely flagged, the AI could drop the flag while summarizing and present an unvalidated judgment as fact.

Order-target-missed discoveries open only after evidence accumulates

From 2026.10 Re-release 3 (rule version order_shortfall-3), «order target missed» discoveries are held and not opened in two cases:

  • When an order has just started — elapsed time under 60 minutes (not exceeding half the planned duration) (held:early)
  • When the quantity that should have been produced by now, even on schedule, is less than 1 — as with orders where quantity can't measure progress, like one unit taking hours to make (held:no_progress_evidence)

If an already-open discovery meets these conditions, it is closed with out_of_scope. Large orders stopped from the start are not held and remain open.

Production Analytics​

ToolWhat it doesDefault
forecast_order_completionWhether an in-progress work order will hit its target quantity by its planned end — projected final good count (P10–P90) · probability of reaching target · estimated completion time · shortfall quantityOff
get_oee_lossesWhy OEE is low — availability · performance · quality loss time, the six big losses, stop causes (including short stops), comparison against platform OEE. Default last 24 hours (up to 744 hours)Off
get_spc_chartDefect rate control chart for equipment/products (p-chart, Laney p′ if overdispersed) — center line · control limits · Western Electric signalsOff
forecast_order and forecast_order_completion are different

forecast_order covers the OEE trend across upcoming orders, while forecast_order_completion covers whether the one order running right now will hit its target. "How many units short is this order" is the latter.


Feature Store · Status​

ToolWhat it does
get_asset_featuresHealth score · anomaly score · alarms · status · production metrics
get_feature_statusScheduler job list · last run time · backfill status
health_checkStatus of the server and dependent networks — event store (Cassandra) · metadata store (PostgreSQL) · inference server · embeddings
trigger_feature_pipelineManually triggering a pipeline — 🔴 blocked by policy as a write operation, cannot be enabled
When the answer comes back "No data"

The equipment-comprehensive and similarity tools use values pre-computed in the feature store. If the scheduler hasn't run, the tool connects fine but returns an empty answer — check get_feature_status starting from the last run time.