Skip to main content
Glama

Average True Range (ATR)

GetAverageTrueRange
Read-only

Average True Range (ATR) for a stock. Wilder's volatility measure built from the True Range (max of high-low, |high-prev_close|, |low-prev_close|) and smoothed recursively. Higher ATR means wider daily moves; commonly used for position sizing and stop placement. ATR is denominated in the stock's price units (USD for a US listing, the listing's own quote unit otherwise). The smoothing is warmed up on price history fetched before startDate, so values do not depend on the requested range's left edge.

Input Schema

NameRequiredDescriptionDefault
periodNoSmoothing window (default: 14)
tickerYesStock ticker symbol (e.g., AAPL, MSFT). Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted. A listing on another exchange is MIC:TICKER (XPAR:AIR).
endDateNoEnd date in YYYY-MM-DD format (defaults to latest available)
startDateNoStart date in YYYY-MM-DD format (defaults to 6 months ago)
maxResultsNoMaximum number of records to return (default: 60, max: 500); the newest rows are kept and listed newest first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / ticker / description
      Previous value: -"Stock ticker symbol (e.g., AAPL, MSFT). Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted."New value: +"Stock ticker symbol (e.g., AAPL, MSFT). Class shares use a dash (BRK-B); the dot form (BRK.B) is also accepted. A listing on another exchange is MIC:TICKER (XPAR:AIR)."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: results are denominated in the listing's quote unit, and smoothing is warmed up on pre-startDate history so values are independent of the requested range's left edge.

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?

Front-loads the definition, then interpretation, then units, then a subtle warm-up caveat. Dense but each sentence earns its place; the parenthetical formula is slightly verbose for a definition field but still informative.

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

Completeness4/5

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

For a single-indicator read tool with a fully-documented schema and no output schema, the description covers computation, interpretation, unit denomination, and warm-up semantics. It omits what the returned records look like (a date-ordered ATR series) and pagination/range limits, but those are largely implied by maxResults and the date params.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents ticker formats, date defaults, period, and maxResults ordering. The description's warm-up note implicitly clarifies startDate behavior, but adds no new parameter-level syntax beyond the schema baseline.

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?

States a specific verb+resource (ATR computation for a stock), gives the underlying formula and Wilder smoothing, and is clearly distinguishable from sibling technical-indicator tools like GetBollingerBands and GetStochasticOscillator.

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

Usage Guidelines3/5

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

The description supplies implied usage context ('commonly used for position sizing and stop placement'), which helps an agent decide relevance, but it never states when to prefer this over siblings or what conditions select it. No explicit alternatives or exclusions.

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.

Directories

Listed in ChatGPT · Equibles

Last observed