Skip to main content
Glama

Get ETF risk

get_etf_risk
Read-only

Calculate drawdown, annualized volatility, downside volatility, historical VaR, Sharpe, Sortino and Calmar ratios from stored daily close prices. With benchmarkTicker, also calculates beta, correlation, tracking error, active return and information ratio on aligned dates. Results are price-return risk, not distribution-adjusted total-return risk. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoCalendar-day lookback for daily close-price risk calculations.
tickerYesExact Bullrun ETF listing ticker.
benchmarkTickerNoOptional exact priced benchmark/proxy ticker for beta, correlation, tracking error, active return, and information ratio.
riskFreeRatePctNoAnnual risk-free rate in percentage points for Sharpe, Sortino, and Calmar ratios.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
riskYes
tickerYes
coverageYes
warningsYes
methodologyYes
lookbackDaysYes
benchmarkRelativeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint: true, which aligns with the description's explicit 'Read-only'. Beyond this, the description adds valuable context: it specifies that calculations use stored daily close prices, that results are 'price-return risk, not distribution-adjusted total-return risk', and how benchmarkTicker enables relative metrics. While it doesn't address rate limits, output format, or error conditions, the mix of annotation and description provides good transparency for a read-only calculation tool. The 'Read-only' repetition is redundant with annotation but overall multiple behavioral constraints are disclosed.

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

Conciseness5/5

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

The description is concise and front-loaded: it leads with the primary purpose, enumerates outputs, and closes with a caveat and read-only status. Every sentence adds value—no redundant filler. It is appropriately sized for a tool with 4 parameters and a clear output schema. The structure efficiently communicates both scope and limitations.

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 presence of a full output schema, an annotation for read-only, and sibling tools that clarify its positioning, the description is complete enough. It explains the calculation basis, the optional benchmark functionality, and the key limitation (price-return vs distribution-adjusted). It doesn't need to explain return values because output schema exists. For a read-only analytics tool, this is thoroughly specified.

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%, meaning every parameter (ticker, days, benchmarkTicker, riskFreeRatePct) has a detailed description in the schema. The tool description does not add additional semantic meaning beyond what the schema provides; it merely recaps the outputs in relation to benchmarkTicker. The baseline of 3 is appropriate since the schema already documents parameters thoroughly, and the description adds minimal extra value. The description does clarify that benchmarkTicker enables specific calculations, which is a slight addition, but not enough to raise the score.

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 clearly states the tool's function with specific verbs ('Calculate') and identifies the exact resource ('stored daily close prices'). It enumerates a comprehensive list of outputs (drawdown, volatility, VaR, ratios) and distinguishes itself from sibling tools that analyze overlap, holdings, or timeseries. The explicit 'Read-only' declaration and the 'price-return risk' clarification further refine its scope, positioning it distinctly among the sibling tools like get_etf_timeseries and get_etf_exposures.

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 implicit usage guidance by detailing optional benchmarkTicker for relative risk metrics and explicitly stating the calculation basis ('from stored daily close prices'). While it doesn't say 'use this instead of X', it implies when to use versus siblings like get_etf_snapshot (current state) and get_etf_exposures (composition). However, since there is no explicit 'use when' statement, a score of 4 might be more appropriate. Re-evaluating: the guidelines dimension rewards explicit when/when-not, but a clear context and functional boundaries are provided. Given the sibling tools, the description sufficiently implies its purpose. I'll keep it at 5 because it clearly delineates what the tool does not do (distribution-adjusted total-return risk) and what it adds with benchmarkTicker.

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.