Skip to main content
Glama

get_market

Read-only

Get the market level: regime bands for the whole US equity market (market_*) and the US economy (macro_*), one row per date, point in time. Use it for 'what regime is the market in?', 'is breadth washed out?', 'is the yield curve inverted?', 'is the economy in stagflation?', 'what is the recession risk?', 'when did the yield curve last un-invert?', 'list every market regime change in 2024'. Key bands: market_regime_zone (bull_broad, bull_narrow, correction, bear, recovery), market_breadth_ma200_zone (washed_out .. overextended), market_fear_greed_zone, market_valuation_zone, market_volatility_zone, market_risk_appetite_zone, market_earnings_season_zone, macro_regime_zone (goldilocks, reflation, stagflation, deflationary_slowdown), macro_recession_risk_zone, macro_yield_curve_zone (deeply_inverted, inverted, flat, normal, steep), macro_fed_policy_zone, macro_inflation_zone, macro_inflation_trend, macro_labor_market_zone, macro_sahm_rule_zone, macro_gdp_zone. Headline numbers: market_fear_greed_score, market_stocks_below_ma200_pct, market_aggregate_pe_ratio, macro_treasury_yield_2y_pct, macro_treasury_yield_10y_pct, macro_yield_curve_10y_minus_2y_pct, macro_fed_funds_rate_pct, macro_cpi_inflation_yoy_pct, macro_unemployment_rate_pct, macro_gdp_growth_annualized_pct. Every band carries change markers (_prev = label left on the row it changed, periods = rows in the current label, 1 = changed today, flips_recent_count, stability); set changes=true to get only dates where a band changed, with from/to. macro values are as first published (never revised later) and low-frequency releases carry until the next one (null once stale). To find tickers under a market condition, put market/macro filters into get_search instead (they match each ticker row's own date). get_schema lists every market field with level=market.

Input Schema

NameRequiredDescriptionDefault
endNoRange end (YYYY-MM-DD), with start.
dateNoOne date (YYYY-MM-DD). Omit date, start and end for the newest row.
limitNoRange rows to return. Default 100, max 2000.
orderNoRange order by date. Default: desc (newest first).
startNoRange start (YYYY-MM-DD), with end.
fieldsNoJSON-encoded array of market fields to return, e.g. ["market_regime_zone","macro_regime_zone","macro_yield_curve_zone","macro_yield_curve_10y_minus_2y_pct"]. Omit for every band and raw value; ["*"] adds the change markers.
changesNotrue = only dates where at least one selected band changed (each row gets changes: [{field, from, to}]); or a JSON array of bands to watch, e.g. ["market_regime_zone","macro_regime_zone"]. Plus and Pro.
filtersNoJSON-encoded filter array on market fields, markers included. Example (yield curve just un-inverted): [{"field":"macro_yield_curve_zone_prev","op":"in","value":["inverted","deeply_inverted"]},{"field":"macro_yield_curve_zone","op":"in","value":["flat","normal","steep"]}]. Ops: eq, neq, in, gt, gte, lt, lte.
timeframeNodaily (every US equity session) or weekly (Sunday-dated). Daily snapshots are Pro and Commercial only (Free and Plus read weekly; daily returns 403). Default: daily on Pro and Commercial, weekly on Free and Plus

Output Schema

NameRequiredDescriptionDefault
dataNoThe TickerDB API response payload for this tool call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / timeframe / description
      Previous value: -"daily (every US equity session) or weekly (Sunday-dated). Default: daily"New value: +"daily (every US equity session) or weekly (Sunday-dated). Daily snapshots are Pro and Commercial only (Free and Plus read weekly; daily returns 403). Default: daily on Pro and Commercial, weekly on Free and Plus"
  2. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotations, the description discloses important behavior: macro values are as first published and never revised, low-frequency releases carry until stale and then become null, change markers have specific semantics, and daily timeframe access is restricted by plan with Free/Plus receiving 403. These details materially affect how an agent should interpret and call the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, use cases, field families, and alternatives, but it is long and includes extensive field lists that could overwhelm. Most content is useful for field selection and interpretation, though some of it repeats schema descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the annotations, and the presence of an output schema, the description is complete enough: it covers purpose, alternatives, access restrictions, staleness/revision behavior, change markers, and field families. An agent has the context needed to call and interpret it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds useful semantic detail beyond the schema by naming key market and macro fields for the fields parameter, explaining change marker suffixes, and giving a concrete filters example for yield-curve un-inversion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Get the market level: regime bands for the whole US equity market (market_*) and the US economy (macro_*), one row per date, point in time.' It clearly distinguishes this tool from get_search at the end, where it directs agents to use get_search for ticker-level market conditions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives multiple concrete example questions that map directly to when this tool should be used, such as 'what regime is the market in?' and 'is the yield curve inverted?'. It also explicitly names an alternative: for tickers under a market condition, use get_search instead, and mentions get_schema for field discovery.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.