get_market_regime

shallow

io.github.quantustik/mcp · Verify this server

Get the current MARKET CONDITIONS for the S&P 500 — ONE metric, not three. This tool (named `get_market_regime` for backward compatibility) returns a single customer-facing metric called **Market Conditions**. Present it as ONE thing. It is NOT "Market Conditions" plus a separate "market regime" plus a standalone "Overheating" and "Euphoria" — those are the internal PARTS of this one metric, and quoting them as separate top-level gauges is the exact confusion this contract exists to prevent. THE HEADLINE is the buying-conditions verdict. THE FROTH CHECK is context that explains it. They are two independent axes internally, but to a reader they are one reading — Market Conditions — described by a verdict plus the froth context that qualifies it. 1. THE HEADLINE — buying conditions: `score` (0-100) and `verdict`. HIGHER IS BETTER FOR BUYING. Computed from a multi-signal ensemble: macro, VIX, breadth, institutional flows, insider activity, sentiment, sector rotation. `verdict` is one of Strong Buy / Buy / Neutral / Caution / Strong Avoid — that is the complete vocabulary; this model emits no "Bull"/"Bear" tiers. It gates swing-signal generation: no BUY signals are emitted in Caution / Strong Avoid conditions. The score is RELATIVE, not absolute: it is a z-score of the composite against its own trailing ~6 months of daily readings. A low score means "among the weakest readings in about six months" — it is NEVER a claim about what percentage of the market is "healthy". `score_basis.detail` says this in plain words; pass it on rather than inventing your own interpretation of the number. 2. THE FROTH CHECK (context, not a separate metric) — the froth check is PART of Market Conditions, reported as `overheating.legs` (TWO internal legs, 0-100 each) and `overheating.state` (their conjunction, in plain English). Present these as component context that qualifies the headline, NOT as standalone "Overheating: N/100" / "Euphoria: N/100" metrics. Leg 1, "How cheaply risk is priced": calm volatility, tight credit spreads. Leg 2, "How much the crowd is piling in": greed, stretched breadth. Froth means BOTH legs are high at once. READ AND REPORT BOTH LEGS. The composite AND-gate scalar is NOT surfaced at the top level — it is a degenerate headline and was demoted deliberately. It survives only under `overheating.composite_gated.value`, labeled as meaningless without both legs: it collapses to ~0 whenever EITHER leg is ~0, so it prints the same "0 — not overheated" for a calm, cheaply-priced market the crowd ignores AND for an outright panic (volatility bid, credit spreads wide). Those are opposite states. `overheating.state.key` tells them apart (`calm_unloved` vs `stressed`); the composite scalar cannot. Quote `overheating.headline` (state label + both leg scores), never the composite number on its own. WHY BOTH: a low buying-conditions score has two completely different causes — FROTH (risk cheap, everyone already piled in) or WEAKNESS (deteriorating internals) — and the composite alone cannot tell them apart. The froth legs are what resolve it. Neither reading is a forecast: do not say a market is due for a correction on the strength of them. QUOTE THE PLAIN-ENGLISH LABEL, NOT THE TIER. `verdict` is the internal tier word; the dashboard shows a human the LABEL for that tier ("Bad time to buy"), never the tier itself. Relay the label — a customer told "Strong Avoid" by an assistant cannot find that phrase anywhere on the page they are looking at, and reasonably concludes the two disagree. VERDICT AUTHORITY: `verdict` is the single authoritative tier and matches what a human sees on the dashboard. `model_verdict` is the tier before the low-confidence downgrade and is diagnostic only; the two differ only when `confidence_downgraded` is true. Checking the market before individual tickers is the recommended decision order — it gates whether BUY signals are emitted at all. For the full explanation of WHY the verdict is what it is — all 18 signals with their live contributions — call `get_market_indicators`. Returns a dict with verdict, model_verdict, score, buying_conditions, score_basis, overheating (with a per-component decomposition), confidence, computed_at, and action_plan.

100.0/100

2 trials · measured 8 days ago

get_market_regime scores 100.0/100 on Vouch's measured behaviour index, from 2 real invocation trials against io.github.quantustik/mcp, measured 25 Aug 2026 under methodology v0.2.0. Every measured component scored 100.

Component breakdown

ComponentWeightValue
Reliability35%not applicable
Schema integrity25%100.0
Failure behaviour15%not applicable
Latency15%not applicable
Concurrency10%not applicable

Tool details

Transport
remote + stdio
Credential class
open
Input schema
not declared
Output schema
not declared
Side-effect classification
read-onlyHeuristically read-only-eligible (readonly-heuristic.ts) and sample-called by the Phase 0 census shallow probe.

Score history

DayScoreTierMethodology
2026-08-25100.0shallowv0.2.0

Probe evidence

ProbeOutcomes
schema_integritypass: 1
sample_callpass: 1

Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.

Embed this score

Available for every tool, scored or not — not a verification perk. Always links back to this page.

Vouch score: get_market_regime
[![Vouch score](https://vouch.tools/api/tools/547a3da9-0b34-40d2-9a6c-5359bdc7afa0/badge.svg)](https://vouch.tools/tools/547a3da9-0b34-40d2-9a6c-5359bdc7afa0)
get_market_regime — Vouch